9 ms·
Nvidia releases open-source GPU kernel modules
- marcodiego 4y agoHell is freezing? Serious, does it means we won't need Nouveau anymore? How many and which binary blobs it still needs? Are they encrypted or require signing?
- dzogchen 4y agoIt means Nouveau will finally can get good I think.
- salawat 4y agoNope, nouveau is still hosed because they've been blocked ny Nvidia's secrutful FALCON's which have the reclocking and power management API's locked away behind proprietary firmware blobs.
- pabs3 4y agonvidia switched away from FALCON to RISC-V.
- kaladin-jasnah 4y agoThis new driver targets GPUs with FALCON, and nouveau will be able to control it, as FALCON is GSP (https://www.phoronix.com/scan.php?page=news_item&px=NVIDIA-RISC-V-Next-Gen-Falcon https://www.phoronix.com/scan.php?page=news_item&px=NVIDIA-R...).
- salawat 4y agoThey're likely changing it because security researchers pwned FALCON. There is a way to leak the hash against which High Security mode FALCON compares the microcode for signature validation. So hopefully you'll forgive me if I maintain my skepticism over this being anything but Nvidia iterating to close a massive security defeat by redesigning their FALCON controller to mitigate the thorough pwning that's been achieved. I don't doubt there are other improvements, I just think the timing is pretty darn convenient, especially for being in the midst of a semiconductor shortage for going and doing a massive manufacturing change like that.
- jacooper 4y agoCurrently no, the driver is alpha code at this point. But the goal is to create a complete open source stack like MESA for AMD. Also its only for Turing and newer (GTX 16XX+) https://blogs.gnome.org/uraeus/2022/05/11/why-is-the-open-source-driver-release-from-nvidia-so-important-for-linux/ https://blogs.gnome.org/uraeus/2022/05/11/why-is-the-open-so...
- zokier 4y agoNouveau is still needed if you want open-source userland; the new nvidia open source thingy is only kernel-side and presumably works only with their own userspace drivers.
- jacooper 4y ago> presumably works only with their own userspace drivers. For now, the plan is to replicate the way AMD drivers Work, with having shared firmware but separate user lands, one closed and the other libre(MESA for AMD, Nouveau++ for nvidia?) More details here from Red hats Christian schaller https://blogs.gnome.org/uraeus/2022/05/11/why-is-the-open-source-driver-release-from-nvidia-so-important-for-linux/ https://blogs.gnome.org/uraeus/2022/05/11/why-is-the-open-so...
- gary_0 4y agoNouveau is still needed because Nvidia's drivers do not conform to Linux kernel standards, so they can't be upstreamed. Nouveau is conforming, so it still has a reason to exist. Fortunately Nouveau can more easily improve by using Nvidia's now-open source as a reference.
- verst 4y agoFrom the linked article: > The current codebase does not conform to the Linux kernel design conventions and is not a candidate for Linux upstream. [...] > In the meantime, published source code serves as a reference to help improve the Nouveau driver. Nouveau can leverage the same firmware used by the NVIDIA driver, exposing many GPU functionalities, such as clock management and thermal management, bringing new features to the in-tree Nouveau driver.
- snshn 4y agoNvidia... THANK YOU!
- madushan1000 4y agoWith the kernel driver open source + redistributeble firmware I guess the graphics APIs can be provided by mesa.
- SemanticStrengh 4y agoNouveau has very close to 100% openGL and ES support. It has a deficit of out of specs extensions support though. Also no opensource nvidia vulkan implementation?? https://mesamatrix.net/ https://mesamatrix.net/
- madushan1000 4y agoI guess nobody bothered to add vulkan support due to almost unusable performance without reclocking. Hopefully some work will get started with this news!
- SemanticStrengh 4y agoreclocking.. You're reminding me of so many memories of years of a decade of reading phoronix nouveau news. (btw nouveau mean new in french)
- deleted 4y ago[deleted]
- pixelmonkey 4y ago> 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 documentation. More robust and fully featured GeForce and Workstation support will follow in subsequent releases and the NVIDIA Open Kernel Modules will eventually supplant the closed-source driver. Customers with Turing and Ampere GPUs can choose which modules to install. Pre-Turing customers will continue to run the closed source modules. Translating & simplifying the language here: sounds like GTX 10xx GPU users (Pascal architecture, e.g. 1070/1080) will stick with closed source for now, but RTX 20xx GPU users (Turing architecture, e.g. 2080) and RTX 30xx GPU users (Ampere architecture, e.g. 3080) will have the option to opt-in to the open source kernel module. Stable open source support for GTX 10xx GPU users may come later.
- jabl 4y ago> Stable open source support for GTX 10xx GPU users may come later. Nope, Turing or later gen GPU is a hard requirement.
- kaladin-jasnah 4y agoThe reason for this is because NVIDIA's Turing and above GPUs use a new microcontroller called the GSP, which is RISC-V based. From my understanding, NVIDIA has offloaded their proprietary IP from the closed-source driver to the GSP firmware (and not the older microcontroller present on Pascal and lower). This is why `gsp.bin` exists in `linux-firmware` now, and the FOSS driver targets the GSP (because now the proprietary stuff isn't in the kernel driver but rather a RISC-V ELF binary that runs on the GPU), not the older controller.
- sabujp 4y agoctrl+f binary, tx this is the answer I was looking for. The binary is still in linux-firmware similar to intel drivers
- 4y ago
- yellowapple 4y agoThe Devil's putting on ice skates.
- hansihe 4y agoNote that this is just the kernel modules, not the actual graphics driver. IIRC these sources were already released under a permissive license along with their driver distribution. This just seems to be them putting those sources on GitHub and being more open to contributions.
- pluc 4y agoThe same could be said of a lot of Nvidia IP which was leaked a few months ago. But this is different, it's voluntary.
- tomxor 4y agoThanks for clearing that up, for a second I thought nVidia was finally Linux viable.
- amluto 4y agoAre they? I thought the “OS-agnostic” part was historically only available as a binary. Maybe that changed since last time I looked. On quick inspection, this is a complete, MIT-licensed kernel driver.
- mzs 4y ago>Note that the kernel modules built here must be used with gsp.bin firmware and user-space NVIDIA GPU driver components from a corresponding 515.43.04 driver release. This can be achieved by installing the NVIDIA GPU driver from the .run file using the --no-kernel-modules option.
- monocasa 4y agoThat's orthogonal to the parent's question. My understanding as well was that the bulk of the kernel space driver was previously only available as a binary blob, with only a small shim layer open sourced that loaded the rest of the kernel module and translated all of the internal kernel calls. I heard a rumor this was actually core to their internal legal theory about why they could have a binary blob kernel driver. Required firmware blobs and the user space libraries are ultimately different components in the stack.
- samtheDamned 4y agoAnd just like that my next gpu will probably be NVIDIA. AMD's recent prices have made nvidia look like a better option and the only thing holding me back was amd's amazing open source drivers and the options that came with. If nvidia's drivers become comparable or are well on their way then they would be the obvious choice in today's market.
- parasense 4y agoThe bits that implement the userland graphics libraries are closed source, unlike Mesa. So this is still useless, but don't get me wrong... I'll take it, but I'm still going to bitch about it. My hope is now folks will be able to adapt these Nvidia cards into the Mesa ecosystem, like ~10 years from now or whatever.
- wallaBBB 4y ago- Stock market crashing - Crypto being an absolute dumpster fire - Nvidia doing something to support Linux Catastrophe is upon us!
- alaricus 4y agoThe end times are upon us!
- test6554 4y agoLinus' middle finger lowers slightly.
- teekert 4y agoNvidia module does not taint kernel anymore!
- ece 4y ago16xx, 20xx, 30xx, and some enterprise cards. Still great progress.
- Pr0ject217 4y agolol!
- est31 4y agoFor the uninitiated: If the linux kernel is asked to load a module with an incompatible license, it's called "tainted": https://www.kernel.org/doc/html/latest/admin-guide/tainted-kernels.html https://www.kernel.org/doc/html/latest/admin-guide/tainted-k...
- teekert 4y agoI saw this message scroll by during booting, somewhere in 2004? I searched for it online and those were my first lessons on foss and the GPL. How great to see this happening. Is it the hack (I don't think so)? Is it the succes of Steam (Deck)? Is is Proton? Deep Learning? Probably all of it…
- nsajko 4y ago> load a module with an incompatible license Loading any out-of-tree module taints the kernel, for example the vbox modules are GPL: https://archlinux.org/packages/community/x86_64/virtualbox-host-modules-arch/ https://archlinux.org/packages/community/x86_64/virtualbox-h...
- cosmiccatnap 4y agoI don't normally curse on HN but I think I speak for all of us when I say Fucking finally.
- BeefySwain 4y ago> Open kernel modules support all Ampere and Turing GPUs. Datacenter GPUs are supported for production, and support for GeForce and Workstation GPUs is alpha quality. Sounds like this is not going to be what I game on for at least a little bit?
- johnny22 4y agoNope, but read this: https://blogs.gnome.org/uraeus/2022/05/11/why-is-the-open-source-driver-release-from-nvidia-so-important-for-linux/ https://blogs.gnome.org/uraeus/2022/05/11/why-is-the-open-so...
- DantesKite 4y agoI wonder what impact this will have on the SteamDeck if any.
- jonny_eh 4y agoThe Steam Deck uses an AMD GPU, so it was probably the other way around. I'm betting this was partly done so nVidia GPUs can be used in similar devices going forward.
- ghishadow 4y agothey are contributing to https://github.com/Plagman/gamescope/pull/454 https://github.com/Plagman/gamescope/pull/454 which is SteamOS session compositing window manager. so maybe in future Steam Deck will Nvidia tech.
- weinzierl 4y agoI wonder if it is the result of the LAPSUS$ hack. This was their statement from early March: "After evaluating our position and Nvidia's, we decided to add one more requirement." "We request that Nvidia commits to completely Open Source (an distribute under a FOSS License) ther GPU drivers for Windows, macOS and Linux, from now on and forever." "If this request is not met, on Friday we will release the complete Silicon, Graphics and Computer Chipset Files for all recent Nvidia GPUs."
- bogwog 4y agoI remember reading an article where it was claimed that Nvidia successfully did a “counter hack” on that group, whatever that means. Considering this is coming well after the supposed deadline, I don’t think it’s related.
- deleted 4y ago[deleted]
- Metacelsus 4y ago>If this request is not met, on Friday we will release the complete Silicon, Graphics and Computer Chipset Files for all recent Nvidia GPUs. Since the deadline passed I guess Nvidia negotiated, or they were bluffing.
- HidyBush 4y agoI don't think so. Phoronix.com just over a year ago reported that a big GPU maker was going to open source their drivers. I can't find the link but I believe this thing has been in the making for a long while [edit] found it: https://www.phoronix.com/scan.php?page=news_item&px=Big-New-Driver-Coming https://www.phoronix.com/scan.php?page=news_item&px=Big-New-...
- deleted 4y ago[deleted]
- messe 4y agoI wonder if that means their userspace drivers will follow soon.
- etaioinshrdlu 4y agoI am guessing the Nvidia is more okay with doing this because they have moved more functionality to the userspace components?
- kaladin-jasnah 4y agoThey moved more function to the GPU firmware: https://news.ycombinator.com/item?id=31346024 https://news.ycombinator.com/item?id=31346024
- the_duke 4y agoI wonder if this has been in the works for years, or if this is a reaction to the recent Lapsus hack.
- StillBored 4y agoThe datacenter focus here probably just means that $$$$ did the talking somewhere. AKA some large customer/former customer/potentially former customer said "open source or else" and they decided that having a couple people clean up, and push the special bits into the firmware/etc was a good way to solve the problem and keep $ALTERNATIVE at bay for the next generation or two.
- ssl232 4y agoI'd be interested to know too. The hackers purportedly demanded release of the Nvidia drivers as open source: > The LAPSUS$ hacking group, which has taken credit for the breach, had an unusually populist demand: it stated that it wants Nvidia to open source its GPU drivers forever and remove its Ethereum cryptocurrency mining nerf from all Nvidia 30-series GPUs (such as newer models of the RTX 3080) rather than directly asking for cash. [1] [1] https://www.theverge.com/2022/3/4/22962217/nvidia-hack-lapsus-have-i-been-pwned-email-breach-password https://www.theverge.com/2022/3/4/22962217/nvidia-hack-lapsu...
- evolve2k 4y agoLooking over the GitHub commit history of the two contributors on the repo, I’d say it’s a reaction. These folks look like they’ve barely touched much open source code before now. A planned run up would surely have these folks doing more GitHub based commits even if on very private repos.
- johnny22 4y agoc'mon y'all. read the other threads before commetning. It's not. https://blogs.gnome.org/uraeus/2022/05/11/why-is-the-open-source-driver-release-from-nvidia-so-important-for-linux/ https://blogs.gnome.org/uraeus/2022/05/11/why-is-the-open-so...
- alaricus 4y ago
- messe 4y agoHad to do a few doubletakes on this, but even with the recent hacks and progress on NVIDIA releasing Tegra source code, I didn't expect this for another few years. Holy shit. It's even licensed as MIT. Even OpenBSD could conceivably port this with enough manpower. Adding enough just emulation for the userspace driver would be a lot easier than maintaining a complete linux emulator. This is one of the biggest things to happen to hardware support for open source OSes in well over a decade.
- samstave 4y ago
- paisawalla 4y agoNvidia have always shipped closed-source drivers, despite AMD and Intel providing open source drivers for their GPUs. This made the experience on Linux second class to Windows, where while also closed source, at least you knew that bugs would probably get fixed. Various non-core features simply wouldn't have support on Linux, e.g. Optimus. Also, shipping closed source binaries would limit which kernel you could run to supported versions. Lastly, of course, this opens the way to non-Linux OSes receiving support as well. If you just search the web for "Nvidia issues Linux" you'll see quite a few complaints. Particularly from people who have obscure configurations -- they pretty much had no chance of getting anything to work.
- lucideer 4y agoThis is a good technical summary of the impact but I think misses the somewhat emotive history here. See things like this infamous clip from Torvalds[0] for more context on the community sentiment around nvidia in general. [0] https://www.youtube.com/watch?v=IVpOyKCNZYw https://www.youtube.com/watch?v=IVpOyKCNZYw
- jackosdev 4y agoDon't even have to click to know what that is, first thing that came to mind when I saw this headline
- intsunny 4y agoPhoronix link about what this actually means: https://www.phoronix.com/scan.php?page=article&item=nvidia-open-kernel&num=1 https://www.phoronix.com/scan.php?page=article&item=nvidia-o... Main takeaways: - support for gaming workstation GPUs is alpha - the user space stuff (OpenGL/Vulkan) is still closed source. (A LOT of heavy lifting is done here.)
- dang 4y agoOk, we've changed to that from https://developer.nvidia.com/blog/nvidia-releases-open-source-gpu-kernel-modules/ https://developer.nvidia.com/blog/nvidia-releases-open-sourc... above. Thanks! Edit: ok, changed back
- mort96 4y agoUh why would you change from a good, official source to a worse rehash of the same stuff with less detail from Phoronix? I don't even dislike Phoronix, but what was wrong with the first-party source?
- dang 4y agoUser suggestions about better articles tend to be pretty reliable, so we tend to trust them. Sometimes they turn out not to be better (at least not by consensus)—in which case we can change the link back. I've done so in this case. If you want to understand this process, you should understand that none of it involves actually reading the articles!
- intsunny 4y agoI would argue the Phonorix is the vastly superior link. That blog is the most dedicated to the confluence of 3D, Linux, and open source. The Nvidia copy is typical engineering marketing copy. The Phonorix post dives into everything with great detail and goes further by discussing the future of open source Nvidia support with the upcoming technologies, and existing technologies (Noveau, Mesa, etc) Nvidia fanboys care little for Phonorix because that site consistently points out how unfriendly and uncooperative Nvidia has been with the whole of the Linux community. (Web search for yourself Nvidia EGLStreams GBM.)
- kodah 4y agoAYYYYYY Shout out to nvidia for this.
- 8organicbits 4y agoI'm curious to see how they'll manage updates, so far it's one mega commit. > Showing 2,519 changed files with 1,060,036 additions and 0 deletions.
- bawolff 4y agoThat's not really surprising when they are importing to a new repo and they aren't sure there isnt anything confidential (or bad optics) in previous commits or message
- zokier 4y agofrom the article: > With each new driver release, NVIDIA publishes a snapshot of the source code on GitHub That definitely sounds like squashed commits will be the norm for now
- GlitchMr 4y agoAccording to README: > There will likely only be one git commit per driver release.
- sylware 4y agoThe kernel modules are the first stage I guess, since a massive amount of hardware programing knowledge is in user space like with AMD/intel GPUs. I wonder how much LAPSUS$ hack has to do with it. I wonder if nvidia hardware programing interface is a mess like AMD one, just curious.
- moffkalast 4y agoLikely very related, wasn't this one of their exact demands? Looks like Nvidia caved haha.
- johnny22 4y agoit's not at all. https://blogs.gnome.org/uraeus/2022/05/11/why-is-the-open-source-driver-release-from-nvidia-so-important-for-linux/ https://blogs.gnome.org/uraeus/2022/05/11/why-is-the-open-so...
- Shared404 4y agoThis is well after the deadline iirc, and not the sort of thing that gets rushed. I doubt this is directly because of that.
- sylware 4y agomaybe for the user space then.
- dralley 4y ago>I wonder how much LAPSUS$ hack has to do with it. Probably zero. 1) There have been rumors about this for months 2) The hacks only happened very recently, this certainly would have taken longer to do than that.
- aspaceman 4y agoDo you have a reference for the AMD interface? I know it exists but don't know where to find it.
- zamadatix 4y agoI was worried they had actually decided not to do this after seeing all of the other recent developments and then a pause. Glad to see it was just part of the path to it.
- tonnydourado 4y agoTen bucks Linus will curse at them in the near future.
- deleted 4y ago[deleted]
- throwaway8486 4y agoMay be but atleast he wont show the middle finger
- black_puppydog 4y agoWould love to hear from folks who worked on this! Was this an ongoing thing? Did it have to be pitched hard? What finally made the difference? I'm assuming here it's not because of LAPSUS as some speculate. This seems like it must have been in the making for quite a while.
- bcatanzaro 4y agoI didn't work on this but I have watched it with interest for a very long time. It has been a strategic initiative in order to improve the GPU compute ecosystem. No one loves having a tainted kernel and everyone who uses a GPU with Linux (which is almost all data center GPUs) would prefer to have the kernel modules open source. It took a lot of work and planning to figure out how to do this over many teams for a very long time, and then an enormous amount of testing to prove the new drivers were fast enough to be deployed.
- exikyut 4y agoIt could be quite interesting to outline just how far back in time this started (with lots of details), considering those demands to open-source certain code that were apparently made around March 3rd this year. My own motivation is to believe that NVidia isn't as broken as everyone insists it is, I guess :) and more broadly speaking it honestly seems like a Good And Interesting Idea to make the situation more clear in any case, particularly given the coverage and significant collective awareness it's attracted. Also, I found https://www.phoronix.com/scan.php?page=news_item&px=Big-New-Driver-Coming https://www.phoronix.com/scan.php?page=news_item&px=Big-New-... in another comment - 22 May to 12 May, that's some serious stamina lol
- bcatanzaro 4y agoThis functionality has been rolled out (shipping) for the past year. From the blog post: "This was made possible by the phased rollout of the GSP driver architecture over the past year, designed to make the transition easy for NVIDIA customers. https://download.nvidia.com/XFree86/Linux-x86_64/510.39.01/README/gsp.html https://download.nvidia.com/XFree86/Linux-x86_64/510.39.01/R..."
- dzogchen 4y agoWow, this is big for Linux & Nvidea isn't it?
- gchamonlive 4y agoDoes this mean we get a bit closer to having native, kernel-level Optimus drivers for Linux?
- geerlingguy 4y agoWith this announcement, I'm now interested in trying out some Nvidia graphics cards on the Pi again. Nouveau had some issues, and the official drivers had no source available, so I couldn't hack them to work. With the source available... it could be possible! Of course, CUDA support may never happen there, at least not using open source code.
- remexre 4y agoWhich ones are connectable to it? And does this rely on the "replace the USB3 controller with a PCIe bridge" hardware mod?
- aftbit 4y agoParent is talking about the Compute Module 4, which can plug into (among other things) a first party IO board that has a PCIe 1x slot. With a simple hardware mod (cut the slot connector, cut the GPU, use a riser, etc etc), any GPU can physically fit. He's only gotten one to work so far though, an ancient ATI card. Lots of fun YouTube videos and GitHub issues about this if you search parent's name or look at links in his profile.
- adolph 4y ago<meta>-F geerl: not disappointed Thank you for the work you do, I'm going through your ssd on rpi4 today!
- jacooper 4y agoIts a bit too early now isn't it ? The driver is still very alpha, and doesn't support most display stuff.
- malikNF 4y agohttps://github.com/geerlingguy https://github.com/geerlingguy
- geerlingguy 4y agoThis early is a good time to also iron out some of the inevitable aarch64 bugs that have already been ironed out in other kernel drivers for AMD/other stacks.
- 8organicbits 4y agoThis may be a boon for unlocking hardware features on GeForce. Stuff like below shows that some things are just disabled in hardware, but lots of reverse engineering would be needed to bypass it. https://www.ibtimes.com/nvidia-geforce-graphics-card-virtualization-hacked-how-activate-vgpu-feature-3179008 https://www.ibtimes.com/nvidia-geforce-graphics-card-virtual...
- kaladin-jasnah 4y agoWith this NVIDIA can move these things to the GPU firmware, making things like vGPU enablement harder.
- NexRebular 4y agoWell, then... hopefully FreeBSD and illumos will finally start getting support for CUDA.
- ggm 4y agoThis. A clutch of really nice laptops fail hard when you include the .ko GPU blobs, and most developers in BSD land shrug and say "use VESA 2D" which is fine, for all but high-DPI use. (ok, its fine everywhere, but sub-par. you use more grunt doing less work to try and deal with dumb video device) so ok, not exactly "this == CUDA" but this == decent kernel module drivers for the GPU.
- smw 4y agoAnyone know if this makes it easy to hack in SR-IOV support for desktop class gpus?
- InitEnabler 4y agoWow. Am I dreaming? That's great.
- marcodiego 4y agoFor 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 incantations and if you did anything wrong, missed the right packages or had an incompatible user space, including libs and compiler, you could end up without X11 and no way to easily run a browser or google about the problem you had. You had to do it EVERY FUCKING TIME YOU UPDATED THE KERNEL! It was still possible to edit xorg.conf or, if you were older, xf86config by hand to fix it and use the VESA driver, but it was very inconvenient. It became more reliable over the time and even fully automated with DKMS, but I hated them for it. I used and recommended ATI and INTEL for most of the people I could for a long time because of this. I was from a time when It was possible to use 3D acceleration on linux with 3dfx with fully open source drivers (I think), giving you a cheap UNIX-like graphical workstation with OpenGL support. When Nvidia bought 3dfx and simply killed their drivers, my hate became specially strong. EDIT: Remember you had to recompile the shim at every kernel update and replaced "module" with "driver".
- deleted 4y ago[deleted]
- Teknoman117 4y ago
- eru 4y ago> [...] you could end up without X11 and no way to easily run a browser or google about the problem you had. You don't need X11 to run a browser. But you are right that it's pretty inconvenient without.
- dmead 4y agothe old times is what precipitated linus to give nvidia the finger.
- anthk 4y ago
- School-Cotton 4y agoHow does what is being open-sourced differ from the proprietary binary modules?
- mjg59 4y ago1) This is unambiguously Good News 2) This is not upstreamable in its current form (nvidia admit this in their press release) 3) In an ideal world, nouveau (the open source driver for nvidia hardware) would be able to target this kernel code. Right now though there's no commitment for any sort of stable userland ABI, and that makes that difficult (moving to a new driver version may break interfaces that nouveau uses) The press release does say that they have plans to figure out a more upstream friendly approach in the long term, which is great - and what has been released will undoubtedly help development of the existing nouveau codebase.
- olliej 4y ago(1) No, it's unambiguously "meh" news Nvidia have merely moved their giant closed source drivers into "firmware" - they now have a 34Mb firmware image for the GPU, that would be more correctly called the real drivers. They have essentially created an open source GPL forwarding layer so that the non-GPL firmware gets access to GPL-only kernel APIs, that's it.
- deleted 4y ago[deleted]
- smcl 4y ago> This is not upstreamable in its current form (nvidia admit this in their press release) True, I remember though that the semi-recent AMD Radeon drop was not immediately merge-able to mainline because they used a bespoke hardware abstraction layer. But (as alluded to by your point #1) it's a huge first step, and in AMD's case I think they eventually reworked it so that it could indeed be merged.
- robocat 4y agoThis is the key paragraph in the article relevant to your point: This open-source kernel code is currently split into OS-agnostic and kernel interface layer components. This stems from NVIDIA's proprietary driver on Linux largely being shared code across Windows / Linux / FreeBSD / Solaris. For it to be upstreamed in the Linux kernel it would likely need to be more re-factored to cater to Linux, just as AMD's DAL/DC originally had tough time upstreaming due to its numerous abstractions.
- deleted 4y ago[deleted]
- ASalazarMX 4y agoI did a double take because the title is almost clickbait for us desktop Linux users, and immediately wondered "what's the catch?". It's a significant catch, but also a significant step in the right direction.
- bombcar 4y agoIt sounds like this "GSP" lets them binary blob their "secret sauce" on the controller itself, so the rest of the driver can be open source now.
- madushan1000 4y agoProbably all their "enterprise" feature lockouts(vgpu etc..) are in the gigantic firmware that's loaded into GSP. But things that matter to desktop users probably aren't going to be locked out this way.
- deleted 4y ago[deleted]
- kiechu 4y agohttps://youtu.be/_36yNWw_07g https://youtu.be/_36yNWw_07g Linus expressing his deepest gratitude.
- jpe90 4y agoI didn’t see anything for Pascal GPUs, are they left out?
- SemanticStrengh 4y agoI thought they had open source CUDA kernels for a minute..
- samus 4y agoSince the open sourced drivers are explicitly stated in TA to also help the Nouveau driver improve, the latter does not matter that much. That's what Mesa is here for.
- zekrioca 4y agoIt seems the modules bridge the kernel with the driver [1], so it is this part that is GPL/MIT, the driver itself is still a binary blob. AMD probably does the same? Correct me if I'm wrong. [1] https://github.com/NVIDIA/open-gpu-kernel-modules/tree/main/kernel-open https://github.com/NVIDIA/open-gpu-kernel-modules/tree/main/...
- puffoflogic 4y agoYou're looking at the wrong thing. https://github.com/NVIDIA/open-gpu-kernel-modules/tree/main/src https://github.com/NVIDIA/open-gpu-kernel-modules/tree/main/... contains the largest parts of the driver.
- pmoriarty 4y agoJust out of curiosity, how easy would it to have been to decompile and reverse-engineer the original closed-source modules and then write an open sourced version of them? Would that have been legal?
- wmf 4y agoThat's called Nouveau.
- exikyut 4y ago
- iepathos 4y agoThank you nvidia, we've been waiting for this and you finally came through for us!
- viksit 4y ago23 years ago in middle school I made my first ever linux user group post [1] trying to shift from an nvidia geforce to the onboard cyrix mediagx drivers because they had closed source drivers. It’s been a long time coming lol. [1] https://www.spinics.net/lists/xf-xpert/msg04601.html https://www.spinics.net/lists/xf-xpert/msg04601.html
- spyremeown 4y ago>in middle school Haha that's awesome! I was 1 yo 23 years ago, but in the same vein, I had my middle school years of Linux. Although it was significantly simpler than what you were up to at the same age!
- blihp 4y agoThey can finally close that support ticket!
- _uiyh 4y agoThis year just keeps getting more weird
- comandillos 4y agoMay this enables the possibility of compiling NVIDIA drivers for ARM-based PCs?
- adolph 4y agohttps://github.com/NVIDIA/open-gpu-kernel-modules#supported-target-cpu-architectures https://github.com/NVIDIA/open-gpu-kernel-modules#supported-... "Currently, the kernel modules can be built for x86_64 or aarch64."
- wmf 4y agoNvidia has been providing ARM drivers for a little while and they work on Ampere Altra.
- voldacar 4y agoSo is it correct that they are only open-sourcing the kernel-mode portion of the driver and that the real meat of the driver like the shader compiler will remain in a closed-source binary?
- jacooper 4y agoIt will probably end up like how AMD cards work. The closed source driver still exists but there will hopefully be a completely open source stack (Nouveau++?) For nvidia. This blog has more details about red hats plans for this driver. https://blogs.gnome.org/uraeus/2022/05/11/why-is-the-open-source-driver-release-from-nvidia-so-important-for-linux/ https://blogs.gnome.org/uraeus/2022/05/11/why-is-the-open-so...
- sobkas 4y ago> The closed source driver still exists but there will hopefully be a completely open source stack (Nouveau++?) For nvidia. I can only hope they change name to aidivn, like any sane driver should.
- feanaro 4y agoI've never properly understood why the closed source AMD driver still exists. Is it substantially different from the open source one? Does it offer anything not included in the open source one?
- SXX 4y agoAMD proprietary driver actually has only few proprietary bits. Other than OpenCL that was already mentioned there are: * Proprietary shader compiler that can also be used for Vulkan * Legacy OpenGL driver optimized for closed-source workstation apps
- anthk 4y agoWorse than I tought: https://rebatir.fr/post/2022-01-25-OpenCL_on_Linux_state_of_AMD_drivers_is_now_worse_than_it_was_back_in_the_days_of_fglrx/ https://rebatir.fr/post/2022-01-25-OpenCL_on_Linux_state_of_...
- JonChesterfield 4y agoThe rocm stack has a short list of supported hardware, but it'll run in YMMV fashion on other hardware.
- kadoban 4y agoWow! I literally never thought I'd see the day. I've been on linux for at least a couple of decades now, and this has been a thorn in my side from the get-go. I can't overstate how huge this is! Great work Nvidia, seriously. It does look like it's not perfect, but damn it's a great step.
- e12e 4y agoThis is great. Anyone know how/if this will/does impact laptops with nvidia dGPU?
- mc4ndr3 4y agoWill Linus revisit his rejection of Nvidia integration?
- anonymousDan 4y agoCan this be used with CUDA for GPGPU or is it somehow only relevant for graphics?
- ncmncm 4y agoYou might be curious about Kompute++. But anyway, the user-space stuff is still the same. This only affects the kernel modules.
- zepearl 4y agoPublic post by nVidia: https://developer.nvidia.com/blog/nvidia-releases-open-source-gpu-kernel-modules/ https://developer.nvidia.com/blog/nvidia-releases-open-sourc...
- blondie9x 4y agoIs this connected to the hack/leak where the hackers requested this very move? WE REQUEST THAT NVIDIA COMMITS TO COMPLETELY OPEN-SOURCE (AND DISTRIBUTE UNDER A FOSS LICENSE) THEIR GPU DRIVERS” https://www.theverge.com/2022/3/1/22957212/nvidia-confirms-hack-proprietary-information-lapsus https://www.theverge.com/2022/3/1/22957212/nvidia-confirms-h...
- viraptor 4y agoNo, there's no reason for NVIDIA to react to that. Anyone working in the industry even glancing at a leak from the competitor would become a toxic legal liability. It's been a problem for reactos with windows leaks, and it would be orders of magnitude worse for NVIDIA/AMD.
- pawelduda 4y agoNever though this would happen in my lifetime.
- haupt 4y agoOh frabjous day! I have been waiting for this for literal decades.
- deleted 4y ago[deleted]
- endgame 4y agoThis is what happens when you don't just give up and "be pragmatic". Kudos to NVidia for coming to the table, and I look forward to seeing more of this sort of thing.
- dekhn 4y agoI first used OpenGL on linux in 1995. Software-based commercial X server that was unusably slow. By 98 or so I had Mesa, and was running software-based open source OpenGL (still pretty slow, but almost usable). By 2001, I think, I had a FireGL card that was supported in linux doing hardware OpenGL, I think it was a partly open source kernel driver- first time I had competitive performance to lower-end SGIs in the lab). FireGL was then acquired by ATI which sold their cards as high-end and continued the driver. After that I reverted to software for driver reasons, then to the nvidia driver, which I've used on linux for over a decade now. I will give ATI and nvidia credit for having at least some fairly good level of support for linux over the past two decades.
- deleted 4y ago[deleted]
- XorNot 4y agoLooking forward to a day when out of the box Nvidia and AMD GPUs just work on Linux at fullpower and features.
- skittleson 4y agoI believe everyone is the comments are like, "Omg! They finally took us seriously telling they are horrible at writing drivers for Linux". Good job Nvida
- Humphrey 4y agoI'm confused! Why would Nvidia want to keep any of this closed source. Surely they make money when people buy graphics cards, and having open source out-of-the-box graphics support in Linux would mean they would sell more graphics cards?
- lights0123 4y agoThey only really care about Linux usage in embedded computers (Jetson) and in datacenters, and Free drivers would allow you to modify them to permit using consumer GPUs in virtual machines. Currently, you need to spend significantly more money for an enterprise GPU that has the same specs as a consumer GPU just so the driver will allow you to use GPU passthrough. They did recently allow consumers to pass a GPU to a single Windows VM guest so you could run a Windows-only game, but you can't split access to the single GPU among multiple VMs.
- native_samples 4y agoDrivers are a large part of the development costs of a GPU, just like how an operating system is a large part of the development cost of a general computer. If nVidia open sourced all their drivers tomorrow the risk of some cheap Chinese shop making clones of their hardware and re-targeting the nVidia drivers to get lots of the features would be very high. It'd significantly reduce the value of what they'd built (to them). Really, I don't get why so many Linux users ask questions like this. Most software is proprietary because it costs money to develop. This site we're talking on isn't open source. Windows isn't. macOS / iOS isn't. Games generally aren't. Google isn't. Azure/Bing aren't. Open source is the exception, not the norm.
- KingMachiavelli 4y agoAMD and Intel both have open source video drivers and I really doubt anyone has cloned them. The non-free features for the Nvidia cards and many other chips are achieved by the card itself running closed source binaries. It is actually probably a better way to protect IP anyway since no one can decompile the encrypted binary (well until recently...). Open source and proprietary software exist as a duality. It's not an absolute expectation that everything will be open source but Nvidia is very late vs its competitors. Google, Windows, macOS, etc. all have large open source parts. Games are kind of an exception because they are treated like a single work of art. Also, crucially no other software or hardware has a game as a dependency so interoperability isn't a concern.
- frogger8 4y agoAs predicted 3 months ago ;) https://news.ycombinator.com/item?id=30471005 https://news.ycombinator.com/item?id=30471005
- pabs3 4y agohttps://blogs.gnome.org/uraeus/2022/05/11/why-is-the-open-source-driver-release-from-nvidia-so-important-for-linux/ https://blogs.gnome.org/uraeus/2022/05/11/why-is-the-open-so... https://news.ycombinator.com/item?id=31345835 https://news.ycombinator.com/item?id=31345835
- pyuser583 4y agoYay!!!
- JCWasmx86 4y agoFinally some good news for free software \o/
- pikseladam 4y agoWhat does it mean? I don't know anything about it? Why is it good news?
- Lapsa 4y agowoah.... that only took like forever. anyhow - good job
- deleted 4y ago[deleted]
- Luker88 4y agowatch out the fine print though: https://twitter.com/marcan42/status/1524615058688724992 https://twitter.com/marcan42/status/1524615058688724992 34MB firmware Good, but I'll try to stick with AMD. If only AMD's opencl support was better...
- paulmd 4y agowe regret to inform you... https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git/tree/amdgpu https://git.kernel.org/pub/scm/linux/kernel/git/firmware/lin... AMD still has closed-source binary blobs in their cards too, as does everyone else. Their userland is also closed-source too, just like NVIDIA's.
- Bancakes 4y agoCongrats! Most importantly, will they open source Optimus? Even though the drivers work, getting everything to render on the GPU, and output to the laptop LCD, has always been an inconsistent pain.
- alaricus 4y ago
- rawoke083600 4y agoThis is such good news... I hope we see 'real world improvements soon' ! The amount of time, I was 'sucked' with a black-screen after a reboot and the amount of time I wasted with Nvidia drivers ! I swear I would never buy NVIDIA again !
- xbmcuser 4y agoIf I understand this correctly nvidia is moving its proprietary code from the drivers to the card itself. Looks like we are looking at a future where graphic cards will get firmware updates instead of driver updates. I am wondering with how large the newest graphics cards and ho the power requirements are so much larger than the other components. I see a future where we have PC cases and laptops with a pci slot exposed externally to attach external graphics cards which has it's own power supply and cooling only. It is attached to the PC when you need the GPU power for gaming or work then just remove it for a silent PC. As we start hitting the physical limits for moores law I think such a future is big possibility.
- blablabla123 4y agoThat makes ThinkPads with Linux look much different than before compared to MacBooks with macOS. (And save a lot of update/re-configure/re-install cycles...)
- floor_ 4y agoI wonder how much of this decision was due to the hack leaking everything they had.
- cV6WB 4y agoCan someone ELI5 for this news?
- jwithington 4y agoCan I get an ELI5 on this? At time of writing 2018 points but I have no clue what the significance is.
- jwithington 4y agoCan I get an ELI5 on this? I don't do enough in this space to understand the significance. Thanks in advance to whomever can help out!
- hex69 4y agoIsn't this connected with fact that nvidia got threats from lapsus group to open-source their's drivers unless hacker will publish some stolen confidential data? https://videocardz.com/newz/hackers-now-demand-nvidia-should-make-their-drivers-open-source-or-they-leak-more-data https://videocardz.com/newz/hackers-now-demand-nvidia-should...
- deleted 4y ago[deleted]
- figassis 4y agoTIL HN has an excellent duplicate link feature. It's my first time posting a link, and behold, teleported straight to the existing post.
- gjvc 4y agocan someone point me to the reason why this open-sourcing only covers the newest generation(s) of hardware?