Intel Arc Graphics Demonstrated Running On ARM With Ampere Altra
With the new Intel "Xe" Direct Rendering Manager kernel driver that's been in development one of the touted benefits of the clean sheet driver design is that it would enable using Intel discrete GPUs on non-x86 CPU architectures. The long-used "i915" DRM kernel graphics driver has many x86'isms in the code-base built up over the many years of Intel integrated graphics that were only ever found within their x86/x86_64 processors. But now in the era of Intel discrete graphics, there's been issues in trying to run Intel Arc Graphics on say ARM, POWER9, and RISC-V, among others. The experimental Intel Xe driver was recently successfully demonstrated in running on ARM using an Ampere Altra workstation.
Phoronix reader Vladimir Smirnov wrote in this week about his success in getting Intel Arc Graphics working on ARM (Ampere Altra) albeit with some issues remaining. To get the Intel Arc Graphics working on ARM he built a fresh kernel from the DRM Xe driver Git tree (the code being upstreamed in Linux v6.10), there are some out-of-tree patches for PCI Express errata specific to Ampere Computing that need to be applied, a patch needed to fix a kernel oops with Xe on ARM, rebuilding the libdrm code since Debian doesn't ship libdrm-intel1 for AArch64, and then rebuilding Mesa 24.1-rc3 while modifying it to allow building the Intel drivers on non-x86 systems.
Smirnov noted of the initial experience:
There are more details shared on the Ampere Computing forums and this blog post by Vladimir Smirnov.
It's great seeing Intel discrete GPU support beginning to work on AArch64 albeit with bugs remaining that it's not yet ready for end-users, but hopefully those remaining bugs will be fixed soon for helping the Intel Xe driver story on non-x86 systems.
Phoronix reader Vladimir Smirnov wrote in this week about his success in getting Intel Arc Graphics working on ARM (Ampere Altra) albeit with some issues remaining. To get the Intel Arc Graphics working on ARM he built a fresh kernel from the DRM Xe driver Git tree (the code being upstreamed in Linux v6.10), there are some out-of-tree patches for PCI Express errata specific to Ampere Computing that need to be applied, a patch needed to fix a kernel oops with Xe on ARM, rebuilding the libdrm code since Debian doesn't ship libdrm-intel1 for AArch64, and then rebuilding Mesa 24.1-rc3 while modifying it to allow building the Intel drivers on non-x86 systems.
Smirnov noted of the initial experience:
"It is not entirely stable — on a first run (after reboot), GDM consistently crashes the driver (the card gets stuck, and the driver resets it), but after restart, it works. It can run Doom3 (rbdoom3-bfg) with decent enough FPS.
Running a complex Vulkan game or benchmark crashes the kernel though.
It is not yet ready to be tested, but it is in a state where enthusiasts can dig in with some potential success."
There are more details shared on the Ampere Computing forums and this blog post by Vladimir Smirnov.
It's great seeing Intel discrete GPU support beginning to work on AArch64 albeit with bugs remaining that it's not yet ready for end-users, but hopefully those remaining bugs will be fixed soon for helping the Intel Xe driver story on non-x86 systems.
10 Comments