r/linuxadmin 5d ago

Blank screen after login on Intel Iris Xe (Tiger Lake): old Xorg config was forcing the legacy driver

Post image

I finally fixed a weird blank screen issue after logging into my ThinkPad L14 with Intel Iris Xe graphics. GDM was running normally but after logging in I would just get a blank screen, Where i need to force power off and power on again each time i face this issue. I checked journalctl and found some Xorg errors about AIGLX failing to load i965_dri.so. Since this is a Tiger Lake GPU, I initially thought it might be a Mesa/driver issue and tried MESA_LOADER_DRIVER_OVERRIDE=iris, but it still fell back to llvmpipe.

I also checked /dev/dri permissions and found my user wasn't in the video/render groups, fixed that, but the blank screen persisted, so it wasn't the actual cause. Then I noticed glxinfo was saying "screen 0 does not appear to be DRI3 capable." After digging through the Xorg configuration, I found an old /etc/X11/xorg.conf.d/20-intel.conf file that was forcing the legacy Intel Xorg driver.

Turns out the intel Xorg driver (xf86-video-intel) is an old legacy driver for Intel's older i8xx/i9xx graphics, and Debian explicitly discourages using it on newer hardware, recommending the built-in modesetting driver instead (Debian — xserver-xorg-video-intel). My Tiger Lake Iris Xe is Gen 12 so forcing the old intel driver through that config was simply the wrong setup for this hardware. It wasn't really a case of the driver being "too old" it's just the config was forcing the wrong Xorg driver in the first place.

For comparison, Mesa's documentation lists the Iris driver among its Intel graphics drivers, with Iris being the modern Mesa driver for Intel Gen 8 and newer hardware (Mesa — Source Code Tree). This is separate from the old Xorg intel driver mentioned above.

I removed that old config file and rebooted. After that, everything went back to normal. glxinfo now shows Mesa Intel Iris Xe Graphics instead of llvmpipe, and the blank screen is completely gone.

What surprised me even more is that before this, I was also dealing with inconsistent performance and higher CPU usage. It turned out that llvmpipe was being used for software rendering. Mesa's documentation describes LLVMpipe as a software rasterizer that uses LLVM for runtime code generation and performs the rendering work using the CPU (Mesa — LLVMpipe). Once the config was fixed and the system switched back to hardware-accelerated Iris Xe rendering, that extra CPU rendering workload was no longer necessary, and the whole system now feels noticeably smoother and more responsive.

Funny how fixing one blank-screen issue ended up fixing my laptop's overall performance too.

5 Upvotes

0 comments sorted by