Nvidia, the graphics technology vendor that Linus Torvalds last year called the “single-worst company” Linux developers have had to deal with, appears ready to move a little closer to the open-source community.
In a Sept. 23 email to developers of Nouveau—an open-source driver for Nvidia’s graphics cards—Nvidia’s Andy Ritger wrote that the company will reveal some information on its GPUs and will continue to engage with them in the future.
“NVIDIA is releasing public documentation on certain aspects of our GPUs, with the intent to address areas that impact the out-of-the-box usability of NVIDIA GPUs with Nouveau,” Ritger wrote. “We intend to provide more documentation over time, and guidance in additional areas as we are able.”
Given the work that Nouveau developers have done in the past—they essentially have reverse-engineered Nvidia’s GPU drivers to create open-source driver cards for Nvidia’s GPUs—he said some of the information that the graphics card vendor releases may not surprise any of them.
“I suspect much of the information in that document is not news for the Nouveau community, but hopefully it will be helpful to confirm your understanding or flesh out the implementation of a few unhandled cases,” Ritger wrote. “A few of us who work on NVIDIA's proprietary Linux GPU driver will pay attention to nouveau at lists.freedesktop.org and try to chime in when we can. If there are specific areas of documentation that would most help you, that feedback would help NVIDIA prioritize our documentation efforts.”
Ritger’s email to the Nouveau developers represents a change from Nvidia’s previous dealing with the open-source world. Torvalds, who helped create the Linux kernel, made headlines in June 2012 when, while answering a question during a talk, he railed against Nvidia and its apparent hypocrisy of doing little to support open-source technology while trying to court the Android device space with its ARM-based Tegra systems-on-a-chip (SoCs).
“I know exactly what you’re talking about,” Torvalds said during the talk, which was videotaped. “I’m very happy to say that it’s the exception rather than the rule, and I’m also very happy to point out that Nvidia has been one of the worst trouble spots we’ve had with hardware manufacturers. That is really sad because Nvidia has tried to sell a lot of chips into the Android market, and Nvidia has been the single worst company we’ve ever dealt with.”
He then showed the camera taping the talk his middle finger.
Nvidia’s officials responded by essentially saying there were not planning to change anything.
“While we understand that some people would prefer us to provide detailed documentation on all of our GPU internals, or be more active in Linux kernel community development discussions, we have made a decision to support Linux on our GPUs by leveraging Nvidia common code, rather than the Linux common structure,” company officials said in a prepared response. “While this might not please everyone, it does allow us to provide the most consistent GPU experience to our customers, regardless of platform or operating system.”
That appears to be changing, at least to some extent. The first documentation Ritger offered was around Nvidia’s Device Control Blocks, which are described as “static tables used to describe the board topology and connections external to the GPU chip.”
Nvidia’s gesture seemed to be embraced by open-source developers, and Torvalds, in an email to the Ars Technica site, said he was “cautiously optimistic” that Nvidia was taking a new—and more open—tact with the Linux community.
“The actual docs released so far are fairly limited, and in themselves they wouldn't be a big thing, but if Nvidia really does follow up and start opening up more, that would certainly be great,” he wrote. “They've already been much better in the ARM SoC space than they were on the more traditional GPU side, and I really hope that some day I can just apologize for ever giving them the finger."