For those who didn't use Nvidia on linux in the old times: The driver was a proprietary binary. Since a kernel module requires interfacing with the kernel API, it could be considered a derivative work and a breach of the GPL license. So, Nvidia provided a small open source shim which interfaced between the kernel and the proprietary module. You had to compile that shim yourself with the right arcane command line inca…
What do you mean with "old times"? :) That's basically still what happens. Fedora automates this nicely with akmods, which automatically rebuilds these source only modules and installs them when you update the kernel. Has been working smoothly for a while, but it is fundamentally the same thing still.
Nvidia releases open-source GPU kernel modules
351–360 of 415 posts
Re: Nvidia releases open-source GPU kernel modules
#352Re: Nvidia releases open-source GPU kernel modules
#353> In this open-source release, support for GeForce and Workstation GPUs is alpha quality. GeForce and Workstation users can use this driver on Turing and NVIDIA Ampere architecture GPUs to run Linux desktops and use features such as multiple displays, G-SYNC, and NVIDIA RTX ray tracing in Vulkan and NVIDIA OptiX. Users can opt in using the kernel module parameter NVreg_EnableUnsupportedGpus as highlighted in the docu…
What about GTX 16xx users? I have a GTX 1650 which is based on Turing but doesn't have the new NVENC encoder, I wonder if the new OSS driver will support this GPU, if it has that RISCV chip that everyone's talking about.
Re: Nvidia releases open-source GPU kernel modules
#354Earlier quoted context omitted.
This small tirade of yours is arguing against a strawman. GP is likely referring to the userspace component of nvidia's driver, not the actual blob that gets loaded onto the gpu. If it is indeed true that you need to run proprietary userland code, then this open-source release is nothing but a way to circumvent the GPL issues that lead to nvidia's driver partially breaking in Linux 5.??. While not ideal, I like many…
All closed-source kernel modules and a part of the firmware blobs (those that are for devices which have communication interfaces, especially wireless interfaces, and which may access directly the memory space without being blocked by a MMU under the control of the OS kernel) are major security risks, because they might be controlled by an attacker, with no means of detection by the user. With a security-strengthened…
In theory this may be true. But the particular opaque user-space program is talking to a driver authored by the same team. That driver is talking to hardware that has access to all of the memory in your computer.
The odds are high that a userspace program talking to this kind of driver could make your computer do something you don't want it to do in a way that is very difficult to suss out just by reviewing the driver source code.
(I agree that an open driver is a great improvement over a closed one. But I don't think you can make any strong guarantees about the safety of the closed userspace portions of this one, yet.)
Re: Nvidia releases open-source GPU kernel modules
#355Re: Nvidia releases open-source GPU kernel modules
#356Earlier quoted context omitted.
Has any rationale been provided around the blob being closed? Is it licensed, or simply too too complicated to pick apart? Graphics is a complicated field, but the techniques could still be patented - surely their market status isn’t dependent on trade secrets?
There have been reports earlier [1] that processing power of some GPUs is suppressed by software rather than the hardware capability itself. It is frequently easier to mass produce similar chips than to have different chips for different priced devices. I had come across comments in other online forums where the users alleged that some software flags restrict the capability. I hope someone else will link those webpag…
Re: Nvidia releases open-source GPU kernel modules
#357Earlier quoted context omitted.
> What does "upstreamable" mean in this context? Is this good or bad? "Upstream" is the kernel source tree maintained by Linus (and friends). As Linux is open source, anyone can fork it for any reason, and a lot of people do. However, Linus still maintains the common base that people use to build on top of. "Upstreaming" is the process of getting your code included in these official releases. It's significant because…
> upstreaming it is considered extremely good are we assuming some sort of automatic testing will be added? unit testing? integration testing? sounds super hard to do for a driver. but... high quality code just being merged into master can still have bugs introduced in the future on accident, right? it's tests that usually makes it safe?
Re: Nvidia releases open-source GPU kernel modules
#358Earlier quoted context omitted.
IIRC were some problems with the Linux drivers for Navi 1.0 that continued for about a year after launch. Supposedly those have been fixed. My Vega 56 has been perfectly stable and trouble-free for years.
As a Navi 10 (5700 XT) owner, those problems still exist. It used to be that at least once a week while gaming the driver would crash with some undecipherable error message in dmesg, and because the card had the reset bug the only recourse was to reboot the machine entirely. 4 years later the only thing that's changed is that the crash shows up less frequently (I'd say once every 3 months).
Anyway, going from "at least once a week" to "once every 3 months" means that 90% of your crashes have been fixed.
> with some undecipherable error message in dmesg
What kind of message would you expect that would be more decipherable.
Re: Nvidia releases open-source GPU kernel modules
#359Earlier quoted context omitted.
That might not even be overstatement. The last few big desktop linux crash-and-burns I've run into all had display drivers as a common component. I like back-foot, underdog NVIDIA. Ascendent AMD hasn't drawn my ire yet, let's hope power corrupts slowly.
Just had my first graphics stack issue since 2013 upgrading to Fedora 36 and was caught flat-footed. I've got multiple GPUs, so now I've got to figure out if it's Wayland, amdgpu, nouveau (since unblacklisting), or dkms. "Just working" has made me lazy.
I feel like JUST as the "Linux X11 Discrete Graphics Scenario" started to become more stable and less (not none, but less) of an issue to setup and upgrade without getting black screens, the Linux-world is now turning to a "new windowing server" i.e Wayland, we starting all over again sigh
Maybe the answer to having a decent and carefree discrete graphics Linux stack is to fork (Don't you dare link to the XKCD comic about 'Standards') SteamOS.
They are at least motivated (as it's part of their core product) to make it work most of the time. And have a done boat load of good work for Linux ecosystem. Well done guys ! :)
Re: Nvidia releases open-source GPU kernel modules
#360Earlier quoted context omitted.
Sadly, it's also not the actual GPU driver, just the kernel part; you still need their massive closed blob in userspace. Almost had me excited there for a moment.
While this is not as good as an open-source GPU driver, it is nonetheless a significant progress, which cannot be dismissed as useless. It is far more important to have open sources for all programs that are executed in privileged mode than to have the source for the programs that are executed in user mode. The kernel can control what a user-mode program does and limit its access to any hardware resources or CPU time…