Disclaimer: Someone in the comments pointed out that this affects Nvidia only. I don’t have AMD, so I can’t verify if that’s correct, but likely this is only for fellow sufferers of the Green Nightmare.
I had this issue for months. Randomly, the performance for games would be abysmal (I’m talking 5 FPS in 10yo indie 3D titles). Then it would randomly work again for a few days or weeks until it would become terrible again.
Turns out, the reason for that was that flatpak appears to cause trouble when the system GPU driver is updated, but flatpak update isn’t run. So when I did dnf update
(and it updated the Nvidia driver) without running flatpak update
afterwards, the performance would suck, until something (or I) ran flatpak update
again.
So if the performance in games launched through a flatpak version of a launcher like heroic sucks, run flatpak update
.
And if that doesn’t work, run
flatpak install flathub org.freedesktop.Platform.GL.nvidia-575-64-05 org.freedesktop.Platform.GL32.nvidia-575-64-05
(Replace the version with your Nvidia driver version, and in case of AMD, google whatever the appropriate way is to install the drivers for flatpak.)
Note: This issue only applies to Nvidia, AMD users can have a completely different versions of Mesa installed on their system and in Flatpak. Nvidia drivers are closed source and they ship both the kernel and userspace drivers as one with no backwards compatibility so Flatpak must always use the exact same version as the system.
Praise AMD
I just built a new system and named it gloria_allred because it’s the first time in forever that I’ve used AMD cpu and gpu, so it’s all red.
Sadly, there’s close to no AMD dGPU laptops, at least in my area. And the 3 or so models that exist are wildly more expensive…
Part of the reason for that is because their iGPUs are actually worth gaming on, see: Steam Deck and both the PS5 and Xbox Series consoles.
It’s so-so, tbh.
I looked up the best AMD iGPU, and that seems to be the Radeon 8060S. That one is, from what I can see, about on par with the 4070 laptop. In gaming, it’s a bit worse. In other workloads, it’s a bit better.
But the cheapest laptop I can find with an 8060S is some HP Zbook Ultra G1a for €2800. I got my Lenovo LOQ with a 4070 for €900.
AMD has learned that laptop gamers don’t give a shit about anything that’s not Nvidia. Their dGPU laptop solutions were never desirable for the general market, so they’ve instead started focussing a lot more on stronger APUs.
It’s (almost) always Nvidia.
In this case the issue is with 100% on flatpaks side that they decide to ship and download the entire nvidia driver again instead of using the one of the host. Note both snap and appimage do not do this, they use the nvidia driver of the host.
There is no reason to have to download the entire nvidia driver again, distros cannot modify it as it is against its license.
Also even outside of nvidia you are still going to have troubles in games with flatpak if what you are using requires a recent version of mesa
It’s (almost) always Nvidia.
A philosopher once said:
This is because flatpak has a layer of isolation and installs its own copy of the drivers. If your system driver gets updated, then the flatpak one isn’t matching.
If you update your system, you should always update everything, including flatpak.
Are you saying that when updating your system with the GUI system updater that the flatpak update will be in there too? Or do you still need to run flatpak update in terminal seperate?
they are just saying that if you update your system packages, update your flatpak packages too. It’s all distro dependent in regard to how you achieve that. I personally use topgrade in my terminal, and it runs all the update commands (pacman, aur, fwupd, flatpak, gnome shell extensions, vs code extensions) in order.
Gotcha. Thank you
I have an alias for ‘up’ that runs an apt update and full-upgrade, flatpak upgrade, and snap upgrade, plus flushes old cache.
How many weeks usually before the flatpak authors update?
Idk whether there’s delay, but this also applies to minor version changes of Nvidia drivers. They must match exactly.
In my experience, less than 3 days
What really tripped me up is that apparently either flatpak, heroic or proton has some kind of software rendering mode that works but is crazy slow. I expected driver problems to cause everything to just not work at all. Instead, everything slowed to a crawl and I couldn’t figure out why.
Yeah I also thought the same thing. It’s interesting that it still works, just really poorly.
To simplify this you might also try something like topgrade.
It does system updates, flatpak updates and other stuff all at once.
Nice project, didn’t know that one. Thanks!
Oh man, I knew it had something to do with the Flatpack Nvidia driver packages. This happened to me several times with Heroic trying to play a game that wasn’t even recent by any means.
Yeah, there I am with my 4070, can’t even run Bioshock 1. The peak was when I tried running a very simple indie game from 2011 and it only ran with ~5 fps.
Truns out something in the chain (probably proton) seems to have a software rendering mode that it falls back to if the GPU driver doesn’t work.
Was a bit tricky to debug since all the GPU test tools by default don’t run in flatpak and thus all of the worked fine.
I wonder if the AppImage is any better?
AppImage doesn’t have Flatpak’s sandbox feature, so it probably shouldn’t be affected.
At this point you might as well just save the headache and install Heroic directly
Would have been better, but Fedora has Heroic only as Flatpak in their repos. At least as far as I can see.
My bad, I should have checked before commenting 🤦♂️
The official Github does list a COPR repo but it seems the last build failed 2 months ago, so it only has version 2.17.2 instead of 2.18…
Wow thank you so much. I randomly found this post after issues with trying to get some new Gog games to work. Only needed to run “flatpak update” and on to the specific driver update.
I think (could be wrong), but I’m pretty sure I’ve seen the opposite too. Steam flatpak, or steam itself (via the little steam is updating popup upon steam startup), will update on its own - and my video drivers don’t work properly until I update the entire system (which fixes it every time).
Doesn’t happen often - but often enough for me to catch it. At least I’m pretty sure that’s what’s going on…
usually nvidia drivers will need to be updated inside the flatpak too, which means updating and rebooting. i have the exact same quirk when i’m using my nvidia card
Thanks! This is a great tip. I’ve running into this myself and now I will regularly update the flatpacks.
huh, these packages install automatically for me in the nvidia card. i have lutris and steam installed too, which might probably have installed them.
we should probaby talk to the maintainer of the flatpak if that’s not installed as a dependency for heroic by default.
For me the packages are there too, they are just not updated when I run
dnf update
without runningflatpak update
as well, and then they break.yeah that’s the “bug” i was describing. happens exactly like this on
apt update
too, i have to alsoflatpak update
and reboot for it to work normally again. i have no such problem with amd.
deleted by creator
Flatpaks: How to reinvent RPMs poorly.
you are thinking of DEBs, but in reverse