Nvidia Could Be Changing Their Hostile Attitude Towards Free Software Drivers
Nvidia-employed kernel developer John Hubbard is scheduled to hold a talk with the rather interesting title "Open Source, Linux Kernel, and NVIDIA" at Nvidia's "GPU Technology Conference" scheduled to be held March 23rd to 26th 2020. Its description mentions "contributions to Linux kernel" and "supporting Nouveau". This could signal a shift from outright hostility towards free software to something the Linux community could benefit from.
published 2019-12-06 - last edited 2020-01-04
A Nvidia representative at a trade-show.
The American graphics giant Nvidia is known to be hostile towards the GNU/Linux communities and free software in general. Linux kernel inventor and chief architect Linus Torvalds has described Nvidias free software efforts so far as:
"Nvidia has been one of the worst trouble-spots we've had with hardware manufacturers"
Free software developers have worked hard creating a free driver for Nvidia GPUs called
Nouveau. It is horribly slow and border-line useless because it is unable to do very basic things like re-clocking NVidia GPUs thanks to restrictions in Nvidia's firmware. It is not like Nvidia just don't care or simply doesn't bother to contribute to the free software driver the Linux community has created for them; Nvidia is actively preventing free software drivers from working well with their GPUs.
The Nvidia-employed Linux kernel developer John Hubbard is scheduled to hold a talk session titled "Open Source, Linux Kernel and NVIDIA" at Nvidia's GPU Technology Confierence in March next year. It is described as:
"We'll report up-to-the-minute developments on NVIDIA's status and activities, and possibly (depending on last-minute developments) a few future plans and directions, regarding our contributions to Linux kernel; supporting Nouveau (the open source kernel driver for NVIDIA GPUs, that is in the Linux kernel), including signed firmware behavior, documentation, and patches; and NVIDIA kernel drivers."
This is interesting for two very different reasons. Most importantly, Nvidia GPUs newer than the ancient "Kepler" series GPUs (GeForce GTX 600/700) can not be re-reclocked by free software drivers thanks to Nvidia's PMU firmware. Removing that road-block would go a long way towards making the free
Nouveau driver for Nvidia GPUs a viable alternative to Nvidia's own proprietary drivers. The nouveau FeatureMatrix at freedesktop.org shows that
Nouveau is near feature-complete in many areas yet it is slow and useless due to firmware restrictions.
The talk description's wording is also quite interesting and perhaps a bit telling. There is no promise to do the right thing. The description says John Hubbard will possibly talk about "signed firmware behavior" and other kernel-related efforts. John Hubbard could have decided to word it that way because he has yet to get a green light from the higher ups.
John Hubbard is one of several Nvidia-employed kernel developers. Yes, Nvidia does employ kernel developers. Nvidia makes ARM hardware and they contribute to the Linux kernel on that side of things since it is required to make their ARM products run Android. John Hubbard has submitted a lot of patch-sets such as PATCH v7 00/24: mm/gup: track dma-pinned pages: FOLL_PIN to the Linux Kernel Mailing List. The absence of contributions to
Nouveau or other graphics-related code from him and other Nvidia employees is apparent.
Nvidia's "GPU Technology Conference will be held 23rd to 26th of March 2020 in San Jose, USA. That is when we will find out if Nvidia will finally stop crippling the free software drivers the community have created for their graphics cards. The only educated guess we can make until then is that there are developers working for Nvidia who would very much like to remove the restrictions. That may or may not result in anything meaningful.