Development of the NVK open-source NVIDIA Mesa Vulkan driver is being done in part on a nearly decade old GeForce GTX 980M mobile graphics processor since at the moment it's one of the more recent NVIDIA GPUs that can be re-clocked using the existing Nouveau kernel driver code.
Nouveau News Archives
463 Nouveau open-source and Linux related news articles on Phoronix since 2006.
The upstream, open-source Nouveau DRM kernel driver working to make use of the NVIDIA GPU System Processor "GSP" will ideally lead to more punctual new hardware support, hopefully overcome the power management / re-clocking challenges that have plagued the driver for years with very low performance, and other current limitations. But it will also lead to more NVIDIA GPU firmware files in the linux-firmware tree and increased bloat.
NVIDIA has published updated NVIDIA TU10x /TU11x "Turing" GPU firmware to support newer RTX 20 hardware revisions and fix outstanding issues affecting the open-source Nouveau driver.
Red Hat developer David Airlie has shown off the progress being made on bringing up not only the open-source Mesa NVIDIA Vulkan driver "NVK" but doing so while making use of the NVIDIA GPU System Processor (GSP) firmware that ultimately is needed for being able to deliver better open-source driver support and performance.
In addition to Nouveau developers at Red Hat working on NVIDIA GPU System Processor (GSP) support to ease their kernel driver development and ideally leading to quicker upstream hardware support and finally tackling power management / re-clocking for newer GPUs, another important area on the open-source kernel driver side has been about re-architecting certain interfaces to be able to better support features for the Vulkan API.
Over the past year NVK has taken shape as a -- currently out-of-tree -- Mesa Vulkan driver for supporting NVIDIA graphics hardware. This open-source NVIDIA Vulkan driver is inching closer to the point of being upstreamed into Mesa, but before it's usable for gamers/enthusiasts there is kernel work that must happen too.
The NVK open-source Vulkan driver for NVIDIA GPUs that has seen a lot of progress over the past year is now able to run some games like The Talos Principle, which was the launch title for Vulkan 1.0. While the NVK driver is correctly rendering, it's still slow until the kernel driver side is sorted out with re-clocking.
While NVIDIA GeForce RTX 40 "Ada Lovelace" GPUs are shipping, the Nouveau Linux driver stack for open-source support on NVIDIA hardware is finally getting ready to provide basic OpenGL support for the existing RTX 30 "Ampere" graphics processors.
It's been a long time since there has been much in the way of notable Nouveau DRM driver changes merged to the Linux kernel for improving the open-source NVIDIA graphics support. Fortunately, that is changing with Linux 6.2 set to receive a rather big update.
The NVK open-source NVIDIA Vulkan driver that was started earlier this year and has been progressing nicely the past few months is starting to see work now on its own shader compiler where as up to this point has been relying on existing Nouveau Mesa code for code generation.
With the recent Linux 6.1 merge window there sadly weren't any Nouveau Direct Rendering Manager (DRM) driver improvements for getting the RTX 30 "Ampere" OpenGL support working yet with the mainline kernel even with RTX 40 series having launched. Needless to say, there also wasn't any progress on the re-clocking front for getting the GTX 900 series and later running in a performant manner on this open-source driver. But the Nouveau developers at Red Hat haven't simply been idling but rather have been working on the NVIDIA GPU System Processor (GSP) support for improving the RTX 20 "Turing" support and newer.
Longtime open-source Linux graphics driver developer and DRM subsystem maintainer, David Airlie of Red Hat, took the stage at Linux Plumbers Conference today to talk about Nouveau and the state of the open-source NVIDIA Linux driver.
As part of today's "drm-misc-fixes" pull request, NVIDIA Ampere GA103 GPU support is set to be added to the Nouveau DRM driver with Linux 6.0.
Merged last year into the Linux kernel's Nouveau DRM driver was initial support for GeForce RTX 30 "Ampere" GPUs initially in the form of the GA100 and GA102 parts. That support for the moment is still limited to just mode-setting/display support with 3D still being tackled, but now a patch has been posted that rather trivially extends the support to cover the GA103 GPU too.
While AMD and Intel are busy with big graphics driver changes for each new version of the Linux kernel, the open-source NVIDIA "Novueau" kernel driver that is largely just worked on by Red Hat employees is just stumbling along. NVIDIA in May announced they are transitioning to an open-source kernel driver approach, but that current kernel driver is not in shape for upstreaming and due to the heavy use of the GPU System Processor (GSP) that source release hasn't been a huge help yet for the reverse-engineered Nouveau driver. With the upcoming Linux 5.20, Nouveau has some display patches.
There hasn't been much to report on lately for the reverse-engineered Nouveau driver providing open-source NVIDIA GPU driver support on Linux. Several recent Linux kernel series haven't even seen any Nouveau DRM/KMS driver pull requests with changes. For the upcoming Linux 5.20 cycle, a Nouveau set of changes were sent in today to DRM-Next but it's quite tiny.
Following the recent news about Nouveau shifting code around so their shader compiler can be used outside of Nouveau Gallium3D, Red Hat's Karol Herbst who has been a longtime Nouveau developer has been posting patches for his new "NVK" Nouveau Vulkan driver effort.
While the just talked about Nouveau beginning to land GeForce RTX 30 "Ampere" open-source support is exciting, as mentioned there still are hurdles to overcome for having good open-source NVIDIA driver performance on modern GPUs. So equally exciting news is that Nouveau has begun adapting some of their code into a standalone library so it can be used in the future by other new driver(s).
Early bits of NVIDIA GeForce RTX 30 "Ampere" support were merged today into Mesa 22.2.
As part of Mesa preparing to drop its old GLSL to TGSI code path and routing more Mesa drivers through using the NIR intermediate representation, the Nouveau Gallium3D driver code has switched to using this modern IR by default.
The open-source Nouveau driver's support for the GeForce RTX 30 "Ampere" series remains very limited -- most notably, without any 3D acceleration support -- but now the GA106 GPU can light up for the GeForce RTX 3060.
Sadly there isn't much to report on at this time around improved open-source "Nouveau" driver support for the recent GeForce RTX 20 and RTX 30 series while even the GTX 900 and GTX 1000 series graphics processors are in poor shape for this unofficial driver. But when it comes to the aging GeForce 200 series, select models there are finally seeing OpenGL ES 3.1 supported by this open-source driver.
Open-source "Nouveau" driver developers have been working on at least partial support for OpenGL compute within the NV50 Gallium3D driver that is used by the NVIDIA GeForce 8 series through GeForce 300 series graphics cards.
With Linux 5.11 there is open-source Nouveau KMS support for Ampere GPUs -- just kernel mode-setting without any form of 3D acceleration. The actual hardware acceleration requires more work and also NVIDIA to release the necessary signed firmware binaries. With Linux 5.12 there still is no 3D acceleration but a big set of patches was merged as a step in that direction.
Following NVIDIA RTX 30 open-source mode-setting support in Linux 5.11, the batch of feature changes slated for the Linux 5.12 kernel have now been submitted to DRM-Next.
Patches were sent out today that provide the open-source Linux kernel "Nouveau" driver with support for NVIDIA GeForce RTX 30 series "Ampere" graphics cards. But at the moment there is no 3D acceleration and the developers are blocked still by signed firmware requirements, so it's basically just a matter of having kernel mode-setting display support.
The open-source NVIDIA "Nouveau" Gallium3D code within Mesa has wired up DRM shim support for basically faking the support in the absence of real hardware. This is mainly useful for testing the Nouveau OpenGL shader compiler code path without any actual code execution.
The open-source NVIDIA "Nouveau" driver in Linux 5.11 didn't see any exciting features but there is now a patch pending for this DRM driver so it will at least handle mini DisplayPort connections properly.
Covered back in February was work for Nouveau's NVC0 Gallium3D driver to finalle make use of the Mesa on-disk shader cache functionality for speeding up game load times by allowing previously compiled GLSL shaders to be cached to disk. That work by Red Hat has finally been mainlined in Mesa 20.3.
With basically at the cut-off for new feature material wanting to get into DRM-Next for Linux 5.9, Nouveau DRM maintainer Ben Skeggs of Red Hat today sent in the primary feature pull.
Stemming from documentation released by NVIDIA last year, the forthcoming Linux 5.9 kernel will feature CRC support on the display side thanks to the development work by Red Hat.
The open-source Nouveau kernel driver has supported Volta GPUs for some time and since Linux 5.6 also supported open-source initialization of Turing GPUs for hardware acceleration. But missing for Volta and Turing has been the Mesa-side support for enabling 3D (OpenGL) and compute (OpenCL) functionality on these newer GPUs. That is finally changing with pending Mesa patches.
There hasn't been too much to report on the open-source NVIDIA "Nouveau" kernel driver in some time since the enabling of Turing and no apparent progress on re-clocking to allow the graphics cards to hit their rated clock frequencies (the longstanding, number one limitation for this open-source driver), but some changes were sent in today for the upcoming Linux 5.8 kernel merge window.
While waiting to see NVIDIA's new open-source play and ultimately how the re-clocking situation will get addressed for Nouveau so modern GeForce GPUs can work at their intended frequencies on this open-source Linux graphics driver stack, at least the display support has been getting into a more reliable state with CRC support on the horizon as a result of NVIDIA's already published documentation.
ASUS has released a new budget graphics card that could actually be great for those wanting to use the open-source NVIDIA (Nouveau) driver stack on Linux.
Last week there were a bunch of new improvements and features for the open-source kernel graphics/display drivers merged for Linux 5.7. There were not any feature changes on the open-source NVIDIA "Nouveau" driver front while this week at least are some fixes/workarounds so it's less buggy for some hardware.
As written about last week, in the works for the Linux 5.7 kernel this spring is open-source NVIDIA "Nouveau" acceleration for the GeForce 16 series. That code is currently sitting in the Nouveau development tree until landing in DRM-Next for Linux 5.7, but NVIDIA has now posted the necessary firmware binaries needed for enabling the hardware acceleration on these Turing GPUs.
While the open-source Intel and Radeon OpenGL drivers within Mesa have long employed an on-disk shader cache to help with game load times by being able to load previously compiled shaders from disk, the Nouveau "NVC0" Gallium3D driver is on the heels of finally seeing similar support.
With the big Linux 5.6 kernel on the open-source NVIDIA "Nouveau" driver side there is finally accelerated support for the GeForce RTX 2000 "Turing" graphics cards (when paired with binary-only microcode). With that initial cut support is no GeForce 16 series Turing support, but that is now on-deck for Linux 5.7.
Now that the merge window is over for Linux 5.6, where the Nouveau open-source NVIDIA driver managed GeForce RTX 2000 "Turing" series accelerated support, a new feature addition landed Monday in the Nouveau kernel development tree for the next cycle.
Red Hat's Karol Herbst spoke at the FOSDEM 2020 conference in Brussels on the state of the open-source NVIDIA "Nouveau" Linux graphics driver stack.
Here is another big feature coming for Linux 5.6: the Nouveau driver will have initial accelerated support for NVIDIA "Turing" GPUs! This is coming at long-last with NVIDIA set to release publicly the Turing firmware images needed for hardware initialization.
Shortly before Christmas were a couple open-source Nouveau driver patches volleyed by NVIDIA. Some of that work is now queuing in the Nouveau DRM tree ahead of the Linux 5.6 merge window.
For the imminent Linux 5.5 kernel cycle we have talked about exciting AMD Radeon and Intel graphics driver changes on deck from Navi OverDrive overclocking to more Intel Tiger Lake and Jasper Lake bits, AMDGPU HDCP support, and other features queued. But what about the open-source NVIDIA "Nouveau" Linux driver?
Going back to December 2017 we've been tracking the Red Hat led effort on improving Nouveau's OpenCL compute support that involves adding NIR/SPIR-V support and improvements to the Clover Gallium3D state tracker. To much surprise, this morning the SPIR-V support for this open-source NVIDIA driver was merged for Mesa 19.3.
While NVIDIA doesn't contribute much open-source Linux driver code as it concerns their desktop GPUs (though they have been ramping up documentation), when it comes to Tegra/embedded is where they have contributed improvements and new hardware support to Nouveau and associated driver code in the past several years. NVIDIA's open-source Tegra/embedded contributions come as a result of customer demand/requirements. Their latest work is preparing to finally bring-up the "GV11B" Volta graphics found within last year's Tegra Xavier SoC.
While NVIDIA recently began publishing more hardware documentation, don't expect it to make an immediate difference in the quality of the open-source NVIDIA "Nouveau" driver. Today the pull request was sent to DRM-Next of the Nouveau kernel driver changes for the upcoming Linux 5.4 cycle and there isn't much to get excited about.
With last week's big DRM pull request for Linux 5.3 that brought Navi support most notably on the AMD side while Intel received HDR display support, continued Icelake/Gen11 work, and more, there weren't any changes to the open-source NVIDIA "Nouveau" driver. It was another unfortunate cycle of no major improvements for the Nouveau driver but at least sent out today were a set of new "fixes" for this driver that remains crippled on Maxwell GPUs and newer.
Building off the initial Turing mode-setting bits that were in place since Linux 5.0 and have continued stepping along to support newer variants on successive kernel releases, the Linux 5.3 kernel is slated to add support for the TU116 graphics processor.
If you are a user of the open-source NVIDIA "Nouveau" Linux graphics driver on laptops and have found no audio support, that is likely to be fixed by an upcoming kernel patch that should make its way to the Linux 5.3 kernel.
463 Nouveau news articles published on Phoronix.