Nouveau Gallium3D Begins Landing RTX 30 "Ampere" GPU Driver Code
Early bits of NVIDIA GeForce RTX 30 "Ampere" support were merged today into Mesa 22.2.
Back in April NVIDIA finally posted the signed Ampere firmware needed to enable hardware acceleration by the open-source Nouveau Linux kernel driver. Up to that point the open-source NVIDIA Ampere GPU support has just consisted of basic mode-setting / display support while the signed firmware is needed for enabling GPU hardware acceleration.
So with the signed firmware out there, Nouveau developers at Red Hat have begun landing the Mesa side changes for enabling GPU-accelerated OpenGL with these current-generation NVIDIA graphics cards.
Merged overnight were the initial Ampere changes to the Nouveau compiler code by Red Hat's Ben Skeggs and Karol Herbst. At this stage it's just a few dozen lines of code to the NV50/IR code generation for catering to Ampere GPUs. More code is expected soon and likely needed before having a working Gallium3D OpenGL driver for these RTX 30 series GPUs.
Keep in mind, however, right now Nouveau is just an OpenGL/Gallium3D driver with no working Nouveau Vulkan driver yet. Furthermore, with the current Nouveau DRM kernel driver the post-Kepler/Maxwell1 GPUs are still limited to running at their low boot clock frequencies with the inability to re-clock the GPUs to their optimal performance state. So even if you are fine with just OpenGL and no Vulkan, the performance will still be painfully slow at the moment.
Yes, NVIDIA is developing their new open-source kernel driver and there are hopes of Nouveau supporting that kernel driver in the future for being able to resolve the re-clocking / performance issues, but at this very moment that new driver code can't be used by the Nouveau user-space drivers... Not to mention that new kernel driver likely won't be mainlined for some time.
So for now today's code merge is just one small but practical step forward for open-source Ampere GPU support on Linux. It's also a step needed for Nouveau restructuring their driver for use by a new/future driver.
Back in April NVIDIA finally posted the signed Ampere firmware needed to enable hardware acceleration by the open-source Nouveau Linux kernel driver. Up to that point the open-source NVIDIA Ampere GPU support has just consisted of basic mode-setting / display support while the signed firmware is needed for enabling GPU hardware acceleration.
So with the signed firmware out there, Nouveau developers at Red Hat have begun landing the Mesa side changes for enabling GPU-accelerated OpenGL with these current-generation NVIDIA graphics cards.
Merged overnight were the initial Ampere changes to the Nouveau compiler code by Red Hat's Ben Skeggs and Karol Herbst. At this stage it's just a few dozen lines of code to the NV50/IR code generation for catering to Ampere GPUs. More code is expected soon and likely needed before having a working Gallium3D OpenGL driver for these RTX 30 series GPUs.
Keep in mind, however, right now Nouveau is just an OpenGL/Gallium3D driver with no working Nouveau Vulkan driver yet. Furthermore, with the current Nouveau DRM kernel driver the post-Kepler/Maxwell1 GPUs are still limited to running at their low boot clock frequencies with the inability to re-clock the GPUs to their optimal performance state. So even if you are fine with just OpenGL and no Vulkan, the performance will still be painfully slow at the moment.
Yes, NVIDIA is developing their new open-source kernel driver and there are hopes of Nouveau supporting that kernel driver in the future for being able to resolve the re-clocking / performance issues, but at this very moment that new driver code can't be used by the Nouveau user-space drivers... Not to mention that new kernel driver likely won't be mainlined for some time.
So for now today's code merge is just one small but practical step forward for open-source Ampere GPU support on Linux. It's also a step needed for Nouveau restructuring their driver for use by a new/future driver.
22 Comments