Hardware: Dell Inspiron 5379
GPU: Intel UHD Graphics 620 (Kaby Lake)
OS: Linux Mint, Ubuntu 24.04-based system
Display session: X11
The problem
I was troubleshooting choppy video playback in my browser on Linux Mint. During the investigation, I discovered that although my laptop had an Intel UHD Graphics 620, OpenGL was using llvmpipe, which renders graphics in software using the CPU instead of the GPU.
My original "glxinfo -B" output showed:
direct rendering: Yes
Vendor: Mesa (0xffffffff)
Device: llvmpipe (LLVM 20.1.2, 256 bits)
Accelerated: no
OpenGL renderer string: llvmpipe (LLVM 20.1.2, 256 bits)
This explained why graphics rendering could be unnecessarily CPU-intensive.
Step 1 — Check the graphics hardware and driver
I ran:
inxi -Gxx
The output confirmed that the laptop had Intel UHD Graphics 620 and the kernel's "i915" driver was loaded.
However, the OpenGL renderer was "llvmpipe", which indicated that the GPU was not being used for OpenGL rendering.
Step 2 — Check VA-API video acceleration
I ran:
vainfo
This successfully loaded Intel's "iHD_drv_video.so" driver and listed supported video profiles, including H.264, HEVC, and VP9.
This was an important clue: the VA-API video driver was available, but OpenGL rendering was still falling back to software. These are separate parts of the graphics stack.
Step 3 — Investigate the Xorg log
I checked the Xorg log:
grep -Ei 'intel|AIGLX|swrast|DRI' /var/log/Xorg.0.log
The relevant errors were:
(II) intel(0): [DRI2] DRI driver: i965
(EE) AIGLX error: dlopen of /usr/lib/x86_64-linux-gnu/dri/i965_dri.so failed
(EE) AIGLX error: unable to load driver i965
(II) IGLX: Loaded and initialized swrast
(II) GLX: Initialized DRISWRAST GL provider for screen 0
The legacy Xorg Intel driver was attempting to load "i965_dri.so", which was missing. Xorg consequently fell back to software rendering.
Step 4 — Inspect the Xorg configuration
I checked the configuration files:
ls -la /etc/X11/xorg.conf /etc/X11/xorg.conf.d/
There was no main "/etc/X11/xorg.conf", but there were several files under "/etc/X11/xorg.conf.d/".
The important discovery was that the Intel configuration selected the legacy driver:
Section "Device"
Identifier "Intel Graphics"
Driver "intel"
Option "TearFree" "true"
Option "TripleBuffer" "true"
EndSection
For this setup, I switched the configuration to the modern Xorg "modesetting" driver.
Step 5 — Switch to the modesetting driver
I edited "/etc/X11/xorg.conf.d/20-intel.conf" so that it contained:
Section "Device"
Identifier "Intel Graphics"
Driver "modesetting"
EndSection
I saved the file and rebooted the laptop.
Important: Changing the Xorg configuration requires restarting the graphical session. Checking "glxinfo" before rebooting still showed "llvmpipe", so I initially thought the change had not worked. After rebooting, the result was different.
Step 6 — Verify the fix
After rebooting, I ran:
glxinfo -B
The output now showed:
direct rendering: Yes
Vendor: Intel (0x8086)
Device: Mesa Intel(R) UHD Graphics 620 (KBL GT2) (0x5917)
Version: 25.2.8
Accelerated: yes
OpenGL vendor string: Intel
OpenGL renderer string: Mesa Intel(R) UHD Graphics 620 (KBL GT2)
OpenGL core profile version string: 4.6 (Core Profile) Mesa 25.2.8
Success! OpenGL was now using the Intel UHD Graphics 620, and hardware acceleration was enabled.
What I learned
- Having the correct kernel driver loaded does not necessarily mean OpenGL is using the GPU.
- VA-API video decoding and OpenGL rendering are separate components, so one can work while the other has problems.
- Xorg logs can reveal why the system is falling back to software rendering.
- The legacy "intel" Xorg driver can cause issues on some systems when its expected Mesa driver files are missing.
- Switching to "modesetting" and rebooting fixed the OpenGL rendering problem on my system.
What remains to be tested
If you have a similar Intel GPU and Linux Mint setup, check "glxinfo -B" before changing anything. Your configuration and symptoms may be different, so don't blindly copy the Xorg configuration without checking your own logs.
Thanks to everyone sharing Linux troubleshooting advice!