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!
Reward Tiers:
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!
Login / Register
- NVIDIA announce a native Linux app for GeForce NOW
- KDE Plasma 6.6 will finally stop the system sleeping when gaming with a controller
- NVIDIA announce DLSS 4.5 with Dynamic Multi Frame Generation, plus DLSS Updater gets Linux support
- The excellent free Command & Conquer - Combined Arms gets more missions and co-op
- Mesa RADV driver on Linux looks set for a big ray tracing performance boost
- > See more over 30 days here
- New Desktop Screenshot Thread
- Klaas - Weekend Players' Club 2026-01-09
- Klaas - A succesfull Windows-Ubuntu migration the story
- LoudTechie - A New Game Screenshots Thread
- Hamish - Will you buy the new Steam Frame?
- Johnologue - See more posts
How to setup OpenMW for modern Morrowind on Linux / SteamOS and Steam Deck
How to install Hollow Knight: Silksong mods on Linux, SteamOS and Steam Deck
View PC info
______________
Just a reminder, I made this guide a while back which can be useful for some.
View PC info
Luckily, llvm developers provided these repositories with fresh nightly packages: http://apt.llvm.org
For Debian testing I used one for unstable, and it worked well. For instance, for building Mesa you can install:
llvm-7-devlibclang-7-dev
Debian packages commonly give snapshot versions simple numbers like 7, while release versions use 6.0 and the like.
After you build Mesa and place it in your custom directory, it's also a good idea to extract .so files from the current libllvm-<ver> snapshot package and place it in the same directory. This way your bundle will be consistent until your next Mesa building.
View PC info
So far I'm using
--enable-llvm-shared-libs=noI guess soon I'll need to switch to Meson anyway. Debian will need to catch up.
View PC info
View PC info
I already explained reasons why I don't want to install custom Mesa from repos - it replaces the default one. Of course I could go ahead and make my own Debian packages for custom installation, that don't interfere with default Mesa, but that's an extra step. May be I'll do that at some point.
View PC info
View PC info
View PC info
View PC info
View PC info
That can also depend on how destabilizing new libdrm is. I.e. if new libdrm is stable enough, it might be OK replace it globally. But it would be better to figure out how to do it in the same Mesa above is used, i.e. isolated usage.
View PC info
If you want newer Mesa than one in buster, you can also install Mesa packages from experimental. It has 19.0.2. See: https://tracker.debian.org/pkg/mesa
That's what I use for 32-bit anyway, due to mess of cross compiling it.
View PC info
https://gist.github.com/shmerl/f4e5f76871239158cf083e37c5da56f4
Note, you need to have llvm repo configured, for using latest llvm snapshot.
View PC info
So I decided to figure out how to update libdrm from upstream. It's not that hard apparently.
Debian still has libdrm 2.4.97 while Mesa master now requires 2.4.99. So here is what you can do:
wget https://dri.freedesktop.org/libdrm/libdrm-2.4.99.tar.gz -O $HOME/downloads/libdrm-2.4.99.tar.gz
mkdir -p $HOME/build/libdrm
cd $HOME/build/libdrm
sudo apt-get build-dep libdrm
apt-get source libdrm
cd libdrm-2.4.97
uupdate $HOME/downloads/libdrm-2.4.99.tar.gz
cd ../libdrm-2.4.99
dpkg-buildpackage -us -uc -nc
You'll need to add some missing symbol definitions along the way to match new upstream. The build failures shows files that differ, so just add everything new to the outdated files.
To build 32-bit variant (you'll need that if you are using 32-bit Mesa), use:
apt-get build-dep -a i386 libdrmdpkg-buildpackage -a i386 -us -uc -nc
That might require installing some cross gcc packages manually, since apparently build-dep -a i386 is not enough.
Also, when installing the result, I had to use dpkg --force-overwrite -i to work around changelog
conflicts in packages. There is probably some easy way to avoid it, but I didn't drill in enough to find it.
View PC info
The method works similar to the above example with libdrm, except applied to Mesa. Use the source from:
https://gitlab.freedesktop.org/mesa/mesa/-/archive/master/mesa-master.tar.bz2
uupdate and dpkg-buildpackage do all the heavy lifting. A few tweaks are needed to debian/control, debian/rules and debian/libegl1-mesa-dev.install like to use libllvm-9-dev (instead of 8) and some other cases needed for newer Mesa, and in the end it works great!
I didn't bother building 32-bit one, since it's a lot more difficult than with libdrm on 64-bit system without having a whole 32-bit environment (VM, lxc, etc.) set up.
View PC info
View PC info
Temporary fix until it's fixed upstream:
diff --git a/meson.build b/meson.buildindex 29d7981d13d..ce230f33875 100644
--- a/meson.build
+++ b/meson.build
@@ -1255,7 +1255,7 @@ if with_gallium_opencl
'lto', 'option', 'objcarcopts', 'profiledata',
]
endif
-if with_gallium_opencl or with_gallium_softpipe
+if with_gallium_opencl or with_gallium_softpipe or with_gallium_radeonsi or with_gallium_r600
llvm_optional_modules += ['coroutines']
endif
View PC info
View PC info
Then apply the patch, and run it adding these couple of flags to the ones you are usually setting:
update_sources=false reset_sources=false .... ./mesa_debian_build.shI'll later update the script to handle manual patches better.
View PC info
Thanks!