Nvidia Engineer Asks How the Company Can Improve Linux Support
sfcrazy writes "It seems that recent comments made by Linus Torvalds have made the people at NVIDIA take Linux more seriously. Recently Nvidia employee Stephen Warren asked in the Kernel Summit mailing list what could be done differently to make Linux support better. 'In a Google+ comment, Linus noted that we have mainly been contributing patches for Tegra SoC infra-structure details. I'm curious what other areas people might expect me/NVIDIA to contribute to. I assume the issue is mainly the lack of open support for the graphics-related parts of our HW, but perhaps there's some expectation that we'd also start helping out some core area of the kernel too? Would that kind of thing help our image even if we didn't open up our HW?'"
[...] we'd also start helping out some core area of the kernel too? Would that kind of thing help our image even if we didn't open up our HW?
You seem to care more about NVIDIA's image than about what the Linux community actually needs.
I truly don't understand what the big deal is. Just open up your damn specifications already.
vos nescitis quicquam, nec cogitatis quia expedit nobis ut unus moriatur homo pro populo et non tota gens pereat.
Open up the hardware such that proper drivers can be written for any card (recent or not) and platform w/o the need of binary blobs.
That shouldn't be an impossible task given how much weight NVidia has towards third parties.
Twitter supports and protects racists - by smearing their critics with the "Hate Speech" label.
Better power management. KMS. More timely releases. Stop whinging that there are problems with Linux/Xorg/whatever preventing you from doing something and work with those up-streams to fix it. Stop making excuses, start releasing code. Extract the proprietry stuff to (a) smaller blob(s) and expose the trivial interconnects and such at the very least. Never say it can't be done: everything's possible. Etc.
Leela: "Is all the work done by children?" Alien: "No, not the whipping."
. I assume the issue is mainly the lack of open support for the graphics-related parts of our HW,
He knows exactly what people want. The entire point of the question is to make it look like they are doing something without actually doing something.
"First they came for the slanderers and i said nothing."
Not really. What is needed is hardware that can be documented. Nice of nVidia to confess they are "not it". Spares having to consider them.
Help stamp out iliturcy.
Yes, it's their own fault that they're hindering the progress of the community. But corporations are corporations - the way I see it, we're lucky they're offering help at all in response to it, even if only to save their image. Truthfully I haven't bought Nvidia in years, it's been AMD/ATI for me for the last decade. Just remember that our wallets are the most powerful tool we have.
All that's needed is for Nvidia to release the documentation on the components they manufacture, as AMD/ATI did in 2008 (and Intel has always done). The existing nouveau driver team will take it from there.
Yea, how well has that actually worked. Oh yea, it's failed miserably. 4 years later and ATI Linux drivers are still garbage and the only reason Intel drivers work is because of the server market and because chips don't change often. It's not rocket science, writing graphics drivers are HARD and Linus continually poking his pecker into the kernel means they continually break and have to be tinkered with to work again.
The VOIP visitation recorders at work have to have updates turned off because Ubuntu craps itself whenever it tries to update. When the box is 4 hours away that is a big deal. Our windows machines have auto-updates turned on and never have problems. We've tried having a development machine at the office to test the updates, but for whatever reason, the number of VOIP boxes and minor hardware revisions make it impossible to develop a standard update profile for us to reliably push out to all machines. So we have to just lock them down as much as we can and hope for the best. We are working on a Windows based solution so we can eliminate the Linux boxes in the future.
It needs to be repeated so it sinks in, Linux needs a reliable ABI so ATI and others can just slap a Linux driver onto the CD that comes with the card and call it a day.
Years ago I got good support from Nvidia. I had a problem and sent a bug report and got a response late on a Saturday night (West Coast) that involved a kernel patch to fix a bug in the kernel that was causing the problem. I was an Nvidia fanboy for many years after that. I helped dozens of people get things like Twinview working.
In recent years, working with Nivida has been very frustrating and I can no longer recommend them for Linux systems. For example some interaction between closed-source Flash and the closed-source Nvidia drivers turns people blue in Youtube videos but not other sites.
There has also been a heart breaking struggle to remove video "tearing" (vsync problem) when watching dvds and blurays. The last time I checked I needed to use the GL video to remove tearing when watching dvds but I still have some tearing when watching blurays which is kind of heart breaking. At the very least Nvidia should have a sticky post in the Linux forum explaining all the hoops one must jump through to try to get rid of video tearing. Also, having the sticky posts show up on all pages, not just the first page is a big PITA. It wastes my time and attention. It is disrepectful.
I don't understand why video tearing is such a recurring problem. Are these environment variables still needed?
export VDPAU_NVIDIA_SYNC_DISPLAY_DEVICE="DFP-0"
export __VDPAU_NVIDIA_SYNC_DISPLAY_DEVICE="DFP-0"
export GL_SYNC_TO_VBLANK=1
export __GL_SYNC_TO_VBLANK=1
export GL_SYNC_DISPLAY_DEVICE="DFP-0"
export __GL_SYNC_DISPLAY_DEVICE="DFP-0"
When an nvidia driver update causes tearing to start again, or worse, if it causes X (or the entire machine) to crash, it feels like you are telling me "F- you!"
I get it that opening up your drivers is not an option. The problem is that this decision causes a lot of breakage and you do not make it easy to fix this breakage. Please just make it easy for me to get your drivers to work. Is Twinview plus non-tearing video playback really too much to ask for? Also, what about the problem with non-tearing and composite? Has that ever been fixed? If not, maybe that's something you could help with.
Years ago I felt like I was getting support. Nowadays I'm not feeling the love.
We don't see the world as it is, we see it as we are.
-- Anais Nin
Move everything to userspace, and use an existing driver, or a very small open driver, to access the card. There should be no reason, even if they're crying "trade secrets" for this to happen. If nouveau can do it, and they're not crying trade secrets over it, then nvidia proper can do it too.
And yet, our new deployment of thirty Linux-based image generators I just setup all have GeForce cards in them... Do we live in the same world?
nVidia cards, with nVidia's binary blob driver, are the only way I can get any work done in Linux. That doesn't seem to be changing anytime soon, either.
I wish it would. My home PC has a Radeon card... But the support under Linux just isn't there.
Maxim: People cannot follow directions.
Increases in truth directly with the length of time spent explaining them
News for nerds, random bullshit posts by anonymous assholes.
For large sets, this will be our guide even unto death, for the LORD will work for each type of data it is applied to...
Sounds like the situation could improve if Linux exposed a more stable API toward drivers.
From TFE (email): "Within the constraints I have, what should I and perhaps other NVIDIA employees be contributing to in the kernel?"
I suspect those constraints essentially preclude what would really be useful, so what's the point?
And yet their open source drivers still are unusable...
I don't give 2 shits about "Theoretically" working drivers. I need reliable, stable and fast drivers. The AMD Drivers are none of those things.
Oh please, it's firmware whining again
Dear open source zealots, no one is obliged to add more circuits to a computer just because you can't be bothered to give the embedded card some data.
ALL computers depends on some amount of closed source data, deal with it.
There are exceptional cases, where the firmware is OSS, or where the vendor is a real asshole and forbids the blob to be distributed
Absolutely. Dear manufacturers, if you complain about distribution of fw at the same time anyone can download your "windows driver" off your website, You Are An Asshole
how long until
Except that was tried a long time ago, where NVidia said something like "SGI owns some of the stuff we use and they won't let us release it". Well, given specific goals, the FOSS people went to SGI and asked "Can NVidia release the stuff they got from you?" SGI answered "We cannot conceive of anything that NVidia has off us that we wouldn't be happy with them releasing.".
First, this is common... company A says "I cannot do X because I have an agreement with company B" and then some person allegedly from company B (but who may not be in a position to know, or who knows but just feels like lying) says "nah, we're not the bad guys here!". If you have not seen ALL contracts between the two companies, then you have no way of knowing the truth... however IF such an agreement exists, Nvidia will never breach it even if goaded into it by statements from the other vendor, because then the other vendor could sue them.
second, AFAIK Nvidia has never said that the ONLY reason for the closed nature of their stuff was one agreement with SGI. In fact, I once worked at a company then got into talks with Nvidia and we attempted to negotiate for certain info and I was told (this is third-hand info) that our people were told that Nviida could not release what we wanted even under NDA because they had contracts with multiple IP owners. I have no Idea of how true that is other than that I trusted the person I heard it from at the time... but my point is that nobody other than Nvidia and anybody they have inked deals with truly KNOW what is involved. One thing is certainly true however: Nvidia gains no sales by holding the info private and loses sales by not opening it up, so the odds are that they truly are unable to open it up and no public statements by anybody else will change that. In fact, Nvidia may well be contractually forbidden to even publicly divulge the identity and/or existence of some contracts and partners.
The real problem here, however, is NOT Nvidia...
Nvidia makes hardware. The hardware has a hardware interface (but not an "API" as some mistakenly claim). The hardware must be compatible with the host PC, which has a clearly published hardware spec. Clearly Nvidia hardware interfaces well with the host machine because both sets of hardware conform properly to the hardware "binary/digital" spec.
Nvidia makes a software driver. On Windows, there is an ABI spec that Nvidia can adhere to so their driver will play well with Windows. On Linux, things are either so poorly implemented that the driver interfaces are in constant flux and no ABI is possible, OR the architecture itself is so incomplete that no ABI has been completed, so Nvidia goes out of their way to make a driver wrapper that can be re-built at install time to adapt their solid and high-performance code and hardware to the unsettled platform. The simple solution is for Linux to finally mature to the point that it has a stable, well-documented ABI. Refusing to do this is immature/political not practical. The refusal to have a stable ABI is not just a pain re Nvidia, it is the reason why any minor update of linux can trigger a tidal wave of package updates and result in an unstable system. Adding another unstable pile of incomplete "open" code like nouveau does nothing to advance linux into a modern mature state... it's a not-work-around for a broken/missing ABI and all the anti-Nvidia FUD on earth will not make the nouveau driver fully-functional. With a proper ABI, old hardware could continue to be functional on future Linux releases even when a maintainer for the device's driver code cannot be found. Without a proper ABI, such hardware will inevitably be dropped as maintainers lose interest.