Intel Preparing New "Xe" Linux Kernel Graphics Driver For Modern iGPUs & dGPUs
Intel's open-source Linux graphics driver engineers have quietly been working on a new Direct Rendering Manager driver for newer Gen12/Xe graphics and moving forward to avoid carrying the old baggage of the i915 driver... The i915 driver has served the Intel Linux graphics users well for the better part of the past two decades and in recent years has been adapted to handle Intel discrete GPUs with dedicated video memory, etc. It's been adapted with time but now the Xe graphics driver is a clean-cut focusing on Gen12/Xe and future hardware products to improve the driver's design, avoid worrying about regressing older generations of support, etc. The i915 driver will continue to exist in the kernel, not to mention the Xe driver isn't even production-ready yet.
This Xe driver is focusing on Tigerlake integrated graphics and newer as well as Intel discrete graphics products. This fresh driver code-base also allows Intel to make use of more shared DRM/kernel infrastructure around TTM memory management, the DRM scheduler originally adapted from the AMDGPU driver, and other common elements.
For areas like display handling, Intel's Xe driver is working to share code with the existing i915 driver where it has worked well and reduces the risk of regressing hardware support, etc.
In user-space, Intel's Iris Gallium3D driver and ANV Vulkan driver will work with this new kernel driver -- there is tentative Mesa support pending in a merge request for adding compatibility with the new DRM kernel driver. Additionally, code to be published in the new year will support the Xe kernel graphics driver with the NEO compute stack for OpenCL and oneAPI Level Zero support.
Overall this is an exciting development for Intel's Linux graphics driver. Having the modern kernel graphics driver will allow avoiding all the cruft going back to the 915G chipset days and since while just focusing on Gen12/Xe graphics and newer moving forward for feature development. This should allow greater code re-use with the other kernel graphics driver / DRM code and to make more optimizations moving forward. Another added bonus is that this Xe driver has been designed with multiple CPU architecture support in mind -- it's actively tested on both x86_64 and Arm. Now that there are Intel discrete GPUs available compared to just the days of integrated graphics on x86 CPUs, this new driver acknowledges that and aims to be cross-architecture friendly.
Intel intends to get this new Xe kernel graphics driver ready throughout 2023. As a lovely Christmas present to the open-source world they sent out this RFC patch series today with the current work-in-progress code. For running with the Intel Mesa drivers there is this MR where it's considered "functional enough to run GNOME, browser, OpenGL games, Vulkan games..." but with known "eventual crashes and bugs."