How to Enable Intel Xe Graphics Drivers on Fedora Linux (Kernel 6.18+)
Note: AI (Google Gemini) was used to edit and re-organize what I originally wrote in this reply. I reviewed and corrected the AI-generated output before posting, but please let me know if you notice any errors or obvious mistakes.
Apologies for bumping an old topic. However, I noticed users are searching for how to enable the new Intel xe drivers on Fedora, so I wanted to share a solution that works for Fedora Linux 42 and later.
These instructions explain how to switch from the older i915 driver to the modern xe driver using the new Linux 6.18 kernel.
Why now? (Linux kernel 6.18 Improvements)
The switch to the xe driver in Linux kernel 6.18 is a major milestone because it introduces Single Loop Power Controller (SLPC) support, which allows the GPU to manage its own frequency and voltage more intelligently to extend battery life. Unlike the legacy i915 driver, xe was built from scratch to use modern kernel scheduling, significantly reducing CPU overhead for smoother desktop animations and lower latency. The 6.18 Linux kernel release effectively aligns a system with Intel’s future development focus, ensuring better performance for modern workloads like Vulkan gaming and AI compute.
Prerequisites
- OS: Fedora Linux 42 or 43 (Rawhide/Branched)
- Hardware: Intel Tiger Lake (11th Gen) or newer.
- Kernel: Linux 6.18 or newer.
Step 1: Install Linux Kernel 6.18
The 6.18 kernel is currently in the Fedora Linux testing repositories. Run this command to install it:
sudo dnf upgrade --enablerepo=updates-testing --refresh --advisory=FEDORA-2026-8ff894a3df
Note: If you are reading this after the kernel has reached the stable repositories, a standard sudo dnf update is sufficient.
Step 2: Identify Your PCI ID
You must tell the kernel explicitly which device should use the new driver.
- Open your terminal.
- Run the following command to find your Graphics Controller ID:
lspci -nnd ::03xx
- Look for a line mentioning “Intel Corporation” and “VGA compatible controller.”
- Write down the last 4-digit code in the brackets at the end of the line.
- Example Output:
[8086:9a49]
- Your ID is:
9a49
Step 3: Test with a Temporary Boot (Recommended)
Before making permanent changes, test that the driver works.
- Restart your computer.
- When the boot menu (GRUB) appears, select the 6.18 kernel and press
e on your keyboard.
- Find the line that starts with
linux.
- Add the following text to the end of that line. Replace
XXXX with the ID you found in Step 2.
i915.force_probe=!XXXX xe.force_probe=XXXX
- Press
Ctrl + X or F10 to boot.
Step 4: Verify the Driver
Once logged in, verify that your system is using the xe driver.
Option A: Using lspci
Run this command:
lspci -k | grep -EA3 'VGA|3D|Display'
Success Indicator: The line Kernel driver in use: should say xe.
Option B: Using inxi (Detailed)
inxi -G
Step 5: Make the Change Persistent
If the temporary boot worked well and your graphics performance is stable, you can make the change permanent.
Method A: Apply to the Current Kernel Only (Safer)
This command updates only the kernel you are currently running (6.18). It leaves your older kernels unchanged as a fallback.
sudo grubby --update-kernel=/boot/vmlinuz-$(uname -r) --args='i915.force_probe=!XXXX xe.force_probe=XXXX'
(Replace XXXX with your PCI ID).
Method B: Apply to All Future Kernel Updates
To ensure this setting persists after future updates, edit your default GRUB configuration.
- Edit the GRUB config file:
sudo $EDITOR /etc/default/grub
- Find the line starting with
GRUB_CMDLINE_LINUX.
- Append your parameters inside the quotes:
... i915.force_probe=!XXXX xe.force_probe=XXXX"
- Save and exit.
- Update the bootloader configuration:
sudo grub2-mkconfig -o /boot/grub2/grub.cfg
Performance Note: I have tested this on my Lenovo ThinkPad X1 Carbon Gen 12 (Meteor Lake), and the UI feels noticeably smoother. However, as this is still experimental and not enabled by default, your mileage may vary.
Special thanks to the ArchWiki for helping me figure this out.