(some nonsense to meet character limit)
That way the kernel module still have a open-source user-space client (nouveau), and the nvidia-parts only need to hook-up to that one instead of re-implement their own kernel module for i2c/hwmon/"DRI"/KMS.
OpenGL Quad buffer support on Geforce cards. Therefore supporting 3D vision in Linux on Geforce.
Either basically do what we ask and need as users with the drivers or supply all the documentation required for the community to construct drivers that do what we need.
I really do not care about Tegra. I am not ever going to buy a device that has some kind of proprietary application platform around it. I am expected to re-buy a version of a game on Android if I have the THD (Tegra HD) version and I want the non tegra version or vice versa, this is rediculous. The point of OpenGL and open standards is that this should never happen.
The point about hardware is that we buy a specific piece of hardware because it is better than another piece of hardware or because it fits our price range better. Not because of "this manufacture produces better drivers than this one".
I do not think nVidia need to be contributing to the kernel from a desktop stand point unless they want to... if they contribute but their drivers are either not supported or closed then they still suck regardless. It's not a this good deed redeems this one. It is this is the thing you need to do (open source your drivers) and if you do not do it then we'll buy elsewhere. The Linux engineers should not be taking it personally at all, it is not their fault but the fault of the managers for being so close minded and stuck looking through Windows when the rest of us are walking out the door.
One way for NVIDIA to get their foot into the door could be to release documentation for some older cards first.
Let's say releasing documentation for the GeForce 6000 series to test the new grounds and how to collaborate with the community.
If this turns into a success - I'm perfectly positive on this - they can decide on how to proceed with the newer stuff.
This post is not about doing the best thing, it is about doing something.
First of all, the generally considered ideas:
1. Open up some documentation.
It doesn't have to be new, it doesn't have to be alot. It has to be a start.
2. Sponsor one or more of the Nouveau developers.
It doesn't have to be money, it doesn't have to be alot. It has to be a start.
Three ideas on the 'not getting sued' factor:
1. If opening up some software today is thought of as being too revealing about the hardware,
try thinking about why AMD and Intel doesn't seem to think so.
2. If opening up some software today is thought of as being too revealing about the hardware,
try thinking about if hardware in the future can be made in a way where this is not as likely.
3. A different approach, try reducing the risk of getting sued to begin with.
Maybe work with the Open Invention Network or establish something similar for graphics hardware.
Some variants could be thought of, such as limiting the scope to only include 5 years back,
or 10, or 15, or what it takes to make it feel like the sacrifice is smaller than the reward of
gaining something positive.
Some other approaches:
1. Sponsor some open graphics card project, just to be nice.
You know it will never be anything high end and will never compete.
Still it's just a nice thing to do.
2. Open up some patents for graphics hardware that would be nice to not have to steer away from
for an open graphics project, but at the same time is not exactly competitive for you any more.
3. Release a low end graphics card designed from the start to have an open driver.
If just one of these eight things were done, you would start growing in the eyes of atleast this Linux user.
So start atleast trying the water, you don't have to get in over your head just because you dip your toes.
Originally Posted by Photonix
"Publish the programming specifications" is NOT "opening up the hardware". The programming specifications reveal almost nothing of the hardware itself, they merely document the API for interfacing to that hardware.
I like Matthew Garrett's idea. Seems to be the best compromise between both parties if NVIDIA is so desperate to keep their 3D engine bits so secret.
There might also be a few trick in the command submission code of the blob that they don't like to reveal (fencing, reordering, priorities). Also, I think they would have a hard time keeping their "one driver core for all platforms" intact.
It's still a good idea but would require efforts from both Nouveau and Nvidia.