Recently Linus Torvalds stated that NVIDIA is the worst company to work with in regards to the Linux kernel. He then colorfully displayed his frustrations with the company. Given the track record of difficulty associated with porting new kernels to NVIDIA based devices, we can’t help but agree.
NVIDIA responded to inquires from Phoronix with the following statement written by PR personnel:
Supporting Linux is important to NVIDIA, and we understand that there are people who are as passionate about Linux as an open source platform as we are passionate about delivering an awesome GPU experience.
Recently, there have been some questions raised about our lack of support for our Optimus notebook technology. When we launched our Optimus notebook technology, it was with support for Windows 7 only. The open source community rallied to work around this with support from the Bumblebee Open Source Project http://bumblebee-project.org/. And as a result, we’ve recently made Installer and readme changes in our R295 drivers that were designed to make interaction with Bumblebee easier.
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.
As a result:
1) Linux end users benefit from same-day support for new GPUs , OpenGL version and extension parity between NVIDIA Windows and NVIDIA Linux support, and OpenGL performance parity between NVIDIA Windows and NVIDIA Linux.
2) We support a wide variety of GPUs on Linux, including our latest GeForce, Quadro, and Tesla-class GPUs, for both desktop and notebook platforms. Our drivers for these platforms are updated regularly, with seven updates released so far this year for Linux alone. The latest Linux drivers can be downloaded from www.nvidia.com/object/unix.html.
3) We are a very active participant in the ARM Linux kernel. For the latest 3.4 ARM kernel – the next-gen kernel to be used on future Linux, Android, and Chrome distributions – NVIDIA ranks second in terms of total lines changed and fourth in terms of number of changesets for all employers or organizations.
At the end of the day, providing a consistent GPU experience across multiple platforms for all of our customers continues to be one of our key goals.
Lets start with the most important portion to developers on XDA. In regards to statement three, NVIDIA is not supporting Open-Source development. NVIDIA is trying their best to stay relevant with the major changes to the Linux kernel. Without contributing code directly into the Linux Kernel, NVIDIA would not be able to convince manufacturers to use their chips. Linux is going through some major changes in regards to Android, and without adding support for their chips into Linux, there is no way they could sell any chips. I would like to take this time to point out that NVIDIA’s commits were relatively few. What really appears to have happened was existing source, which NVIDIA never cared to contribute before, was contributed at the last minute to maintain a stance in the Linux 3.4 kernel.
Now lets talk about the rest of this and cut through the public relations mumbo-jumbo…
And as a result, we’ve recently made Installer and readme changes in our R295 drivers that were designed to make interaction with Bumblebee easier.
I decided to verify the validity of this statement. There is no mention of the Bumblebee project in their Readme or its sub-pages. On top of that, the installer is closed source so it cannot be verified either.
we have made a decision to support Linux on our GPUs by leveraging NVIDIA common code, rather than the Linux common infrastructure.
Which states, quite directly, that while NVIDIA realizes there is an open-source project focused on making their products more compatible with Linux(Bumblebee), they will not support it. The reason can only be inferred as they wish to remain as proprietary as possible to maintain market edge. The problem with this methodology is that problems cannot be corrected without manufacturer intervention.
At the end of the day, providing a consistent GPU experience across multiple platforms for all of our customers continues to be one of our key goals
I will completely agree with this statement. It is obvious to anyone who is paying attention that NVIDIA is not focusing on support for their Systems-on-a-Chip, but rather flailing to maintain leverage with a proprietary codebase. At the end of the day, NVIDIA is making unmaintainable hardware with proprietary extensions, and marketing it to those who expect NVIDIA to maintain it.