You can sign up to get a daily email of our articles, see the Mailing List page.
We do often include affiliate links to earn us some pennies. See more here.

The new Linux port of Metro Exodus sadly came with a rough launch but for AMD GPU owners it's set to get more playable, with a fix in the Mesa RADV driver now merged. I've been following this quite closely, first posting about it on Twitter yesterday after being told about it.

What's the issue then? Well, this Vulkan port caused a lot of RAM to be eaten from a leak, it got real hungry really fast. A bug report was made with Mesa on April 16, and as of April 19 the fix was merged in - a pretty amazing turn around and shows again the power of open source drivers for solving issues.

Since it's merged it will for sure be in the Mesa 21.2 release, and should also be backported to the next stable update to the current Mesa drivers - hopefully the upcoming Mesa 21.1 release too which would be ideal.

For NVIDIA users, making sure your drivers are up to date is a good idea. My own NVIDIA system seemed more stable with Metro Exodus on the latest 465.24.02 release. There's still crashes in the desert area, but after plenty of research this appears to be very common on even Windows. Adjusting graphical settings down to medium for a bit gets around the areas to cause the crashes.

Article taken from GamingOnLinux.com.
26 Likes
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly came back to check on the progress of Linux until Ubuntu appeared on the scene and it helped me to really love it. You can reach me easily by emailing GamingOnLinux directly. Find me on Mastodon.
See more from me
The comments on this article are closed.
48 comments
Page: «3/5»
  Go to:

StalePopcorn Apr 21, 2021
I wonder if this is why Manjaro released the Vulkan mesa driver updates on the 17th
CFWhitman Apr 21, 2021
Quoting: DebianUserHmmm, i think i have to drop Debian... MESA is the only thing problematic (i can have recent packets via flathub integrated to gnome-software, but MESA is another story).
Maybe Ubuntu... any advice on a good Debian-based distribution, maybe rolling release ?
I can debootsrap on my old Windows partition (not booted from 2017).

One of the least troublesome ways to benefit from the latest updates for video games while still keeping everything easy and on supported versions for Steam is to run the latest LTS version of an Ubuntu variant along with a PPA for mesa (kisak or ernstp is good) and the Mainline utility to update the kernel to the most recent one released by the Ubuntu team.

It's not the only way, but it's an effective way.
DebianUser Apr 21, 2021
Quoting: johndoe
Quoting: DebianUser
Quoting: johndoe
Quoting: DebianUser
Quoting: johndoe
Quoting: DebianUserHmmm, i think i have to drop Debian... MESA is the only thing problematic (i can have recent packets via flathub integrated to gnome-software, but MESA is another story).
Maybe Ubuntu... any advice on a good Debian-based distribution, maybe rolling release ?
I can debootsrap on my old Windows partition (not booted from 2017).

I use Debian for decades and its simply the best for me.
You have to compile Mesa... its easy and you can switch to any driver version you want by environment settings, symbolic links, ldconfig, etc... so flexible.
This way you can have many drivers installed... like 20.3.1, 20.3.2, 20.3.4... 21.0.1, 21.0.2... you get it.

Maybe I should write a little docu.

Oh, if you write a doc, ill be your first reader !

OK, stay tuned. Give some time...

Thank you very much, i have tried right now:
Install libdrm and meson from unstable with apt-pinning... but steam:i386 (and other packages) is linked to the default libdrm-common version and is uninstalled in the process.
I understand i have to set a prefix in meson, but i also have to update llvm.
After all that, i think i have understand that i have to use LD_LIBRARY_PATH and LIBGL_DRIVERS_PATH to select another MESA version.
I have reinstalled default Buster libdrm(-*) and all packages removed earlier, i'm returned to square one.
All that to say i'm not asking without searching first, i think i'm on the right way, but it is definitely out of my knowledge.
Don't hesitate to PM me when you have news on the doc ! :D

Here comes the first part... compile 64bit driver. 32bit will follow.
https://www.goodbytez.de/howtos/compile-mesa-debian-bullseye
It's a simple text file on my web server you can download or simply open in your browser.

I would not recommend mixing/pinning packages... you will run into problems one day.
Oh, you use Buster... than I have bad news for you... I've run into the same situation because of Metro Exodus.
This game is compiled against libc6 2.29 but Buster ships with 2.28. You NEED to update to Bullseye when you want to play the "native" Linux version. All programs/libs in a linux system are compiled against libc6 (GlibC) and there are no Buster backports for that.
Debian Bullseye is currently in soft-freeze and I can recommend it. It's already "rock" solid.

Wow i was not expecting the doc this soon, thank you.
Yeah i dont want a FrankenDebian too, i keep track of what i do to undo stuff if i have.
I have already tested FrankenDebian some years ago with deb-multimedia, it was working fine, but at the end it was a mess, to upgrade distro i was obliged to remove this repository, and removing it was breaking things. I finally managed to repair that without reinstalling, but it was a pain and a good lesson.
I was thinking the FrankenDebian way was the only way to have Debian with last MESA: this is why my first choice was to change my distribution.

I'm on Buster, but upgrading to Bullseye is not problematic, some games (Dying Light) have already forced me to upgrade sonner to next version (or it was AMD).
Yes i have the """best""" case possible: AMD card, and it is not the worse, it is a CGN1.0/1.1 card (i must activate experimental features in kernel command line to get my card working...)

Some info on my current system:

$ glxinfo | grep ^direct
direct rendering: Yes

$ glxinfo | grep 'renderer string'
OpenGL renderer string: AMD Radeon HD 7900 Series (TAHITI, DRM 3.27.0, 4.19.0-16-amd64, LLVM 7.0.1)

$ LIBGL_DEBUG=verbose glxinfo 2>&1 >/dev/null | grep so$
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/tls/radeonsi_dri.so
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so

$ glxinfo | grep Mesa
client glx vendor string: Mesa Project and SGI
OpenGL core profile version string: 4.5 (Core Profile) Mesa 18.3.6
OpenGL version string: 4.5 (Compatibility Profile) Mesa 18.3.6
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 18.3.6

I think i have to adapt the meson build line (i dont see radeonsi stuff) ?

Thank you again, i try this as soon as possible !


EDIT: I'm on BullsEye now :D


Last edited by DebianUser on 21 April 2021 at 3:44 pm UTC
Eike Apr 21, 2021
View PC info
  • Supporter Plus
Quoting: johndoeMaybe I should write a little docu.

Docu is for sure something that Debian could learn from Arch. I often profit from the Arch wiki!
CFWhitman Apr 21, 2021
Quoting: DebianUser
Quoting: johndoe
Quoting: DebianUser
Quoting: johndoe
Quoting: DebianUser
Quoting: johndoe
Quoting: DebianUserHmmm, i think i have to drop Debian... MESA is the only thing problematic (i can have recent packets via flathub integrated to gnome-software, but MESA is another story).
Maybe Ubuntu... any advice on a good Debian-based distribution, maybe rolling release ?
I can debootsrap on my old Windows partition (not booted from 2017).

I use Debian for decades and its simply the best for me.
You have to compile Mesa... its easy and you can switch to any driver version you want by environment settings, symbolic links, ldconfig, etc... so flexible.
This way you can have many drivers installed... like 20.3.1, 20.3.2, 20.3.4... 21.0.1, 21.0.2... you get it.

Maybe I should write a little docu.

Oh, if you write a doc, ill be your first reader !

OK, stay tuned. Give some time...

Thank you very much, i have tried right now:
Install libdrm and meson from unstable with apt-pinning... but steam:i386 (and other packages) is linked to the default libdrm-common version and is uninstalled in the process.
I understand i have to set a prefix in meson, but i also have to update llvm.
After all that, i think i have understand that i have to use LD_LIBRARY_PATH and LIBGL_DRIVERS_PATH to select another MESA version.
I have reinstalled default Buster libdrm(-*) and all packages removed earlier, i'm returned to square one.
All that to say i'm not asking without searching first, i think i'm on the right way, but it is definitely out of my knowledge.
Don't hesitate to PM me when you have news on the doc ! :D

Here comes the first part... compile 64bit driver. 32bit will follow.
https://www.goodbytez.de/howtos/compile-mesa-debian-bullseye
It's a simple text file on my web server you can download or simply open in your browser.

I would not recommend mixing/pinning packages... you will run into problems one day.
Oh, you use Buster... than I have bad news for you... I've run into the same situation because of Metro Exodus.
This game is compiled against libc6 2.29 but Buster ships with 2.28. You NEED to update to Bullseye when you want to play the "native" Linux version. All programs/libs in a linux system are compiled against libc6 (GlibC) and there are no Buster backports for that.
Debian Bullseye is currently in soft-freeze and I can recommend it. It's already "rock" solid.

Wow i was not expecting the doc this soon, thank you.
Yeah i dont want a FrankenDebian too, i keep track of what i do to undo stuff if i have.
I have already tested FrankenDebian some years ago with deb-multimedia, it was working fine, but at the end it was a mess, to upgrade distro i was obliged to remove this repository, and removing it was breaking things. I finally managed to repair that without reinstalling, but it was a pain and a good lesson.
I was thinking the FrankenDebian way was the only way to have Debian with last MESA: this is why my first choice was to change my distribution.

I'm on Buster, but upgrading to Bullseye is not problematic, some games (Dying Light) have already forced me to upgrade sonner to next version (or it was AMD).
Yes i have the """best""" case possible: AMD card, and it is not the worse, it is a CGN1.0/1.1 card (i must activate experimental features in kernel command line to get my card working...)

Some info on my current system:

$ glxinfo | grep ^direct
direct rendering: Yes

$ glxinfo | grep 'renderer string'
OpenGL renderer string: AMD Radeon HD 7900 Series (TAHITI, DRM 3.27.0, 4.19.0-16-amd64, LLVM 7.0.1)

$ LIBGL_DEBUG=verbose glxinfo 2>&1 >/dev/null | grep so$
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/tls/radeonsi_dri.so
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so

$ glxinfo | grep Mesa
client glx vendor string: Mesa Project and SGI
OpenGL core profile version string: 4.5 (Core Profile) Mesa 18.3.6
OpenGL version string: 4.5 (Compatibility Profile) Mesa 18.3.6
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 18.3.6

I think i have to adapt the meson build line (i dont see radeonsi stuff) ?

Thank you again, i try this as soon as possible !

I would just like to note that the older your card is, the less important a newer kernel is likely to be. It won't hurt anything to run the latest kernel (it at least shouldn't), but it becomes less likely that driver changes will significantly affect your card's performance. Mesa is still important, though.
johndoe Apr 22, 2021
Quoting: DebianUser
Quoting: johndoe
Quoting: DebianUser
Quoting: johndoe
Quoting: DebianUser
Quoting: johndoe
Quoting: DebianUserHmmm, i think i have to drop Debian... MESA is the only thing problematic (i can have recent packets via flathub integrated to gnome-software, but MESA is another story).
Maybe Ubuntu... any advice on a good Debian-based distribution, maybe rolling release ?
I can debootsrap on my old Windows partition (not booted from 2017).

I use Debian for decades and its simply the best for me.
You have to compile Mesa... its easy and you can switch to any driver version you want by environment settings, symbolic links, ldconfig, etc... so flexible.
This way you can have many drivers installed... like 20.3.1, 20.3.2, 20.3.4... 21.0.1, 21.0.2... you get it.

Maybe I should write a little docu.

Oh, if you write a doc, ill be your first reader !

OK, stay tuned. Give some time...

Thank you very much, i have tried right now:
Install libdrm and meson from unstable with apt-pinning... but steam:i386 (and other packages) is linked to the default libdrm-common version and is uninstalled in the process.
I understand i have to set a prefix in meson, but i also have to update llvm.
After all that, i think i have understand that i have to use LD_LIBRARY_PATH and LIBGL_DRIVERS_PATH to select another MESA version.
I have reinstalled default Buster libdrm(-*) and all packages removed earlier, i'm returned to square one.
All that to say i'm not asking without searching first, i think i'm on the right way, but it is definitely out of my knowledge.
Don't hesitate to PM me when you have news on the doc ! :D

Here comes the first part... compile 64bit driver. 32bit will follow.
https://www.goodbytez.de/howtos/compile-mesa-debian-bullseye
It's a simple text file on my web server you can download or simply open in your browser.

I would not recommend mixing/pinning packages... you will run into problems one day.
Oh, you use Buster... than I have bad news for you... I've run into the same situation because of Metro Exodus.
This game is compiled against libc6 2.29 but Buster ships with 2.28. You NEED to update to Bullseye when you want to play the "native" Linux version. All programs/libs in a linux system are compiled against libc6 (GlibC) and there are no Buster backports for that.
Debian Bullseye is currently in soft-freeze and I can recommend it. It's already "rock" solid.

Wow i was not expecting the doc this soon, thank you.
Yeah i dont want a FrankenDebian too, i keep track of what i do to undo stuff if i have.
I have already tested FrankenDebian some years ago with deb-multimedia, it was working fine, but at the end it was a mess, to upgrade distro i was obliged to remove this repository, and removing it was breaking things. I finally managed to repair that without reinstalling, but it was a pain and a good lesson.
I was thinking the FrankenDebian way was the only way to have Debian with last MESA: this is why my first choice was to change my distribution.

I'm on Buster, but upgrading to Bullseye is not problematic, some games (Dying Light) have already forced me to upgrade sonner to next version (or it was AMD).
Yes i have the """best""" case possible: AMD card, and it is not the worse, it is a CGN1.0/1.1 card (i must activate experimental features in kernel command line to get my card working...)

Some info on my current system:

$ glxinfo | grep ^direct
direct rendering: Yes

$ glxinfo | grep 'renderer string'
OpenGL renderer string: AMD Radeon HD 7900 Series (TAHITI, DRM 3.27.0, 4.19.0-16-amd64, LLVM 7.0.1)

$ LIBGL_DEBUG=verbose glxinfo 2>&1 >/dev/null | grep so$
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/tls/radeonsi_dri.so
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so

$ glxinfo | grep Mesa
client glx vendor string: Mesa Project and SGI
OpenGL core profile version string: 4.5 (Core Profile) Mesa 18.3.6
OpenGL version string: 4.5 (Compatibility Profile) Mesa 18.3.6
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 18.3.6

I think i have to adapt the meson build line (i dont see radeonsi stuff) ?

Thank you again, i try this as soon as possible !


EDIT: I'm on BullsEye now :D

Great! I will finish the howto today evening.
johndoe Apr 22, 2021
Quoting: DebianUser
Quoting: johndoe
Quoting: DebianUser
Quoting: johndoe
Quoting: DebianUser
Quoting: johndoe
Quoting: DebianUserHmmm, i think i have to drop Debian... MESA is the only thing problematic (i can have recent packets via flathub integrated to gnome-software, but MESA is another story).
Maybe Ubuntu... any advice on a good Debian-based distribution, maybe rolling release ?
I can debootsrap on my old Windows partition (not booted from 2017).

I use Debian for decades and its simply the best for me.
You have to compile Mesa... its easy and you can switch to any driver version you want by environment settings, symbolic links, ldconfig, etc... so flexible.
This way you can have many drivers installed... like 20.3.1, 20.3.2, 20.3.4... 21.0.1, 21.0.2... you get it.

Maybe I should write a little docu.

Oh, if you write a doc, ill be your first reader !

OK, stay tuned. Give some time...

Thank you very much, i have tried right now:
Install libdrm and meson from unstable with apt-pinning... but steam:i386 (and other packages) is linked to the default libdrm-common version and is uninstalled in the process.
I understand i have to set a prefix in meson, but i also have to update llvm.
After all that, i think i have understand that i have to use LD_LIBRARY_PATH and LIBGL_DRIVERS_PATH to select another MESA version.
I have reinstalled default Buster libdrm(-*) and all packages removed earlier, i'm returned to square one.
All that to say i'm not asking without searching first, i think i'm on the right way, but it is definitely out of my knowledge.
Don't hesitate to PM me when you have news on the doc ! :D

Here comes the first part... compile 64bit driver. 32bit will follow.
https://www.goodbytez.de/howtos/compile-mesa-debian-bullseye
It's a simple text file on my web server you can download or simply open in your browser.

I would not recommend mixing/pinning packages... you will run into problems one day.
Oh, you use Buster... than I have bad news for you... I've run into the same situation because of Metro Exodus.
This game is compiled against libc6 2.29 but Buster ships with 2.28. You NEED to update to Bullseye when you want to play the "native" Linux version. All programs/libs in a linux system are compiled against libc6 (GlibC) and there are no Buster backports for that.
Debian Bullseye is currently in soft-freeze and I can recommend it. It's already "rock" solid.

Wow i was not expecting the doc this soon, thank you.
Yeah i dont want a FrankenDebian too, i keep track of what i do to undo stuff if i have.
I have already tested FrankenDebian some years ago with deb-multimedia, it was working fine, but at the end it was a mess, to upgrade distro i was obliged to remove this repository, and removing it was breaking things. I finally managed to repair that without reinstalling, but it was a pain and a good lesson.
I was thinking the FrankenDebian way was the only way to have Debian with last MESA: this is why my first choice was to change my distribution.

I'm on Buster, but upgrading to Bullseye is not problematic, some games (Dying Light) have already forced me to upgrade sonner to next version (or it was AMD).
Yes i have the """best""" case possible: AMD card, and it is not the worse, it is a CGN1.0/1.1 card (i must activate experimental features in kernel command line to get my card working...)

Some info on my current system:

$ glxinfo | grep ^direct
direct rendering: Yes

$ glxinfo | grep 'renderer string'
OpenGL renderer string: AMD Radeon HD 7900 Series (TAHITI, DRM 3.27.0, 4.19.0-16-amd64, LLVM 7.0.1)

$ LIBGL_DEBUG=verbose glxinfo 2>&1 >/dev/null | grep so$
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/tls/radeonsi_dri.so
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so

$ glxinfo | grep Mesa
client glx vendor string: Mesa Project and SGI
OpenGL core profile version string: 4.5 (Core Profile) Mesa 18.3.6
OpenGL version string: 4.5 (Compatibility Profile) Mesa 18.3.6
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 18.3.6

I think i have to adapt the meson build line (i dont see radeonsi stuff) ?

Thank you again, i try this as soon as possible !


EDIT: I'm on BullsEye now :D

The docu for 32bit build is finished.
I guess you want to install "master" to test the fix. Could/can you configure the 64bit build with meson... step A)5) in my docu? I'm pretty sure that you need newer libdrm or/and LLVM, right?
Let me know and I'm glad to help if needed.
tuubi Apr 23, 2021
View PC info
  • Supporter
In case anyone is interested, I just noticed that the latest stable Mesa in Kisak's PPA (21.0.3~kisak3) includes this fix.


Last edited by tuubi on 23 April 2021 at 7:50 am UTC
DebianUser Apr 23, 2021
Quoting: johndoe
Quoting: DebianUser
Quoting: johndoe
Quoting: DebianUser
Quoting: johndoe
Quoting: DebianUser
Quoting: johndoe
Quoting: DebianUserHmmm, i think i have to drop Debian... MESA is the only thing problematic (i can have recent packets via flathub integrated to gnome-software, but MESA is another story).
Maybe Ubuntu... any advice on a good Debian-based distribution, maybe rolling release ?
I can debootsrap on my old Windows partition (not booted from 2017).

I use Debian for decades and its simply the best for me.
You have to compile Mesa... its easy and you can switch to any driver version you want by environment settings, symbolic links, ldconfig, etc... so flexible.
This way you can have many drivers installed... like 20.3.1, 20.3.2, 20.3.4... 21.0.1, 21.0.2... you get it.

Maybe I should write a little docu.

Oh, if you write a doc, ill be your first reader !

OK, stay tuned. Give some time...

Thank you very much, i have tried right now:
Install libdrm and meson from unstable with apt-pinning... but steam:i386 (and other packages) is linked to the default libdrm-common version and is uninstalled in the process.
I understand i have to set a prefix in meson, but i also have to update llvm.
After all that, i think i have understand that i have to use LD_LIBRARY_PATH and LIBGL_DRIVERS_PATH to select another MESA version.
I have reinstalled default Buster libdrm(-*) and all packages removed earlier, i'm returned to square one.
All that to say i'm not asking without searching first, i think i'm on the right way, but it is definitely out of my knowledge.
Don't hesitate to PM me when you have news on the doc ! :D

Here comes the first part... compile 64bit driver. 32bit will follow.
https://www.goodbytez.de/howtos/compile-mesa-debian-bullseye
It's a simple text file on my web server you can download or simply open in your browser.

I would not recommend mixing/pinning packages... you will run into problems one day.
Oh, you use Buster... than I have bad news for you... I've run into the same situation because of Metro Exodus.
This game is compiled against libc6 2.29 but Buster ships with 2.28. You NEED to update to Bullseye when you want to play the "native" Linux version. All programs/libs in a linux system are compiled against libc6 (GlibC) and there are no Buster backports for that.
Debian Bullseye is currently in soft-freeze and I can recommend it. It's already "rock" solid.

Wow i was not expecting the doc this soon, thank you.
Yeah i dont want a FrankenDebian too, i keep track of what i do to undo stuff if i have.
I have already tested FrankenDebian some years ago with deb-multimedia, it was working fine, but at the end it was a mess, to upgrade distro i was obliged to remove this repository, and removing it was breaking things. I finally managed to repair that without reinstalling, but it was a pain and a good lesson.
I was thinking the FrankenDebian way was the only way to have Debian with last MESA: this is why my first choice was to change my distribution.

I'm on Buster, but upgrading to Bullseye is not problematic, some games (Dying Light) have already forced me to upgrade sonner to next version (or it was AMD).
Yes i have the """best""" case possible: AMD card, and it is not the worse, it is a CGN1.0/1.1 card (i must activate experimental features in kernel command line to get my card working...)

Some info on my current system:

$ glxinfo | grep ^direct
direct rendering: Yes

$ glxinfo | grep 'renderer string'
OpenGL renderer string: AMD Radeon HD 7900 Series (TAHITI, DRM 3.27.0, 4.19.0-16-amd64, LLVM 7.0.1)

$ LIBGL_DEBUG=verbose glxinfo 2>&1 >/dev/null | grep so$
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/tls/radeonsi_dri.so
libGL: OpenDriver: trying /usr/lib/x86_64-linux-gnu/dri/radeonsi_dri.so

$ glxinfo | grep Mesa
client glx vendor string: Mesa Project and SGI
OpenGL core profile version string: 4.5 (Core Profile) Mesa 18.3.6
OpenGL version string: 4.5 (Compatibility Profile) Mesa 18.3.6
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 18.3.6

I think i have to adapt the meson build line (i dont see radeonsi stuff) ?

Thank you again, i try this as soon as possible !


EDIT: I'm on BullsEye now :D

The docu for 32bit build is finished.
I guess you want to install "master" to test the fix. Could/can you configure the 64bit build with meson... step A)5) in my docu? I'm pretty sure that you need newer libdrm or/and LLVM, right?
Let me know and I'm glad to help if needed.

Thank you !
You are right, i have try master and i need libdrm 2.4.105 (2.4.104 in BullsEye).
I'm stuck at this part since i dont know how to test this library without breaking my system.
We will continue this in PM to avoid comment flood. :)
OlliC Apr 29, 2021
Anybody knows which Mesa version includes this fix? I am on Fedora an waiting.
While you're here, please consider supporting GamingOnLinux on:

Reward Tiers: Patreon. Plain Donations: PayPal.

This ensures all of our main content remains totally free for everyone! Patreon supporters can also remove all adverts and sponsors! Supporting us helps bring good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
The comments on this article are closed.