NVIDIA R550 Linux Driver's Open Kernel Modules Performing Well On GeForce GPUs
With the recent NVIDIA 550.54.14 Linux driver release the R550 series is now out as stable. One of the prominent changes with the NVIDIA R550 Linux driver is bringing the GeForce and workstation GPU support up to "CERTIFIED" quality when using NVIDIA's open kernel modules that are distributed as part of their driver package. Previously the open-source (out-of-tree) kernel modules were just certified for their data center GPUs while now they are basically acknowledging that they are in good shape too for GeForce and workstation products. In this article are some benchmarks of the open and proprietary kernel driver options of the NVIDIA R550 Linux driver.
It was back in May 2022 that NVIDIA announced their open-source GPU kernel driver plans for Turing GPus and newer. Since then they've continued advancing this out-of-tree code that is bundled as part of their distributed driver package. The dual-licensed MIT/GPLv2 "Open" drivers continue to be synced on GitHub while those installing the NVIDIA driver package directly can pass "-m=kernel-open" for opting to use the open-source kernel driver option.
Previously the consumer GeForce GPUs also needed a kernel module option "NVreg_OpenRmEnableUnsupportedGpus" to enable the support on the open kernel driver but as part of the support promotion, that is no longer needed. Whether you are using the open or proprietary kernel drivers can be easily found by looking at the /proc/driver/nvidia/version output to see if the "Open Kernel Module" is mentioned or not. NVIDIA's open kernel modules option is NOT to be confused with the upstream open-source Nouveau driver effort.
By using the open kernel driver option there is support for DMA-BUF with CUDA allocations, Heterogeneous Memory Management (HMM), GPUDirect Storage, confidential computing, and other features only accessible by open-source driver users. But there are some known limitations in the open kernel driver with not yet having G-SYNC support on notebooks and vRAM is not preserved across power management yet.
Given the maturing support for GeForce GPUs with the NVIDIA "open" kernel driver alternative to the "proprietary" kernel driver, I ran some benchmarks on the new NVIDIA 550.54.14 driver between them. With the NVIDIA GeForce RTX 4070 Ti SUPER, RTX 4080 SUPER, and RTX 4090 graphics cards I ran a variety of graphics/gaming and compute benchmarks while testing both the R550 open and proprietary drivers. The open kernel modules were working out well and not having any issues compared to the proprietary driver. During the benchmarking not only was the raw performance analyzed but also the GPU power consumption between these alternative kernel drivers. Here's a look at those numbers. For those wondering how Nouveau compares, fresh numbers there are to be worked on.