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.
and mostly to do with tegra.
Eventually given how global markets expand and change, Nvidia will have to change its policies.
After all, they sell a GPU.
Consider how silly it is not to publish register information so you can write software for it. It is silly. Especially if Intel did the same thing with its chipsets because AMD might get some information on how a instruction works and try and copy it therefore making assembly language illegal and silly IP laws.
Eventually this policy is going to cost Nvidia in the pocket book, and they will either come around or sink into nothingness.
The exact same direction Apple is going to be heading to very shortly.
-Hack
Got Geometrodynamics? Awe, too hard to figure out? Too bad.
I find your lack of faith disturbing...
A vulgar finger gesture got results.
Demand the moon, get a moon base.
It's unnecessary, and likely impossible, for Nvidia to open source its proprietary driver, due to licensed software they don't own (they have stated in the past). 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. Nvidia can also choose to provide funding, salaried developers, or sample cards for the team. That would put them in a parity position with AMD and Intel.
Can You Say Linux? I Knew That You Could.
Firstly, deal with the goddamn shitfucking Optimus hardware that's out there!!!!!!
How about you start supporting the fucking GPUs you are selling people, like this Nvidia Optimus shit!?
Crazy talk, I know, not kicking your paying customers in the nuts. Sounds like something wild and crazy that Apple would try to pull.
Mod me down, my New Earth Global Warmingist friends!
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."
Help open source community write a generic high level opengl/whatever they need This layer will be hardware indepenedant, then at least write something in Galliume3D interface for nvidia cards and maintain it. Do it anyway, if we use nVidia cards and want to switch to Wayland everything works alright. Do it in a way, my laptop backlights work! Do it in a way that is easy for sysadmins to maitain. Finally, if you want to keep the same source on every platform Galume3D is much better. If you think it misses feature, improve it.
Very happy with my Radeon chipsets, don't have to worry about kernel version incompatibility or graphics lockups from some bug we can't even begin to fix. I've had both problems with nVidia hardware.
No PR move from nVidia is going to change my mind beside opening the specs.
Frankly the GPU support issues are going to be the big key issue no matter what. Whether you think its wrong/stupid/immoral/wasteful/anti-american or whatever to use Linux as a gaming platform or for any other sort of performance-critical real-time 3d rendering *some* Linux users will still disagree with you and do it anyway. Whether flaws in your business plan and/or shady under-the-table anti-competitive agreements made years ago with certain big software vendors preclude you from giving Linux full support or if its really some legitimate logistics problem *some* Linux users will still disbelieve the excuses and not forgive you for it. Some of those Linux users still consider themselves your paying customers. You will never truly live this down, but don't worry; judging by the word on the street these days neither will any of your competitors.
However, if you want to set up a smokescreen that hides the fact that *someone* in the higher end of Nvidia's chain of command is openly prejudiced against open source software (or just made a shit ton of cash on Microsoft stock perhaps and refuses to believe therefore that Linux is anything other than a waste of the company's time) you could at least consider making an attempt at distro-native packages for your driver that show evidence that you are capable of and willing to put at least half as much effort into working within the rules and parameters of various distro's packaging systems and with their tools properly as you've already put into that big self-extracting NVIDIA-Linux-x86-whatever.run bash script monstrosity to make it capable of the far more arduous task of cleaning up after itself enough to get a working GLX after it has fully subverted and broken said packaging system by using very crude non-native tools and methods that are not dependency-aware.
Cue the circlejerk whinefest
"I can't operate your cancer, but would it improve my image as a doctor if I cured your limp?"
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.
Ever since I bought a new laptop 6 months ago the biggest problem I have had is the crap known as optimus. (I will not buy Nividia again until this is fixed)
I couldn't get it working in Fedora no matter how hard I tried. I've had to switch distributions to Ubuntu where bumblebee works. It should be Nvidias job to get this working on Linux if they want us to use their hardware. Also, thanks to to the person who rated my laptop version as working perfectly on Linux in the customer reviews, you're an arsehole.
Instead of attacking Nvidia for their efforts, people should actually help and show them where to direct their resources
Let's all do NVIDIA's job for them. Isn't that what the linux community is offering to do if they would just open things up more?
Nvidia has the same problem Adobe has with Flash: Closed source equals instability.
Between Fedora 14 and 17, I have never experienced so much system instability in Linux, and I've been a user since RH 5.1. My X is now guaranteed to lock in 5 minutes either by watching a Flash video or doing a yum install kmod-nvidia.
The year of the desktop, yeah, right.
There is no need to use a SlashDot sig for SEO...
Here's a summary of some of the most insightful discussions posted on slashdot when this discussion came up last week:
nVidia Issues:
*Proprietary drivers that don’t always survive kernel upgrades. So people who rely on nVidia's proprietary binary drivers can't always update their kernel or they lose their graphics until nVidia puts out an update. (from UnknowingFool) nVidia only provide a binary blob driver which makes bug fixing for it dependent on Nvidia's whims. (from AC)
*open source drivers – nVidia refuses to provide specs and API's for their hardware which make writing open drivers much more difficult and time-consuming because of having to reverse-engineer everything to get a workable driver. (from AC) As a result, open source drivers are unable to use full card functionality like full 3D acceleration (from UnknowingFool)
Summary of graphic chip vendor support (from Lonewolf666):
*AMD provides specifications and a small developer team that actually works on open source drivers.
*Intel provides open source drivers.
*NVIDIA makes good binary drivers, but those have problems when a new kernel version comes out with changed interfaces: Only NVIDIA can adapt them, and until they get around to it, NVIDIA may not work with the latest kernel version.
From rajafarian: If the kernel maintainers have a question about the hardware, they can't ask NVIDIA they have to test and reverse engineer to find the answer whereas with other companies, they may get an answer directly from the manufacturer. Get it? "...NVIDIA just made the damn drivers. Now that is not good enough." Not from a kernel maintainer's or Stallman's point of view, I'm pretty sure.
From jmorris42 : Name another major chip vendor who hasn't figured out that getting into the Linux kernel is a required checkoff for market success. Doubly so for any product used in the enterprise vs the fanboi market. NVidia's CUDA is about the entire list these days, the last major holdout.
From basscomm: Windows users who have SLI and multiple monitors have been able to enable SLI and use both of their monitors at the same time since about 2008. But under Linux, no dice. So if I had two monitors (which I do), and two Nvidia GPUs in SLI mode (which I do), and I wanted to run some 3D app that took advantage of SLI, I would have to: reconfigure X to disable my second monitor and enable SLI, restart X, play the game/use the app I wanted, when I was done I would have to reconfigure X again to enable my second monitor and disable SLI, restart X again, and reopen all my apps. Hardly ideal.
Given all of this discussion, here are a few ways nVidia could work better with the community:
*Open Source drivers - 1) provide specs 2) provide developer team that works on the OS drivers 3) provide rep to interface with the OS community 4) provide enough detail to get 3D working well
*Proprietary drivers - 1) monitor upcoming kernel builds and proactively update drivers before the next kernel release or 2) have a dedicated nVidia contact to work on updating drivers ASAP when notified that an upcoming kernel build breaks them
*Overall - enhannce SLI and multiple monitor support,
Maybe that's the problem right there. Open Sourcers DON'T understand why others will not open source a company's crown jewels?
Nothing, really!
I can complain a lot about their lack of support of modern X stack, xrandr, etc. But my next card will be nVidia, unless performance is not an issue at all (in which case integrated Intel is more than perfect).
Unless AMD put its stuff together and starts either releasing quality closed drivers or pumping some extra effort (money, more docs, help) onto OSS drivers, I don't see any threat to nVidia in the linux perfomance graphics segment.
I do not think Intel will try to get head to head on the performance GPU market and thus they do not represent a serious threat to nVidia in the linux perfomance graphics segment too.
C-x C-c
It's unnecessary, and likely impossible, for Nvidia to open source its proprietary driver, due to licensed software they don't own (they have stated in the past).
It also can break DRM.
Shai Schticks:"You don't make peace with friends, you make peace with enemies"
How about we just stop the dancing around, and either plant a mole in nVidia's dev team to leak the info to the community, and/or crowd-source a fund to pay anyone that can hack into nVidia and flat-out steal the shit outright?
Once the info is out there, there's no getting it back.
Fuck nVidia.
...but here's some things I wish NVIDIA would add to their closed source driver: 1)Allow us to just shut off the nvidia card on optimus laptops and use the Intel one for video display. That would at least make the laptops with optimus usable. Brownie points for letting us run CUDA/vdpau stuff on the nvidia card without using it as a display adapter. 2)Re-enable coolbits/nvclock. My GTX 670 GPU sits to about 80-82C while using BOINC with it, and it would be nice to be able to underclock it inside linux, or at least speed up the fan. 3)Make it so the proprietary driver doesn't make my TTYs all ugly!
why the hell do we need open source graphics drivers? we just need ones that work reliably.
the main reason they don't exist right now is the linux driver ABI simply doesn't exist, effectively changing with every release. provide a stable interface and vendors will provide stable drivers.
Simply switch to AMD's great open-source drivers - problem solved! Er wait ...
...and actually respond to the comments. Start making us feel like we're part of the development loop. Let us know when you run into a problem and why something is difficult or an obstacle. If we know and understand the problems you're facing, we'll be far more likely to have a positive attitude towards your product line and cut you some slack. If you ignore us and create a huge, anti-feedback corporate wall, we'll feel shunned and ignored and respond with negative posts (whether we're accurate or not about what's really going on).
*** Don't be dull.***
you could suck my cock. Lick the shaft and fondle my balls until I bust a nut all over your face. Now go clean up you fucking slut.
That will improve linux support.
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.
I run gentoo on a myraid of boxes and update quite regularly including bleeding edge kernel and ~ARCH ("not yet gnerally released for this this archetecture") packages, which is as bleeding edge as you can get, and I havn't had a update failure outside of the X config (which I have been churning a lot on purpose) in forever.
If your distro is crap, maybe you should change your distro.
If your admin is crap, maybe you should change your admin.
I would characterize your characterization of patch stability under linux as "uncommonly unlikely, or procedurely impure" just on blind weight-of-anecdote compared to everyone eles I know.
Then I did drop Ubuntu because they started to bring in non-open tidbits (and freaking mono) so maybe you are choking on some binary bull (or someone else's platform envy). /doh.
Innocent people shouldn't be forced to pay for inferior software development.
--"Code Complete" Microsoft Press
So that's two "shitstorms"...
Oddly enough that isn't compelling in its depth of analysis, and in both cases you can point to closed vendor hardware....
hrm... patern?
Innocent people shouldn't be forced to pay for inferior software development.
--"Code Complete" Microsoft Press
Try de-obfuscating the interface to the blob itself. Just come out and say "our blob is something we are all stuck with, therefore, this is how you will now and alwyas operate the blob."
If you cannot, for some legitimate reason, release the API for your hardware, then release the API for your stoftware interface as a well defined and "warrented" interface.
Then make that interface your -hardware- -interface- by pushing that back into the GPU or a "front end" processor.
In short, you claim you have a mess you cannot share with us for all sorts of odd reasons...? Then put your mess inside your own junk and give us an interface we can then use. You test and warrant your half and we'll test and warrent ours. This is far superior to this thing where you calim to need to come into our yard and move the furnishing to match some fung shui most holy and secret.
And if your blob interfce is too broken to play well, then its to broken to expect us to want and need so its kinda moot that you gave it to us anyway.
This is not that hard. Not that you are that unique. Ever try to get an interface document for a Brother label writer etc? All this "my ball" crap is killing innovation.
Innocent people shouldn't be forced to pay for inferior software development.
--"Code Complete" Microsoft Press
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...
Somehow the TIGA boards come to mind. A common, open HAL would be a nice thing, though some might argue it would hinder creativity. On the other hand x86 and IBM's mainframes seem to be doing fine.
It seems that recent comments made by Linus Torvalds have made the people at NVIDIA take Linux more seriously.
Seems to me that if I were in management at NVIDIA, I'd be inclined to write the miniscule Linux graphics and gaming market off as not worth the hassle.
Perhaps in this case Linus' comments were secondary to his vim and tertiary to the gesture -which would have been rude in other circumstances and apparently perfectly appropriate in this case- in his statement.
I hadn't the slightest objection to his spending his time planning massacres for the bourgeoisie... (P.G. Wodehouse)
It's funny, when I used to buy graphics cards, I bought nVidia because the driver was that much better - TwinView meant good multi-monitor support, etc... Now all that has changed. I replaced two nVidia cards with an AMD card, because AMD support their Eyefinity tech even on low-end cards, and my triple monitor setup works perfectly with 3D acceleration on the open drivers, which means I get KMS and no binary blobs. By comparison, I had to use xinerama to get triple monitors with the nVidia driver, no KMS, no 3D acceleration.
It's obvious what we want, open source drivers. If they can't handle that, documentation, but we all know they'll spout the same stuff about NDAs and 3rd party stuff they are licensing and can't reveal, and tell us binary blobs are the only way - well, I don't buy it. Intel manage it well, and AMD are definitely getting there. Binary blobs just don't give the experience any more, that's the reality.
-- Lattyware (www.lattyware.co.uk)
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?
I had a problem a few years back which was all pointing to an arbitrary limit in the driver, which had doubled from previous versions but was still too small for what I required. Submitting the problem and example code to the Linux NVidia forums resulted in nothing and the open source drivers were only just good enough for running X.
I was even willing to pay for features by mechanisms such as support calls/agreements etc but there was only silence on the other end. It was a very fustrating experience when you have no options to fix the problem.
NVidia need to either open their code or provide support options. One day the open source drivers will catch up.
"It sound like some people I know who "Keep getting all thses virus things no matter what I do!""
Remember the Sony BMG root kit?
Remember how no Antivirus detected it? Not even Anti root kit scanners?
Remember how only one tool initially detected it?
Now consider for a moment how many other government software/firmware moles/rootkits may be lingering within millions of people's proprietary systems (hardware/software-OS).
Wikileaks published a lot of information on companies willingly selling rootkits to governments and organizations. And do I really need to bring up HBGary?
So many fools using multiple proprietary scanners on their systems, the makers of which could all be in bed with big bro, the programs and/or updates could contain rootkits, and seriously, what the fsck is up with Microsoft and Flash both having so many remote exploits being patched all of the time?
The very products you trust, imo, could be the very e-poison from which you e-drink from.
To this day I laugh inside when twits tell me their system is "clean" because they scanned it with several proprietary tools.
Face it, even on Linux the quality of the root kit scanners are piss poor. You have to boot into a separate environment (like Remnux) to evaluate the malware, but most people won't do it, they'll wipe and reinstall and rely only on signatures which can be compromised. And when they find out they have an APT which continues to reinfect their computer(s)? Would they be intelligent enough to consider a firmware (PCI/BIOS) infection which survives hard drive wipes? Do they also have infected thumb drives laying around they plug into other computers around home and/or friends/family/work?
Chkrootkit has a function to list the strings of binaries, but it's up to you to determine whether or not the content of the strings are malicious. I've tried several root kit scanners on Linux and all of them are, imo, crippled pieces of trash. The crowd will yell back at you, "But most of these require root to exploit!" No, not at all, there are hundreds of ways to exploit a Linux box, many not requiring root, but a particular program/version. I won't even bite down on the subject of ways to subvert package managers. Heck, how many Linux repositories use SSL? SSH? Torrents with established "good" check sums for thousands of packages?
And I've not mentioned Flash and Adobe Reader for Linux and the past problems with those... and the NVidia driver for Linux, had in the past, one or two severe security issues whereby a remote exploit could take over the system! (Google it. The news of one exploit was in 2006.)
Our proprietary hardware and software are both at risk, and likely subverted world wide on millions of computers by governments and select organizations. The fact it takes years until a researcher trips over a particular piece of malware which none of the antivirus companies are detecting is inexcusable.
Were I head of a commercially developed antimalware company, I'd develop a website similar to Virus Total, but instead of the users uploading single files one by one, I'd give them a FOSS program which checked every part of their hardware, embedded and manually inserted, checksum the firmware (of all media drives, graphics cards, anything with firmware) and BIOS and tear apart the results, funneling them into separate result pages, each result for each component going to its own page for comparative results, rather than building a profile on one user's system. I would offer the users the option of publishing a one page result for their unique computer, but it would be opt-in only. Yes, checksum the firmware, including the router, and demand companies publish checksums and use GPG to sign their firmware, all of this information would go to the site as described. A massive database of important, but anonymously pulled and published information.
It's just going to get worse.
On the side, I've been saying to myself for years, IMO, "When Microsoft finally starts to show signs of
reddit? That's the one where the insiders make up all the comments because they don't think everyone's else's contribution would be "proper"?
The point is that serious horsepower comes as a combination of hard- and software. With processors, we have the dividing line between CISC processors and RISC processors, where the CISC processors have specs and interfaces, and the RISC processors have pretty direct access to the hardware, managed by compilers. Of course, binary compatibility has made a mockery of that concept, and you get, like, MIPS processors with a seven-deep interlocking pipeline emulating a MIPS (Microprocessor without Interlocking Pipeline Stages) processor with a two-deep non-interlocking pipeline. Something like complexity squared.
For a fixed hard/firmware bundle, however, recompiling everything for new iron is pretty feasible.
If Linux had a platform share of 50% of the hardware market, they'd have sufficient grounds for biting the bullet and betting on staying ahead of the competition by being the best at doing the hardware part of their architecture. That's more precarious than being the best with the combined firm- and hardware.
Get rid of the nvidia-settings application and provide something that resembles modern support for multimonitor setup, preferably by tying into the desktop environments' infrastructures. And support KMS.
"When I first heard Daydream Nation it quite frankly scared the living shit out of me." -- Matthew Stearns
For years there has always been the problem of the closed source drivers not supporting the console framebuffer properly. I think if NVIDIA had a proper console framebuffer it would go a long way to making the linux experience smoother. Honestly that's always been my biggest gripe with the drivers. Under X11 the drivers support pretty much everything I want to use. But as soon as I hit Ctrl-Alt-F1 everything turns to shit. Also, I've noticed that the SLI performance boost doesn't appear to exist at least on 460gtx hardware. I have dual GPUs but on linux there doesn't appear to be a noticeable improvement in wine or even opengl linux applications with SLI enabled.
Any or all contributions will be welcomed, and will improve my image of the company. Improvements that don't involve opening up the HW mean still no sales here, but I will have a better image of the company. :)
do all the work, fix the kernel, end up in a committee of freetards for the next decade, and get what out of it? jack fucking shit, and for what? less thansingle percentage of pc users that use linux on the desktop as a main system, laptops that are not covered right now AND that actually care?
this is spending all your revenue to be perfect, while knowing next month the 3-4 major cores will be tits up and ass backwards from what they are now
waste
would give away the competitive design of hw blocks.
And having read H&P's Computer Architecture, my guess is that, they (nV, ati/amd) do not virtualize instructions like intel does with their cisc -> micro-OP. I guess there is no such thing as a decoder that converts ia32/64 or amd64 instructions to internal risc instructions. Try asking intel for their detailed specs of tracecache or hyperthreading. Ask them about their branch predictor. See what they will come up with.
The GPU architecture is not standardized like CPU arch is between amd and intel and guarded by corresponding cross-IP licensing agreement.
It is all very competitive on GPU market. And giving away details of your hw spec would mean you give away months/years of RD to anybody willing to look at your specs and thinker about. But my guess is that nV execs are very worried with chipzilla now integrating video solutions onto their CPU. With their process development and their might, they will easily turn players like nV( or name other GPU vendors) obsolete in couple of years.
I think that since general purpose computing appealed much broader client base, the marketplace for graphical processors has been modest in comparison. Their main targeted consumers are the victims of gaming industry (yeah, all of us who like playing videogames). And there was not so much demand for super fast gpu chips from so many people. Mind you, average person doesn't need to run crysis, rather they are much more interested in general computation. If it does protein folding, super-computing, etc all the better.
This is why you get so many players on CPU market. Because it is huge, you get all sorts of guys, with all sorts of cpu architectures: aside intel, amd, sun/oracle, ibm, fujitsu, tilera, arm and others. The GPU vendors are rather sparse category.
And as suggested by Hennessy and Patterson, for a long time now ( since ver3 of Com.Arch ?) the time when chip makers could increase speeds of their single core chips is gone. They can't scale performance by clock speed. Also, it has been a long time when industry has relied on CPU's ability to extract ILP. There is not too much left in that direction as well. Think about it, these days, branch predictors are almost >95% accurate, and speculative execution allows schedule all the resources. Amdahl's law is suggesting here that cpu manufacturers in order to extract performance are going the multi-core and parallel computing way. No surprises really.
Today, it is the era of multi-core. Tomorrow - heterogeneous/hybrids with GPUs integrated on the same silicon chip. That is what Amdahl's law predicts. They have exhausted single chip performance scaling - now go by cores/cpus and have vector processors built into them. Nothing new, verctor processors are not really new to chip makers. By doing so, intel is probably making nV very nervous. In fact, I guess, with the might intel has, they can really turn companies like nV irrelevant pretty fast. Like, think about two-three years. No surprises really.
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.
I've been NVidia-free for quite some time, and happier for it.
When all you have is a hammer, every problem starts to look like a thumb.
for whatever reason, if their higher ups don't want to be telling the world how their drivers work, and so they won't.
That's nothing a good firing wouldn't fix.
When all you have is a hammer, every problem starts to look like a thumb.
and we ought to just accept it, then he should know a better perception will never happen and just accept it and the consequent loss of sales.
The REALLY DUMB thing about both the engineer (and NVidia) and you is that you don't seem to even consider "Hey, lets tell them why it can't ever be done.".
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.".
Now, given that, did NVidia release specs?
No.
And, having been caught out in a porkie-pie, they have refused since then to do other than let their fanbois (and I use their cards too) say "Oh, maybe they can't for contract reasons" because, not being party to any secret NDA, the fanbois cannot supply any information on who/what or why and therefore it can't be rectified.
I think some of the SGI people that were burnt very badly by software patent trolls ended up at Nvidia. Currently there is nothing to stop it all happening again if Nvidia describe their methods in enough detail to let opportunists go after them in court. It appears they don't think they can afford to open up the specs while broad software patents that should never have been granted still cover everything obvious in computer graphics.
That appears to be the "big deal".
Specifically.
What bits of stuff that NVidia use that is not theirs to give?
You won't say and NVidia won't either, because the last time they did that (they passed blame on to SGI), SGI were approached by the Linux devs and said "Nope, nothing we've given them needs to be kept secret". But NVidia still didn't release specs.
Why? Because they lied.
So, go specific.
Because if you don't, then the only rational assumption is yet another lie.
Retrofit your monolithic binary blob into a wayland capable architecture and you'll have addressed many concerns such as KMS, EGL, etc.
Supporting it on Tegra would be a step towards running standard accelerated Linux on an ARM phone or tablet and you'll be the slashdot nerd's platform of choice ahead of Adreno, Mali, PowerVR, VideoCore etc.
How about a public bug database so I can report this annoying problem and get some actual feedback and test builds to try?
http://www.nvnews.net/vbulletin/showthread.php?t=148976
Patents last how long?
Patents last 20 years after filing or 17 years after grant, whichever is longer. Modern PCs don't even have slots for video cards made in 1992.
Hey, good news. China is changing.
Now, they tell you up-front that in order to sell a small number of units in China, you must hand over all your technical documentation so that they can start making and selling them after the initial sale.
It's fine someone from Nvidia has a mature attitude, which is totally not typical in other companies, after Linus', uh, immature tirade (but effectively conducive of an important message).
The problem arises IMHO in people mixing concepts -- namely the protection of a product with patents with the protection of everything software, also with patents.
A patent, as its very name implies, was created to make ideas patent -- make the principles widely known so other people/companies could make related products. Consider the car, for instance: it does not work by itself, but needs fuel, fuel stations, roads, trained drivers etc. All that must be improved through time for a better "car" experience.
I have at least two cards which no longer work as intended, one Via and one old Geforce. For the Via one, I have the _option_ of using an old proprietary driver for XFree86... or just use it with a modern VESA one and X.org. The Nvidia one requires an older X.org version. These cards work well for some simple purposes.
After what happened, I started to see ATI in a much better light.
After my optimus experience I will simply not buy another closed source NVIDIA graphics solution. In the end I much like others and the internet in general route around broken parts. I will be curious to see how kernel module signing some distros are doing now for secure boot will effect NVIDIA proprietary drivers.
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?'"
Lecture your higher-ups on the difference between publishing API's and publishing HW-specs.
Calm their fears about AMD/Intel stealing their stuff if they go about this the right way.
Tell them that the world already knows they're hamstringing boards and selling them at lower price, so there's not gonna be an outcry when they make it official (Microsoft does the same with Windows).
Tell them Steam is coming to Linux this fall, and there is going to be a demand for proper performance.
Tell them the community is begging to help them make proper drivers, but they need some meat to make that juicy steak.
They could pull an Atheros and hire several of the core open-source driver developers to their own team. Linux support for Atheros chipsets has been phenomenal ever since.
I haven't figured out a way with just the OSS tooling to correct for overscanning on my TV.
XML is like violence. If it doesn't solve the problem, use more.
The biggest problem with NVidia drivers right now is lack of Optimus support.
With every new laptop that has an NVidia chipset using this feature, this is not acceptable IMO, because it puts Linux users in a horrible position of having to choose between horrible battery life or horrible performance.
And yes, I have been trying out project bumblebee. But really, it is a giant hack and not a workable solution long term IMO, because it is the opposite of "seamless"
This is a power play from the linux kernel team. They don't like that someone else has control over a large part of their system and they want the source so that they can control it. As far as I can tell they are the only people with a real, practical issue with the status quo in that they're the ones using exprimental kernels that Nvidia don't support yet and obviously Nvidia drivers being under their control would make their lives easier.
I'm with Nvidia on this one though, it's their hardware and they have the right to maintain control of thier drivers if they choose to do so. Of course, as others have pointed out, we have the right not buy that hardware if we choose and those with an ideological issue with Nvidia's position will probably choose to do that but this clearly doesn't worry Nvidia too much.
Personally, I'm satisfied with Nvidia's model. Seems to work pretty well for me.
"XML is like violence. If it doesn't solve your problem, use more." - Anonymous Coward
What is needed is an operating system that doesn't sh*t itself on update so nVidia can write a single Linux driver as they do with Windows/Mac and call it a day.
Document every interface on your hardware necessary to exploit it's full potential.
NVIDIA is a corporation, a business. Its goal is to make money. People are idiots for telling them they should give away all their secret sauce and "open up their hardware." There is still a reason that Coca Cola hasn't "opened up" its recipe, and that it is still a closely-held trade secret. No one jumps on Coke? Companies exist to make money- let them do it.
My current peeve... how about a driver that works nicely with Real Time Linux. The word is that proprietary NVIDIA drivers are death to Real Time OS. I would purchase a NVIDIA card and use proprietary drivers if they had low latency, low jitter, and no memory conflict issues. Until then, I will try AMD/ATI and/or use KML drivers. Real Time Linux is used for device controllers, robotics, and other timing-sensitive applications. I am not a Freeware fanatic, I just want something that works.
Why do I want to kick this guy in the fucking balls?
"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?'"
Ohhh... really?? You mean work on the "kernel". Oooooo Ohhh... That icky thing that ALL THE SERVERS ON PLANET EARTH USE. Yea, shitfucker, that kernel.
And you can improve Nvidia's image by shoving the marketing manager's fist up your fairywinkle ass.
Not really, it's the one where this link was put up much earlier and where it resulted in a much more interesting and insightful discussions. Reddit is what slashdot used to be before dimwits such as yourself took over. I'm posting anonymous, but I have a slashdot account with a 4 digit user ID that I have not logged in with in years.
Seriously, if we have to use the blob, it may as well have a framebuffer like every other driver that exists. I have to use it for VMWare, otherwise it'd be Nouveau.
I tried installing mint 13 and ubuntu 12.04. both lock up with a gtx580, can't get the driver installed. Well, I could, but I just give up after 10 minutes dicking around with the command line at init level 3.
Slashdot needs to lose the "news for nerds" tagline and adopt "reddit news from yesterday, today." instead.
Modded down for that? I thought it should be +5 insightful.
Create a 2d DRI driver that can go into the kernel that does basic 2d graphics.. ie the same features that the intel-driver does.. Here they could add interfaces for cuda/opencl etc also. On top of this add libraries, instead of their kernel-module blob, to do the 3d stuff....
Nvidia can implement a base-set of functionality for this without releasing the whole documentation...
If it's needed to load some firmware to the card to do 3d then do during the init of the libraries...
This way we could get:
- Good DRI drivers for nvidia.. Modeswitching on nvidia cards do suck at the moment..
- Good, and small, 2d drivers for all basic machines that don't care about 3d..
- Better in-kernel driver for nvidia cards that 3'rd party developers will work on, and reduce the load on the developers for the commercial driver..
- Nvidia can have their API in a stable way for the kernel via their DRI driver. If things needs to be updated they push new patches to the kernel and then just specify that "driver X needs kernel Y or later"
- Less issues with the kernel-api changes that always seem to break the nvidia driver.
- Power-management goes in the kernel all the way... Ie less issues with hibernation etc..
Another good thing that could result in this is to create a generic interface to the kernel for doing 3d graphics without having the need for X..
with all the anti-Nvidia rants lately, it's time for a scientific experiment and we are perfectly equipped for it:
1. The "open source" video driver advocates have always said that the Linux community would write their own superior open-source drivers if only the hardware vendors would open-up the specs and some of these advocates are among those who are loudly complaining that Nvidia will not open-up their specs.
2. Both ATI and Intel have now released their specs, but Nvidia (consider them a "control" group) still has not
The experiment: See if, unfunded volunteers left to their own and simply provided with docs will produce better and faster 3D drivers than the closed proprietary vendor does.
So far, the open-source advocates have failed. The Open ATI and Intel drivers are not superior to the Nvidia binary blobs in stability, performance, or features.
As long as the open ATI and Intel drivers are worse than the Nvidia blob drivers, there is no validity to the arguments being made in favor of Nvidia opening up. On the day that the quality of the open Intel and ATI drivers surpass the quality of the Nvidia blobs, then we can re-open the discussion.
Answer our questions!
Lisias@Earth.SolarSystem.OrionArm.MilkyWay.Local.Virgo.Universe.org
Put a microprocessor on the card which accepts OpenGL commands (or something similar) from the computer and does whatever proprietary stuff you would usually do on the card. Then publish and open the interface between the host system and that controller, so every graphics card will look "the same" to the host system. Get the complexity out of the driver and into the "hardware".
The whole idea of closed source software is ridiculous anyhow. Don't you think your competitors haven't already analysed it in detail just like they reverse engineered your chips for years?
Companies that develop hardware should not be excoriated because they don't want to reveal all of their secrets. This is the situation nVidia finds itself in. Their Linux drivers are very good, and support their hardware very well. They don't hide their api's - only the implementation, and that is their right. However, in my opinion, supporting DKMS would be good. My main complaint with nVidia right now is that every time I update my kernel, I have to re-install my video driver, which is a MAJOR PITA! DKMS support would mostly eliminate that problem as it would re-install itself when I run a new (or older) kernel.
Release a seperate product that's completely open and give the open hardware specs to bsd and linux devs to work with, or open up all old products. Let the O/S developers drive the device no binary blobs. If you don't one of the Taiwan chip manufacturers will and you'll have lost out to hundreds of millions of future Android handsets. Then you can continue to swindle the computer gaming market with your ridiculously inflated windows closed source drive bubble and help future proof the company when that market inevitably disappears in a decade or sooner.
for linux? If not it makes perfect busines sense to just open the code up and let the linux community take over.
This is just marketing bullshit from NVIDIA. IF they were really concerned or interested this announcement would never have been issued; instead all they needed to do was listen to their own developers and the kernel folks.
My karma is not a Chameleon.
Many moons ago, S3 had one amazing piece of tech in their extremely underwhelming Savage4 and 2000 video cards: S3TC. With it, a Savage4 could muster some of the most gorgeous 3D images of it's time, particularly in Unreal Tournament when the 2nd disc full of S3TC specific textures was installed. While still slow as a constipated turtle shitting molasses, visually a Savage4 was far ahead of the TNT2's and GeForce256's of the day on a game that supported S3TC via S3's MeTal API.
Nvidia licensed S3TC (as did many other companies) for their products many years ago, and it's still proprietary. This is but one hurdle facing a completely FOSS driver.
Fifty watts per channel, baby cakes.
And by "dealing" we mean "using the same software facilities used by anyone else and which are in the kernel for ages", not "trying to reinvent the wheel each time, so you can re-use the same wheel as in Windows instead of playing nice with everyone else".
"Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
XRandR (REALLY-REALLY THIS! I cant use my colorhug without cripling my nvidia driver and switching to nouveau because of XRandR fail) and if you dont want to make your driver work with old cards, help NOUVEAU support them properly with just the knowhow, mainenance will be free.
They should get rotation working. I'm using Ubuntu 12.04 (unity 3d) and can't get the second monitor rotated.
*NVIDIA makes good binary drivers, but those have problems when a new kernel version comes out with changed interfaces: Only NVIDIA can adapt them, and until they get around to it, NVIDIA may not work with the latest kernel version.
In addition to that, Nvidia tends to do things in their own way in order to share code between the various OSes.
And some feature can't be implemented in the Windows-y way on Linux.
On the other hand, the linux kernel provides plenty of software facillities, thus increasing code share between drivers. Nvidia tends to ignore these. (For example, Linux has standard interface for handling multiple monitors, changing the resolution, and so on: XRandr. Until now (version 302) all that the nvidia drivers could do was only their own TwinView, which is proprietary, has nothing to do with XRandr, doesn't play nicely with other Linux software. But is the same technology as what they do on Windows - Meanwhile Xrandr has been available on ATI for ages, both on the proprietary and opensource drivers).
The Optimus situation boils down to that.
- A new generation of optimus laptop has an embed Intel gpu which is always on, and which is permanently connected to the display. It has also a discrete Nvidia GPU. Unlike older dual GPU laptops, it lacks any electronics to switch the output from one GPU to the other. The Nvidia GPU will never see a monitor connected to it, it stays always headless. Instead the Nvidia GPU has to render its 3D ouput on the frame buffer of the Intel GPU , which will display it.
- The Linux operating systems has several software facilities which could make such an "shared framebuffer" architecture workable (both as in kernel code to route ouput, and a modular Gallium3D driver stack) - in fact, current experimental implementation of such software works to do crazy stuff. Like hot plugging an USB attached display adapter and have the computer's high performance GPU off loads the 3D rendering and then stream the graphics to the external 2D LCD.
- But the Nvidia people don't use these because they differ massively with how they deal with these things in their common OS-shared code. End result. no Optimus for you, which can in some circumstance even mean no graphic output for you at all.
Nvidia's answer? Go see Bumblebee.
(Bumblebee is a hack by a small 4-man team [kudos to them!]. Basically it will start on-demand a separate X server on the Nvidia hardware and use VirtualGL to copy back the visuals on the main X Server running on the intel. Users can select which software to run on the real Intel X server, and which software to remote to the Nvidia X server. It can solve the optimus problem in a few situations. But that is still a hack. And that's because Nvidia has a closed driver that can't be fixed, so volunteer have to make such hacks aroudn the unfixable problems)
And as far as I've heard, the Tegra situation isn't any better. Nvidia keeps doing things their way.
*Proprietary drivers - 1) monitor upcoming kernel builds and proactively update drivers before the next kernel release or 2) have a dedicated nVidia contact to work on updating drivers ASAP when notified that an upcoming kernel build breaks them
Well that would be the strict minimum. It would be even better if Nvidia could at least try to play nicely along with what's done by everybody else.
We have a real clash of mentalities.
On the linux side, we have developpers which like consolidation, code sharing and so one. If some function has to be performed by more than 2 modules, the developers dream is to have that function move out into a common module with a nice API to export such functionnality to anyone who can need it. (for exemple, in storage, the long term is to consolidate all the various data redundacy functions (MD linux software raid, vendors sfake raid, LVM stripping, DRBD network redundancy) into the same facility - currently LVM and Fakeraid alrea
"Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
Depending on how much functionnality you want from the card, that might not work.
Several functions (the Optimus situation being a prime example) require a lot of collaboration between lots of component.
The very small open drivers, begin to just be a small interface for passing commands to the hardware. But then you start to need initialisations in the kernel (KMS - Kernel mode switching) for various good reasons (suspend/resume, error message, graphical console). You end up with the 2D support being opensource and the closed source component being only the OpenGL driver.
But then (specially for SLI, Optimus, etc.) you need to be somewhat able to share states accross drivers and graphic cards: you need to use the in-kernel memory management facilities that the other use, you nee d to use the modular architecture of Gallium3D, so the opensource part gets even bigger and spans user space too, while the closed source part is even smaller.
At that point the closed part is nothing more than a thin layer which exports basic hardware function blocks (shaders, etc.) while everything else is handled in the common part (memory management is handled by the kernel, openGL and other APIs are handled by Gallium3D, etc.)
And then, the closed source model start to lose its advantages: you won't be able to share much between OSes (Gallium3D modular architecture hasn't much in common with WDDM). You won't be able to exploit all your small private secret über optimisation because you have to play nicely with API state trackers in Gallium3D and play nicely with all other drivers cards.
That is something which was understood by Intel : They moved completely to the opensource stack and asked Tungsten to write their driver for linux as opensource. It uses KMS, it's been on the fore-front of memory management facilities (TTM, GEM, etc.), Gallium3D was developped *by* people at Tungsten (although, curiously Intel themselves only started using it recently for the latest hardware, the rest still uses the older stack in Mesa).
That is also something wich was understoof by ATI: They offer both a Linux port of Catalysts (which might not be as stable and great as Nvidia's blob. But on the other on the other side plays nicely with some standard in Linux like Xrandr), and they support opensource drivers (release docs, pay developers). We've reached the point where for old hardware (up to r500 / Radeon X1nnn) the opensource drivers are the best solution for stability AND performance. And newer hardware (R600 and up / Radeon HD nnnn) is more or less functioning, with very good stability and with acceptable performance for everyday work.
Nvidia on their side prefer clinging on their advantage of closed source (shared code accross OSes, über optimisations) which make them win on ease of development, but make them lose on the cooperation with the rest of the ecosystem: their driver doesn't play that nicely with kernel updates. their driver doesn't play nicely with other driver/hardware and some feature just can't be make to work (Optimus). their driver doesn't play nicely with the current standard and some feature work bad with some software (TwinView vs. Xrandr). and their monolithic drivers make kernel developpers want to cry (from what i've heard the Tegra situation is worse).
"Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
and the only reason Intel drivers work is because of the server market and because chips don't change often.
Well, you're wrong. Foremost, Intel GPU are at most deployed on desktops, server tend to use either even older GPUs or use GPUs with embed VNC server for remote KVM.
But Intel has been quite active on the GPU in kernel. They have helped create or sponsored (through paying Tungsten graphics to write opensource driver) a lot of development.
Kernel mode setting has appeared thanks to joint collaboration between all (non-Nvidia) developpers and that helps a lot for example for suspend/resume to work.
Intel (through Tungsten) has helped in-kernel gpu memory management (TTM, GEM, etc.)
Tungsten developpers (paid by Intel, then by VMware) have created the modular Gallium3D stack (which use separate font-end for the various API like OpenGL, openCL, etc. there's even a dx10/11 frontend. And a separate back-end to interface the hardware). The opensource ATI driver use it, Nouveau use it, newer Intel hardware (and alternative driver for older intel hardware, in part sponsored by Google) use it.
Yup there's a lot of development being done on the Intel front. They are not just sitting around with the same old 10yo driver and juste adding new PCI IDs from time to time.
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. {...} 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.
Nobody said that graphic drivers are easy. Nobody said that once AMD published specs, perfect drivers will insta-magically show up on the next day. (Although by now, the opensource AMD drivers are the best thing for Radeon X cards, and work well enough (not the best perfomance, but work stable) for most Radeon hd except the latest generation).
And if "linus is poking his pecker" (well actually not. He doesn't do much GPU development. the "pecker poking" in the GPU world is currently done by people on AMD's, Intel's, VMWare's, Tungsten's payroll) that because *technology is changing*. keeping a stable ABI would also mean that we stick to old paradigm and old technologies. People aren't just breaking Linux for the sake of breaking it. Their are breaking it because old cruft needs to be removed, new capabilites needs to be added. Disparate stuff needs to be consolidated in common. Linux is a moving target, because technology is moving on.
(And in fact, it's not just Linux. Microsoft has also needed to break compatibility in several point in time in their Windows family. You don't notice it as much, because overall Windows development tends to move at the speed of a glacier, specially in the post XP era. But for exemple the graphic driver infrastucture between XP and Vista changer completly. For exactly the same reasons as it is also changing in Linux: bring in modularity)
If Linux sticks with a stable API/ABI, it will be stopped in it's development. (You like how there isn't any problem on laptops by suspend resume with opensource drivers? Well that's because KMS was introduced, remove the needs for a crazy ping-pong between kernel and userland x server for state saving and re-initialising).
It's because Nvidia doesn't use the newest feature of the kernel that Optimus isn't working.
Also binary-drivers-on-CD have the problem that, when there is a big change needed in the kernel and in the API/ABI, drivers won't get updated.
- On linux, substem team can make sure that if their subsystem changes somewhat, all their drivers can be adapted to work with the newer infrastructure.
- On windows, not every single manufacturer upgraded every piece of hardware from XP to Vista.
To be able to keep up with such a moving target, hardware manufacturer need to :
- either actively tra
"Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
Leak the source. Boom Instant Love