Editor's note: See the update at the end of this article for Linus Torvalds' response to Nvidia.

Few companies have been the target of as much criticism in the Linux community as Nvidia. Linus Torvalds himself last year called Nvidia the "single worst company" Linux developers have ever worked with, giving the company his middle finger in a public talk.

Nvidia is now trying to get on Linux developers' good side. Yesterday, Nvidia's Andy Ritger e-mailed developers of Nouveau, an open source driver for Nvidia cards that is built by reverse engineering Nvidia's proprietary drivers. Ritger wrote that "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. We intend to provide more documentation over time, and guidance in additional areas as we are able."

The first step was releasing documentation of the Device Control Block (DCB) layout in Nvidia's VBIOS, describing the board's topology and display connectors. Ritger continued:

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. 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. If you have specific questions for NVIDIA, you can ask here, or direct them to: open-gpu-doc at nvidia.com. I can't promise we'll be able to answer everything, but we'll provide best-effort in areas where we are able.

The gesture was well-received. In response, Maarten Lankhorst of Canonical wrote, "You rock!" Lankhorst added, "Our biggest struggle at the moment is the video clocking and power management, which is highly device specific and depends on configuration too. A complete video bios documentation would be nice too, I understand that will take a bit longer than just the dcb."

I popped into the Nouveau IRC channel this morning to get the developers' take on the significance of the news. They confirmed that they already knew much of the information in the DCB documentation but said that it may "help us find a few corner cases for cards we don't own" and allow them "to handle uncommon cases we haven't seen in the wild."

One developer said, "The stuff Nvidia wants to offer in the future is much more interesting, really. That does sound like a good start, though."

Nvidia's move this week (on the same day that Valve announced a new Linux-based operating system for gaming) is a change of heart from the position it took last year after Torvalds' criticism. At the time, Nvidia told Tom's Hardware, "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 infrastructure. While this may not please everyone, it does allow us to provide the most consistent GPU experience to our customers, regardless of platform or operating system."

We've e-mailed Ritger, Torvalds, and Linux kernel maintainer Greg Kroah-Hartman to get more information and reactions, and we will update this post if we hear back from them.

UPDATE: Torvalds has responded to Ars, saying he's optimistic but not quite ready to apologize to Nvidia. "We'll see," Torvalds wrote in an e-mail. "I'm cautiously optimistic that this is a real shift in how Nvidia perceives Linux. 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.

"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."

Kroah-Hartman responded as well, saying, "It's very significant, and very nice to see happen."

UPDATE 2: Ritger responded to our questions regarding what Nvidia plans to do next. He wrote that "more BIOS-related information is in the pipeline," and that "Our goal is for the Nouveau driver to give NVIDIA users a reasonable out-of-the-box experience. This entails things like successful GPU initialization, display configuration, and basic 2D and 3D rendering. The DCB and other BIOS-related information will hopefully help improve some scenarios where Nouveau had initialization problems, or display enumeration sorts of challenges."

What information Nvidia releases will be "largely based on feedback from the Nouveau community," he also wrote. "So far, feedback from Nouveau guys has been that the DCB spec is actually more useful than I expected it to be, which is great news."