Yes, because the only reason they can provide same-day support and parity is the fact that almost all of the code is common between their Windows and Linux drivers. Their argument is that if they were developing "proper" open Linux drivers using standard kernel infrastructure, they'd lose that advantage, and couldn't provide the same level of support without a lot more effort.
Originally Posted by patrik
And face it, they don't care *that* much about the miniscule percentage of their target market than runs Linux. They'll support that percentage if it doesn't cost them too much, but that's all.
It doesn't work with the rest of the Linux graphics stack ... the nVidia drivers (attempts to) replace the Linux graphics stack.
Originally Posted by RealNC
Ultimately this is simply not feasible. It makes "upgrading" the Linux graphics stack (e.g. KMS, Gallium3D, Wayland, etc) impossible.
It is not at all "fanatical" to want to be in control of your own software and the way it develops and progresses. Linux is a kernel, Linux does NOT belong to nVidia, graphics drivers are a part of what a kernel does.
AMD have released programming specifications for their GPUs, programming specifications simply allow one to write code to interface to the GPU, they do NOT give away any IP in regards to how to make a GPU. It has done AMD no harm whatsoever to provide programming specifications for its GPUs.
Programming specifications allow programmers to write code to interface to (in this case) hardware, so they are effectively an API. As Oracle found out recently in its case against Google, APIs are not even copyrightable.
Linus is right.
Last edited by hal2k1; 06-19-2012 at 10:28 PM.
Linux kernel programmers (those who write open source code for drivers for the Linux kernel) do not ask for nVidia's code. The ask for programming specifications, so that the Linux kernel programmers may write a proper Linux driver.
Originally Posted by Delgarde
Nvidia are not Linux kernel experts, and they do not have the ability to write a proper Linux driver in any event. nVidia even go so far as to admit that the driver they provide for Linux is in fact a cludged Windows driver.
So Linux kernel programmers don't want nVidia to do any work for free, the Linux kernel programmers want to write the driver code for Linux (as they do for just about every other hardware), they just want to know the API for nVidias GPUs so that they may write such code. nVidia must surely have documentation on the API for their GPUs, and such information is not even copyrightable. It wouldn't cost nVidia anything. It would cost nVidia more to carry on with the farce of only providing the cludge of the Windows driver and open source wrapper as they currently do.
Last edited by hal2k1; 06-19-2012 at 10:25 PM.
Firmware blobs don't run in the kernel, they run directly on the hardware. Because they run directly on the hardware, they are the same blob for ANY OS. Firmware blobs do not impact the Linux kernel itself (if they crash, the crash the card, not the kernel) and the OEM will only fail to continue to support them when they fail to continue to support Windows. Firmware blobs do not constrain or dictate the capabilities of Linux itself.
Originally Posted by asdx
Kernel loadable modules are a necessary evil. The do allow a loop-hole whereby the kernel-loadbale part only is open source, and this part then forms a wrapper around a binary blob which forms the bulk of the driver. This is a horrible cludge which everyone (even nVidia) would be far better off without.
What possible advantage does nVidia gain by refusing to publish the programming specifications (API) for its GPUs? Where is the profit in preventing Linux kernel programmers from writing a driver to work with your hardware? What possible harm does it do you if they do write an open source driver to your published API?
It does affect the development of the kernel itself.
Originally Posted by Teho
Once again, firmware blobs run on the cards directly, they are not part of the kernel. The kernel merely loads them on to the card. Becaue they run directly on the card, the firmware blobs are the same for Linux or Windows, so Linux support will not stop until Windows support does.
Originally Posted by asdx
There would be no point in providing source for firmware blobs because gcc (or any other commonly available compiler) wouldn't be able to compile that source into the firmware blob anyway.
Official Optimus support on Linux is non-existant! Typical average Joe or Jane trying out Linux for the first time will curse in disgust at not being able to do simple functions out of the box like say, play tear-free video, play a 3D game etc. Seriously, what non-tech end user will even find something called 'bumblebee' let alone know what to do with it.
Originally Posted by DanL
Does the nVidia binary blob attempting to replace the whole Linux graphics stack somehow exclude them from contributing to open efforts in say XRandR and (perhaps more likely?) X.Org code to help facilitate GPU offloading and switching to enable support for Optimus? IMHO if nVidia refuse to open up and release specs on interfacing with their GPU, they at least need to contribute to projects to enable support for their products. They can't truly claim to be supporting Linux without enabling optimus to work seamlessly in a standard Linux distro setup with their recommended driver of choice - the nvidia binary blob - end of story.
Originally Posted by hal2k1
I think we get you, you've repeated it enough times now. lol
Originally Posted by asdx
Personally, I WILL stick to buying nvidia GFX cards, as much as i would like to see them open some specs, or contribute more to projects they are involved with - it doesn't really matter, when at the end of the day, consistently for years and years they have provided me with a better experience (and support, in terms of frequent updates and fixes) than any of the alternatives... I'm not a windows user, but this is true for the systems i have/do run; BSD, linux and MacOSX...
I might not be saying that if i had went out and bought an laptop with optimus - but then again, i NEVER buy any hardware without making sure it is supported well in Linux, before hand.... I did that once a long time ago and never again - lesson learned.
Open-source intel driver works out of the box on Optimus and is 100% approved by Linus...
Originally Posted by Kamikaze