Symptoms & scope
- Animations consume substantial CPU and games are unexpectedly slow.
- The OpenGL renderer is llvmpipe or softpipe although a hardware GPU was expected.
Relevant environment
Mesa OpenGL applications in a local desktop, container, remote session or virtual machine; software rendering is valid in some environments.
Recognizable messages (synthetic examples)
libGL error: failed to load driver: irisInspect preceding path and library errors; software rendering itself is not automatically a fault and is not matched.
Possible causes
These are possible explanations, not a confirmed diagnosis. Several independent faults can coexist.
- An explicit software-rendering environment override may be active.
- Missing DRI libraries, missing render-device access, incompatible application runtimes or a deliberately virtual display can select software rendering.
Diagnose safely
Run one command at a time in the relevant session. Read the explanation first. Uppercase placeholders need your own values; tools and privileges vary by distribution. These commands are displayed here and never executed by the website.
Check 1
Run as the user in the affected graphical session; glxinfo requires X11 or Xwayland and the distribution’s diagnostic package.
glxinfo -BInterpret the result: llvmpipe/softpipe identifies CPU rendering. Under native Wayland this describes the Xwayland OpenGL path, not every native application.
Check 2
Read selected graphics overrides from this shell; a launcher or container may set a different environment.
printenv LIBGL_ALWAYS_SOFTWARE GALLIUM_DRIVER MESA_LOADER_DRIVER_OVERRIDE LIBGL_DRIVERS_PATHInterpret the result: LIBGL_ALWAYS_SOFTWARE=true intentionally requests software. An unset value does not establish correct libraries or device permissions.
Evidence-guided next steps
Remove an unintended per-app override
If an affected launcher explicitly forces software rendering, remove that parameter from a copy of its profile and restart only that application. Compare the reported renderer before applying the change globally.
Precautions: Keep deliberate headless or test profiles unchanged. Do not force a hardware driver name that does not match the actual GPU.
Recovery / rollback: Restore the original launcher profile if the application stops working.
Did this solution help you?
Repair the packaged rendering path
If no override explains a failed DRI load, reinstall the matching distribution Mesa/DRI package for the application architecture and check that the session can use its render node. For containers, configure the runtime’s documented GPU access.
Precautions: Do not copy host libraries into a bundled runtime or make all /dev/dri nodes world-writable; permissions should follow session or runtime policy.
Recovery / rollback: Restore the package snapshot or application runtime profile if the repair changes working applications.
Did this solution help you?
References & review
This guide was prepared from primary project or distribution sources and reviewed on the date shown. This is an editorial source check, not evidence that a fix was reproduced on your hardware. Diagnostic log examples are synthetic fixtures. Version-dependent details must be checked against your installed release.
- Mesa LLVMpipe software renderer (project or distribution documentation)
- Mesa environment variables: software and loader overrides (project or distribution documentation)
Related hardware and driver context
These profiles explain relevant driver paths. They do not establish that your device has this fault. Identify your device and binding first.
- AMD Tahiti / Southern Islands
- AMD Bonaire / Sea Islands
- AMD Polaris 10
- AMD Vega 10
- AMD Navi 10
- AMD Sienna Cichlid graphics family
- AMD Renoir integrated graphics
- Intel Ivy Bridge GT2 mobile
- Intel Haswell GT2 desktop
- Intel Broadwell GT2 ULT
- Intel Skylake GT2 desktop
- Intel Ice Lake graphics
- Intel Tiger Lake graphics
- Intel Alder Lake-P graphics
- Intel DG2 G10 desktop graphics
- Virtio GPU over modern PCI
Investigate the gaming failure path
Connect these system observations to Proton, Vulkan and frame-time evidence. A detected GPU or a reset message alone does not establish the cause of a game crash.
Follow the gaming diagnostic questions · Inspect gaming logs locally