Some big recent news for linux users. NVIDIA has announced they will transition to fully open-source GPU kernel modules with the upcoming R560 driver release. This is a significant step toward open-source NVIDIA drivers for RTX cards.
Let’s break down how GPU drivers work because there’s a lot of confusion about this. The software stack for graphics cards has three levels: user space code, kernel code, and firmware code. Most modern graphics cards have their crucial code in their firmware, which is proprietary. This is the case for NVIDIA, AMD, and Intel.
This might sound familiar if you’ve been in the loop with the recent CrowdStrike outage due to a faulty driver update. Their drivers ran on the kernel level. Approximately 8.5 million Windows devices were impacted globally.
The financial impact of the outage was substantial, with estimates suggesting that the top 500 US companies alone faced an estimated ~$5.4 billion in losses, although only a portion of these losses were insured. 🫠
I shared my brief thoughts in the following post; The CrowdStrike Disaster of 2024
Linux users have historically favored AMD over NVIDIA because AMD’s open-source user space code (Mesa) often outperforms their proprietary drivers. NVIDIA users had to rely on the less performant Nouveau drivers for an open-source solution, which wasn’t as performant or ideal.
With the new driver release, NVIDIA is providing open-source kernel space code, allowing better communication between the user space code and the firmware. This is a big move from NVIDIA in order to compete with AMD on Linux. It’s important for those whose work depends on NVIDIA hardware and software, but who would prefer to use Linux over Windows.
This change also makes sense for NVIDIA financially. By going open-source with kernel modules, they tap into a pool of free developers who can improve the driver stack. NVIDIA benefits from any enhancements made, and if bugs arise, they may point to the open-source developers as a means to offload responsibility. Since the most critical code remains in the proprietary firmware, there’s little risk of significant competition.
This ecosystem is similar to that of popular video games like Minecraft and Grand Theft Auto, where core proprietary code is supplemented by user-created mods. This setup encourages users to buy the game (or in NVIDIA’s case, new graphics cards) for the extended functionality.
Additionally, Red Hat is developing a successor to the Nouveau drivers called Nova, written in Rust. If Nova can match Mesa’s success for AMD, we might see a new era of graphical Linux workstations. This development could make Linux a more attractive option for professionals currently stuck on Windows due to NVIDIA’s superior performance on that platform.