April 02, 2024
Enable Intel integrated GPUs on Linux systems
Several misconfigurations may stop a Linux machine from having access to its integrated Intel GPU devices. Let’s check the most common problems and how to fix them.
Firstly, verify that the functionality is enabled on your BIOS. You will likely find relevant settings in the “Chipset” related sections. But if that doesn’t help, it’s time to play around with the kernel.
Make sure that the kernel module i915
isn’t blacklisted. It’s responsible for activating Intel drivers.
# If this returns anything like "blacklist i915", remove the line and reboot
cat /etc/modprobe.d/* | grep i915
Next thing, check your boot Grub configuration. Look for GRUB_CMDLINE_LINUX_DEFAULT
and ensure it doesn’t mention nomodeset
anywhere. Be aware, however, that removing it might disable HDMI output on your system, so prepare to use SSH access just in case.
cat /etc/default/grub* | grep GRUB_CMDLINE_LINUX_DEFAULT
# If you needed to change something, update the final configuration file
grub-mkconfig -o /boot/grub/grub.cfg
Finally, it’s possible that your iGPU device is not supported by the kernel version you’re currently running with. For instance, as of the time of writing, the default kernel for Ubuntu 22.04.4 LTS Server is 5.15, which doesn’t support 12th-generation Intel iGPUs (e.g., Alder Lake N95 and N100). In such a case, you need a newer kernel.
Ubuntu users can leverage the LTS Enablement Stacks to solve the problem.
apt install --install-recommends linux-generic-hwe-20.04
Intel iGPUs show up on Linux systems under /dev/dri
.
# List the available iGPU-related devices
ls -la /dev/dri
# Check iGPU usage
apt install intel-gpu-tools
intel_gpu_top