[ad_1]
Gaming on Linux has always been a bit more complicated than on Windows (or game consoles), and one reason is Nvidia’s poor driver support on Linux. That is now changing, although it is not clear how much the situation will improve.
Nvidia announced Wednesday that it has released its Linux graphics kernel modules as open source software, under a dual GPL/MIT license. In other words, now anyone can review Nvidia’s code, and developers can submit fixes and new features to improve drivers. Canonical (Ubuntu Linux developers), SUSE and Red Hat (Fedora Linux developers) applauded Nvidia’s decision to finally open up its Linux graphics drivers.
Nvidia said in its blog post: “In this open source version, support for GeForce and Workstation GPUs is alpha quality. GeForce and Workstation users can use this driver on NVIDIA Turing and NVIDIA Ampere Architecture GPUs to run Linux desktops and use features like multi-display, G-SYNC, and NVIDIA RTX ray tracing on Vulkan and NVIDIA OptiX.
Why open source matters
So why is this so important? Well, Nvidia graphics cards have never played well with Linux PCs. Intel and AMD maintain open source graphics drivers for their products, which can then be included in the standard Linux kernel. The bottom line is that if you have a gaming PC with a Radeon GPU or a laptop with Intel Xe graphics, everything it just works on Linux. Since the code is available for anyone to view and modify, graphics from Intel and AMD work best with the latest changes in the Linux ecosystem, such as the emerging Wayland display server.
Unlike AMD and Intel, Nvidia did not open source your drivers (before now). The proprietary driver package sometimes needs to be installed separately, and since Nvidia is the only one with access to the code, the drivers are not compatible with Wayland and other newer Linux features. Linux developers created the open source Nouveau driver as an alternative, but it generally offers worse performance than Nvidia’s software, as it is essentially a reverse engineering project.
In a nutshell, Linux PCs with Nvidia graphics cards have had to choose between two bad options for years: a closed source driver with bugs and missing features, or an open source driver with worse performance. In theory, Nvidia’s open source drivers should be the best of both worlds.
the catches
That’s all good news, but there are some reasons to temper your enthusiasm. Hector Martin, the lead developer of Asahi Linux, shared on a series of tweets that much of the important graphics code is not actually open source. Nvidia appears to have moved much of its proprietary code into the firmware of its graphics cards, which the open source code interfaces with, a bit like the Intel Management Engine in Intel CPUs.
For reference, Apple’s GPU firmware is ~400 kB. Apple’s display driver, which is an equally crazy RPC mess, is ~7MB, but most of it is data tables (~1.5MB is code).
Don’t get me wrong, less blobs in the kernel is great… but it wasn’t with your open source “driver”.
– Hector Martin (@marcan42) May 12, 2022
Martin theorized that some of Nvidia’s code cannot be open sourced due to patent and licensing agreements, so this half-measure was the only way to make open source drivers happen. AMD graphics drivers also use some proprietary firmware components, but not as much as Nvidia.
There are other problems too. The open source driver is only compatible with graphics cards that use Nvidia’s Ampere and Turing architectures, including the GeForce 16 series, RTX 20 series, and newer GPUs. Anyone with a GTX 10 series card or other older hardware does not have access to the new driver.
Finally, Nvidia doesn’t actually handle code updates like most open source projects. The FAQ section of the announcement says that each code release will be “a snapshot generated from a shared code base, so contributions may not be reflected as separate Git commits in the GitHub repository.” In other words, it will be difficult for developers outside of Nvidia to track changes and diagnose problems.
The open source driver release may be disappointing to some, especially anyone still using older Nvidia graphics cards that aren’t supported (it’s been a bit of a struggle buying a new graphics card lately). Still, this is an important step in the right direction, if only because companies like Canonical and Red Hat have the opportunity to help improve Nvidia’s code for the first time. ever.
Nvidia hopes the open source driver can eventually be updated into the Linux kernel, which could finally give PCs with GeForce hardware the same plug-and-play experience that Intel and AMD-based PCs have enjoyed for years under Linux.
Source: Nvidia, GitHub
[ad_2]