When Flatpak Firefox crashes on its very first launch — it turned out the RTX 40 was running on nouveau
Environment: Kubuntu 26.04 LTS · KDE Plasma 6 · NVIDIA RTX 4070 Ti SUPER · Flatpak
TL;DR
If Flatpak Firefox crashes on its very first launch, before you blame flatpak, check which driver the GPU is bound to.
lspci -k | grep -A3 "VGA"If it's an RTX 40 card reading Kernel driver in use: nouveau, the proprietary driver isn't installed and GPU-accelerated rendering is dying. With Secure Boot off you can just install it:
mokutil --sb-state # expect: SecureBoot disabled
sudo ubuntu-drivers autoinstallReboot and Firefox launches normally.
The symptom
This was right after ripping out snap and reinstalling firefox, telegram, and obsidian as Flatpaks. The user launched Firefox and it crashed immediately on first run, popping the Firefox Crash Reporter. Every relaunch died the same way.
The misdiagnosis: "it must be the flatpak packaging"
Since we'd just switched to flatpak, I suspected the flatpak sandbox or packaging first. That was wrong.
Firefox — flatpak, deb, or snap — will crash in some form whenever the GPU-accelerated rendering path dies. The recent switch to flatpak was just the most obvious thing to blame; the actual cause sat at a much lower layer that has nothing to do with how the app is packaged.
Root cause: the GPU was bound to nouveau, with no proprietary driver installed
First I checked which kernel driver the GPU was bound to.
lspci -k | grep -A3 "VGA"The RTX 4070 Ti SUPER was bound to nouveau (the open-source default), not nvidia. There wasn't even an nvidia-smi — meaning the proprietary driver wasn't installed at all.
In that state Firefox's GPU-accelerated rendering path evidently couldn't hold up. This wasn't a flatpak problem — any app needing hardware acceleration would have blown up (Electron-based Obsidian uses the same renderer family and was potentially at the same risk).
To be straight about the limits of this, though: I never captured a crash log showing exactly where or why it died. What was observed is "bound to nouveau with no proprietary driver → crash" and then "driver installed → fine." Open-source driver support for recent NVIDIA GPUs keeps moving (NVK and friends), so I'm not going to generalize this into "nouveau can't do it." On this machine at this point in time, installing the proprietary driver was the answer — that's the whole verified claim.
The fix
First, check the Secure Boot state.
mokutil --sb-state
# SecureBoot disabledWith Secure Boot off, unsigned kernel modules load directly, so you can install the driver without the MOK (Machine Owner Key) enrollment dance. I asked the user to autoinstall.
sudo ubuntu-drivers autoinstallFor this hardware the command picked nvidia-driver-595-open as the recommended driver. After a reboot the user confirmed Firefox launched fine.
This episode bumped "install the NVIDIA driver" from a someday task to the blocker sitting in front of every GPU-accelerated app, and we handled it on the spot.
Verifying
The current state, rechecked as I write this:
$ lspci -k | grep -A3 VGA
01:00.0 VGA compatible controller: NVIDIA Corporation AD103 [GeForce RTX 4070 Ti SUPER]
Kernel driver in use: nvidia
Kernel modules: nvidiafb, nouveau, nvidia_drm, nvidiaKernel driver in use: nvidia — the nouveau module still exists on the system (it's listed among the kernel modules), but the one actually bound and in use is nvidia. It's held without regressing.
Takeaways / checklist
- If a Flatpak app crashes the instant it launches, check which graphics driver is bound with
lspci -kbefore blaming flatpak. Firing up a GPU-accelerated app right after a fresh install, with no proprietary driver, blows up exactly like this. - On a fresh install, put "install the NVIDIA driver" at the top of the list rather than treating it as optional — a GPU-accelerated app is what will find the gap for you.
- With Secure Boot off,
ubuntu-drivers autoinstallfinishes with no MOK enrollment.