Check out our Monthly Survey Page to see what our users are running.

NVIDIA have released some GPU documentation on GitHub

By - | Views: 18,708

Someone check the weather in hell, as NVIDIA seem to be opening themselves up a bit more with the release of some additional GPU documentation.

Phoronix writes that NVIDIA notified them about the documentation now being available on GitHub along with it under an MIT license, which should hopefully help the Nouveau open source Linux driver. It was previously available here on their own website, although they stopped updating that in May. So not only is this more up to date with new and updated files, it's also far easier to look through.

The documentation covers all sorts of things like the BIOS, their custom "Falcon" architecture for security, memory tweaking and so on. This isn't just desktop GPU docs either, having a look over it myself there's information for notebook products as well.

According to what NVIDIA said, it's a work in progress and not everything is up yet. This has apparently been a "multi-year undertaking", which isn't really surprising given how it would all have to be run through different people to sign off on it. The legal spaghetti surrounding things like this is probably quite messy.

Pretty big surprise, nice to see NVIDIA make some more open steps. It's still nothing compared to the levels of AMD and Intel, since they have proper open source drivers but it's a good step in a nice direction for sure. You can find it all here on GitHub.

Hey NVIDIA, if you're reading—get in touch!

Article taken from GamingOnLinux.com.
Tags: NVIDIA
40 Likes , Who?
We do often include affiliate links to earn us some pennies. We are currently affiliated with GOG and Humble Store. See more here.
About the author -
author picture
I am the owner of GamingOnLinux. After discovering Linux back in the days of Mandrake in 2003, I constantly came back to check on the progress of Linux until Ubuntu appeared on the scene and it helped me to really love it. You can reach me easily by emailing GamingOnLinux directly.
See more from me
The comments on this article are closed.
55 comments
Page: «6/6
  Go to:

mirv 9 Aug, 2019
View PC info
  • Supporter Plus
Quoting: jens
Quoting: lucinos
Quoting: jensNothing wrong with criticizing, but repeatedly venting unfiltered frustration is not exactly that imho.

I do not think Shmerl overdid it.

Well I don't know. Have you seen the two discussions on Reddit?

If you look at the bare fact of releasing this documents and forget all history, this action itself is a good thing. Granted, a very small step and not the most important, but it is a positive step which may yield some hope for further actions into more open development. Yet this action is received, based on the discussion here, on Reddit or Phoronix like someone from Nvidia stated that they personally dislike some kernel developers. If I were working for Nvidia for Linux I would really have my doubts with this community, because it would never be good. AMD needed some 6 years to change their ways and there is still a lot to do. Yet people, especially people that long ago switched to AMD, would be only pleased if NVidia were magically able to this work in one week. Every voice that offers some empathy for the way Nvidia does things, or at least tries to offer some rationale explanation will be burned to the ground immediately.

Please don't get me wrong, there are lots of areas where Nvidia can improve their ways to the better, but one should not forget that it's never black and white/good and evil. Things take a lot of time, especially in large organizations with lots of different competing forces in it. People should just switch to AMD and be happy if they cannot wait, no need to continue the crusade.

(to set the "tone" for my response, I'm just offering counter-points in what is hopefully a respectful debate-like manner)

While I agree that there are shades of grey, and releasing docs won't happen overnight, it was nvidia who introduced binary drivers in the first place. They've had plenty of time to help FOSS drivers along, and up to now, really haven't done anything in that regard. I would argue that them trying to lock things down has stifled GNU/Linux graphics stack development of late.

nVidia have a bit of history here, so it's worth calling them out until there's something more concrete to believe that something will actually change. And there's no need to own nvidia hardware in order to do so. If nvidia allowed FOSS drivers to prosper before now, then projects such as gallium-nine might have become more mainstream. There's praise for DXVK now, but imagine if that was feasible across the board back when DX9 was more prominent. That's just one example where FOSS drivers for nvidia would have been of benefit to everyone.

Of course, it could also be argued that nvidia allowed gaming to take off for GNU/Linux, what with having relatively high quality OpenGL drivers for a long time. Counter argument is that it locked everything to nvidia's way of doing things, and it would be far superior if there was a FOSS alternative long ago. As I see it, we're now (thanks to Intel for keeping everything running for a long time, and to AMD for their efforts) seeing just what a proper FOSS driver stack can do. So just imagine if there was no need for development to be reliant on blobs - I daresay Wayland would be much further along than it currently is.

And I will reiterate on previous posts that FOSS is an important foundational element of GNU/Linux. Perhaps the end user doesn't have to care about that, but I truly do think that it must remain a core element of GNU/Linux, and that proprietary encroachment must be resisted. Sitting quiet won't do. As soon as the entire driver stack for everyone is FOSS, I personally would then start to mention more about wanting open sourced firmware as well.
jens 9 Aug, 2019
  • Supporter
Quoting: mirv
Quoting: jens
Quoting: lucinos
Quoting: jensNothing wrong with criticizing, but repeatedly venting unfiltered frustration is not exactly that imho.

I do not think Shmerl overdid it.

Well I don't know. Have you seen the two discussions on Reddit?

If you look at the bare fact of releasing this documents and forget all history, this action itself is a good thing. Granted, a very small step and not the most important, but it is a positive step which may yield some hope for further actions into more open development. Yet this action is received, based on the discussion here, on Reddit or Phoronix like someone from Nvidia stated that they personally dislike some kernel developers. If I were working for Nvidia for Linux I would really have my doubts with this community, because it would never be good. AMD needed some 6 years to change their ways and there is still a lot to do. Yet people, especially people that long ago switched to AMD, would be only pleased if NVidia were magically able to this work in one week. Every voice that offers some empathy for the way Nvidia does things, or at least tries to offer some rationale explanation will be burned to the ground immediately.

Please don't get me wrong, there are lots of areas where Nvidia can improve their ways to the better, but one should not forget that it's never black and white/good and evil. Things take a lot of time, especially in large organizations with lots of different competing forces in it. People should just switch to AMD and be happy if they cannot wait, no need to continue the crusade.

(to set the "tone" for my response, I'm just offering counter-points in what is hopefully a respectful debate-like manner)

While I agree that there are shades of grey, and releasing docs won't happen overnight, it was nvidia who introduced binary drivers in the first place. They've had plenty of time to help FOSS drivers along, and up to now, really haven't done anything in that regard. I would argue that them trying to lock things down has stifled GNU/Linux graphics stack development of late.

nVidia have a bit of history here, so it's worth calling them out until there's something more concrete to believe that something will actually change. And there's no need to own nvidia hardware in order to do so. If nvidia allowed FOSS drivers to prosper before now, then projects such as gallium-nine might have become more mainstream. There's praise for DXVK now, but imagine if that was feasible across the board back when DX9 was more prominent. That's just one example where FOSS drivers for nvidia would have been of benefit to everyone.

Of course, it could also be argued that nvidia allowed gaming to take off for GNU/Linux, what with having relatively high quality OpenGL drivers for a long time. Counter argument is that it locked everything to nvidia's way of doing things, and it would be far superior if there was a FOSS alternative long ago. As I see it, we're now (thanks to Intel for keeping everything running for a long time, and to AMD for their efforts) seeing just what a proper FOSS driver stack can do. So just imagine if there was no need for development to be reliant on blobs - I daresay Wayland would be much further along than it currently is.

And I will reiterate on previous posts that FOSS is an important foundational element of GNU/Linux. Perhaps the end user doesn't have to care about that, but I truly do think that it must remain a core element of GNU/Linux, and that proprietary encroachment must be resisted. Sitting quiet won't do. As soon as the entire driver stack for everyone is FOSS, I personally would then start to mention more about wanting open sourced firmware as well.

Thanks a lot for your reply. First and foremost I really appreciate the tone you use. I'm reading/receiving your factual and respectful response way different than "they are all jerks".

Actually I agree with most facts you state. I guess history could indeed have been different if Nvivia had decided for a different route. That said, I would say they just did at that time what worked best in their interest, serving Linux enterprise customers (the kind of Pixar's). Therefore they needed to progress fast and be flexible. I don't think Nvidia had the progress of the Linux Desktop much in mind. Retrospectively we can only guess if working more open and upstream would have granted them the success in the enterprise sector they had and thus would have justified an open way from the beginning. I agree that the desktop landscape stalled but considering how much financial volume were in the Desktop sector I can understand that they gave their enterprise customers priority. Fortunately the Desktop seems to get some traction, AMD and Intel did foresee this and reacted appropriately.
Please also keep in mind that their drivers always delivered from the beginning on first class OpenGl and now Vulkan support so it is not that all was bad. I can also tell from my professional experience that it is really not that easy to turn a huge software platform into something different once you're having 5 years of coding in it. I guess it would now be a serious investment when Nvidia suddenly wanted to go the AMD way, essentially like starting from the beginning. May be the timing for AMD and Intel was just better. Nvidia was faster and earlier but that created some legacy that seems to bite them now. (just speculating)

Anyway, the competition now is good and lets hope that Nvidia will get more open and upstream over time so that LInux as a Desktop platform further prospers.


Last edited by jens on 9 August 2019 at 7:49 pm UTC
mirv 9 Aug, 2019
View PC info
  • Supporter Plus
(I'll avoid the quote - it'll grow too long!)
@jens: yep, agree with all that. And actually you're reminding me of two points that I completely missed earlier.

First point: I could discuss "would have been better" all I want, but ultimately it doesn't help beyond a lesson learned approach. Nvidia have blobs. Nouveau isn't sufficient for gaming. That's the situation now. I would really like for the latter to change - and no matter how late to the party, it would be nice if this is the start from nvidia to allow for that happen. But nvidia also can't ignore enterprise, and I can completely understand that they come first. AMD had a huge benefit in that they could afford to play a longer game simply because they didn't have as large a market there to look after; there was just about no monetary risk for AMD to shake up their driver strategy, only rewards. nVidia aren't in the same boat - but who would have thought that 20 years ago?

Second point: extensions. Sometimes these are indeed tied up in 3rd party IP, and are beyond direct control of intel/nvidia/amd/whoever, and so are only available with blobs. They were early on very useful to enterprise, where it was necessary for performance, but were also heavily used in gaming as well.
Khronos are thus far pretty good with rolling extensions into Vulkan, but I'd really like to see GPU manufacturers allow kind of "early preview" extensions to be explored by FOSS developers. Nobody does this at current, as far as I'm aware (please someone correct me if I'm wrong). I think that's a missed opportunity by manufacturers to get extra early feedback on development trends.

...and ok, I'm commented out now. I probably won't post anymore, because I'm running out of things to say, but allow me to thank you for the nice discussion! Strange but true: allows me to de-stress from work.
Shmerl 9 Aug, 2019
Quoting: jensIf you look at the bare fact of releasing this documents and forget all history,

Why should we forget all history? Nvidia caused this mess, refused to fix it, and now provides documentation that still doesn't help with it and refuses to answer the direct question about fixing it as well. Should we now cheer? If Nvidia wants community to react positively, they should stop acting as jerks.

This whole problem isn't really dependent on their support of enterprise market, extensions and the blob. I.e. nothing should stop them from keeping their blob, without blocking Nouveau from working. Except, that would create an option for users to use Nouveau instead of the blob. So they are using firmware control as a market manipulation tool. I don't see any excuse for that. It's the same nasty lock-in like methodology, like many others they use (CUDA and so on).

Giving them a pass on this behavior only encourages it.


Last edited by Shmerl on 9 August 2019 at 5:19 pm UTC
jens 9 Aug, 2019
  • Supporter
Quoting: mirv...and ok, I'm commented out now. I probably won't post anymore, because I'm running out of things to say, but allow me to thank you for the nice discussion! Strange but true: allows me to de-stress from work.

I want to echo your ending, thanks a lot as well for your replies and thoughts! Have a nice and quiet evening!

PS: Regarding early preview of extension, I think this is (kind of) already happening, e.g. Valve bringing the DXVK author early into the progress of the transform-feedback Vulkan extension.
PPS: Indeed thanks for the reminder of 3rd party IP, this may indeed play a much bigger role than it seems.


Last edited by jens on 9 August 2019 at 7:53 pm UTC
While you're here, please consider supporting GamingOnLinux on:

Patreon, Liberapay or PayPal Donation.

This ensures all of our main content remains totally free for everyone with no article paywalls. We also don't have tons of adverts, there's also no tracking and we respect your privacy. Just good, fresh content. Without your continued support, we simply could not continue!

You can find even more ways to support us on this dedicated page any time. If you already are, thank you!
The comments on this article are closed.