Firefox 'Gah. Your tab just crashed.' on Linux — GPU/WebRender fix
Stop Firefox crashes on Linux by disabling WebRender or switching GPU drivers. Here's the real fix and why it works.
That 'Gah. Your tab just crashed.' message in Firefox on Linux
You're in the middle of something, and Firefox throws a gray sad-tab with that line. Annoying, but it's fixable. What's actually happening here is that WebRender — Firefox's GPU-based rendering engine — is hitting a driver bug, an incomplete Mesa version, or a config that Firefox's GPU blacklist doesn't catch. Let's stop it.
The fix: disable WebRender or force software fallback
Skip the driver reinstall dance. Start here:
- Type
about:configin the address bar and accept the risk. - Search for
gfx.webrender.alland set it tofalse. - Search for
gfx.webrender.softwareand set it tofalse. - Search for
layers.acceleration.force-enabledand set it tofalse. - Restart Firefox.
That kills WebRender completely and forces Firefox back to the old software rasterizer. Tabs should load normally. If they still crash, move to the next section.
Why that fixes it
WebRender ships as the default renderer on Firefox 67 and later. It works great on modern GPUs with proper driver support. But on Linux, the GPU driver landscape is fragmented. Mesa for AMD/Intel, proprietary NVIDIA, open-source Nouveau — each has quirks. If WebRender tries to use a GPU feature your driver doesn't fully implement, the compositor panics and kills the tab process. The crash message is Firefox's user-facing fallback for that panic. Disabling WebRender skips the GPU path and runs rendering on the CPU, which is slower but stable.
If the fix above didn't work: bad GPU driver or mesa version
Sometimes the crash isn't WebRender itself — it's the GPU driver feeding bad data. Firefox has a built-in blacklist for known buggy drivers, but it's updated per release. If your driver is new but buggy, the blacklist might not cover it yet.
- NVIDIA with proprietary driver: Try dropping to the Nouveau driver instead.
sudo apt purge nvidia-*and reboot. If crashes stop, the NVIDIA driver version you had is the culprit. Stick with Nouveau or upgrade to a newer NVIDIA driver branch (525+). - AMD or Intel with Mesa: Check your Mesa version:
glxinfo | grep 'OpenGL version string'. If it's older than 22.0, update Mesa via your distro's testing/unstable repos. Intel's older GPUs (Haswell and earlier) are especially prone — WebRender doesn't handle their missing features gracefully. - Virtual machine or remote desktop: If you're inside a VM or using X2Go/TigerVNC, disable WebRender. Virtual GPUs almost never support the full OpenGL feature set WebRender needs. Set
gfx.webrender.force-disabledtotrueinabout:configand restart.
Check Firefox's GPU decision log
Type about:support in Firefox. Look under Graphics > Decision Log. It'll tell you why Firefox chose WebRender or not. If it says FEATURE_FAILURE or BLOCKED_DRIVER_VERSION, that's your clue. A common one is FEATURE_FAILURE_WEBRENDER_LINUX_HW — that means Firefox tried but the driver failed validation.
Less common variations of the same root cause
1. Crash only on specific sites (YouTube, Google Maps, WebGL demos)
If only certain pages crash, it's typically a WebGL or compositing issue. Firefox's WebRender can't handle advanced shaders on buggy drivers. Fix: set webgl.disabled to true temporarily. If crashes stop, the driver's GLSL compiler is broken. Update the driver. For Mesa users, that means sudo apt upgrade mesa-* and reboot.
2. Crash right after suspend/resume
Your GPU's DRM (Direct Rendering Manager) might lose state after resume. Firefox's compositor doesn't recover cleanly. Fix: close Firefox before suspend, or restart it after resume. If this happens often, disable WebRender permanently (first fix) — the CPU path handles suspend/resume without crashing because it doesn't depend on GPU state.
3. Crash with multiple monitors on different GPU outputs
If you've got one screen on the iGPU and another on a discrete GPU, Firefox's compositor can get confused about which GPU to use. Solution: in about:config, set layers.gpu-process.enabled to false. That forces the compositor to stay in the main process, avoiding GPU process migration issues.
Prevention: keep your GPU drivers sane
One crash pattern tells you it's a driver problem. Two or more tells you it's chronic. Prevent future crashes by doing this:
Mesa users: Stay on the latest stable Mesa branch, not just your distro's default. Ubuntu LTS ships Mesa 21.x when 24.x is current. Add the kisak-mesa PPA:sudo add-apt-repository ppa:kisak/kisak-mesathensudo apt update && sudo apt upgrade.
NVIDIA users: Use the proprietary driver from the NVIDIA website or your distro's official repo. Avoid the Ubuntu 'proposed' branch — it often has regressions. Stick to the latest stable branch (535 or 545 as of early 2025).
Intel users: If you're on an old chip (Ivy Bridge, Haswell), just disable WebRender from the start. It's not worth the fight. Setgfx.webrender.force-disabledtotrueinabout:configand move on.
Also check Firefox's crash reports. Go to about:crashes and click 'Submit' on a recent crash — this sends data to Mozilla. If a bug is already filed, you'll see a link like bugzilla.mozilla.org/show_bug.cgi?id=XXXXXX. You can add yourself to the CC list to get updates when it's fixed.
The real answer isn't reinstalling Firefox or switching to Chrome. It's recognizing that WebRender is picky about GPU drivers, and on Linux, the driver quality varies. Disabling WebRender or updating the driver solves 95% of these crashes. The other 5% are edge cases with suspend/resume or multi-GPU setups — and those have their own specific fixes above.
Was this solution helpful?