Intel's OpenGL & Vulkan Linux Drivers Now Build On ARM
Intel's open-source OpenGL "Iris" and Vulkan "ANV" Linux drivers are now part of the auto-generated set of drivers set to be built for 64-bit ARM (AArch64) when compiling this code inside Mesa.
Up until recently Intel's graphics drivers haven't had to concern themselves with non-x86/x86_64 architectures due to being integrated on their processors. Now with the likes of Arc Graphics, Data Center GPU Flex Series, and Data Center GPU Max Series of discrete GPUs, these Intel graphics processors could find their way into AArch64 Linux servers or even RISC-V, POWER9, and other architectures.
Due to traditionally only being concerned with x86/x86_64, there are various x86'isms in their Linux driver code that the past few years they've been working to sort out. With the Intel i915 DRM kernel driver there still are issues for non-x86 architectures but their forthcoming Xe kernel driver for Gen12 hardware and newer, it was designed from the start to be more architecture independent.
The Xe kernel driver isn't yet mainlined into the Linux kernel tree but it's nearly that milestone at least as an experimental option. Intel's graphics driver developers have been working to ensure their Mesa ANV and Iris drivers are ready for making use of that new kernel driver's interfaces once it's been merged. As part of that, today they added Iris and ANV to the list of supported AArch64 drivers in Mesa.
Tucked inside the merge request iris: Implement batch_submit() in Xe kmd backend is the change to now build by default on AArch64. The patch by Intel engineer José Roberto de Souza explains:
build: Add Iris and ANV to ARM's auto-generated drivers
Xe KMD supports ARM CPUs, so we are now able to have Intel discrete GPUs with ARM CPUs working.
This latest code is part of what will be in Mesa 23.2 due for release next quarter. Hopefully in the coming months we'll see the Xe kernel driver experimentally added to the kernel source tree for beginning to more easily test this modern driver for Gen12+ integrated and discrete graphics. Besides being more CPU architecture independent, this driver is designed around modern GPU needs, more up-to-date kernel interfaces/capabilities, and should be able to better maximize the performance of modern Intel GPUs.