NVIDIA Begins Releasing Documentation For Nouveau
sl4shd0rk writes "Nvidia, perhaps inspired by the infamous Torvalds Salute, has decided to do something about its crummy image with Open Source developers. The company has begun to release public documentation on certain aspects of its GPUs. Reactions from developers have been mixed; much of what's already been released wasn't a big mystery, but Nvidia says more is coming and they will also provide guidance in needed areas as well. Linus said, 'I'm cautiously optimistic that this is a real shift in how Nvidia perceives Linux. The actual docs released so far are fairly limited, and in themselves they wouldn't be a big thing, but if Nvidia really does follow up and start opening up more, that would certainly be great. They've already been much better in the ARM SoC space than they were on the more traditional GPU side, and I really hope that some day I can just apologize for ever giving them the finger.'"
Anyone else think this is a result of Valve's announcement of focus on Linux-based Steam?
In SOVIET RUSSIA... erm...NSA AMERICA, the Internet logs onto YOU!
Since Intel, ARM, and Vivante have already spent their millions on delevoping the 3D graphics to compete with AMD, nvidia, and Immagination, nvidia might now feel it is ok to open source some of its specs.
Torvald's comments to Nvidia were to do with Optimus (their GPU switching stuff), not their closed graphics driver
AMD/ATI is more open, but sadly, their driver stack pretty much sucks on Linux. NVidia is closed, but their drivers work quite well. I use only AMD processors in my builds, but only NVidia GPUs (I tried out a Radeon card this year and had to return it because of the driver support).
So open drivers may make it easier for distros to provide out-of-the-box support for some hardware, but I'm guessing that the high-end features may still be requiring proprietary drivers.
I really hope that some day I can just apologize for ever giving them the finger.
There's no need to apologize later Linus. They behaved badly and you called them out on it. If they change their behavior for the better, simply praise them for that then.
It must have been something you assimilated. . . .
Considering the progression in their comitment would it be something like:
"Fuc ,
Sincerely
Nvidia"
Where might one find these tight ones?
Apologies to any sensitive women for encouraging this.
It'll be newsworthy when they actually provide enough documentation or source code under a free software license that makes it possible to support its graphics cards with a wholly free driver.
Just releasing a binary driver isn't good enough. AMD release enough of its code such that they could call it "open source" and yet if your running a completely free distribution (few are) it won't work. Why? Because it's actually heavily dependent on a non-free component still. They've even admitted it.
AMD has been good in the coreboot space.
Intel has been horrible in the coreboot space.
Intel has been excellent in the graphics space.
Now if we could just get Intel to cooperate in the coreboot space or AMD to cooperate in the graphics space we might actually have a better and somewhat freer desktop. Something that maybe wasn't an absolute nightmare. I didn't switch it GNU/Linux to continue my dependence on non-free software. I switched because I actually give a shit about having total control over MY system/hardware.
I thought that was part of the graphics driver, but I'm not familiar with the details.
He doesn't mind binary blobs being loaded by vendors, and doesn't really care about TIVOisation. The Optimus stuff is the crap you find in laptops for chipset switching, which at the time, NV went out of their way to ensure they didn't work on Linux systems, and wouldn't even had over the docs to allow driver writers to do the work.
The issue with NV drivers breaking each time a kernel version goes up, is a problem for users, and Torvalds isn't particularly bothered by this changing ABI mess and NV not working together with the kernel people to minimize it. Linux will never have a stable ABI, the devs don't want it, so the onus is on NV to get enough code in the kernel for their drivers to prevent users for the rigmarole of having to do the NV driver dance every time they get a new kernel.
Pffft, oh the irony. The nouveau devs have referred to the firmware's proprietary microcode as "fuc" for quite some time now.
"ABI" - Application Binary Interface. Linux has a stable ABI, he's ranted at noobs who broke the ABI before. "Application" being the operative word here... noticeably inapplicable to drivers and only tangentially related to HAL.
In other words: I'm sorry AC, I'm afraid I can't mean that.
I thought it was about Tegra, and Optimus, and GeForce, and maybe some bad memories of Nforce. NVIDIA has never before been a friend of open source.
Have a nice time.
I don't care if you disagree with nvidia's side on this. Linux behaved very poorly and should have immediately apologized (and should do so now). What is he? 12 years old? Time he grows up I think.
I just installed Mint 15 on an old P4 that was going to be thrown out. 4GB of RAM, a couple 500GB disks, and a crusty old GeForce 2 GTS. Running OpenGL screensavers right after installation and my first massive download of updates produced a slideshow, so I grabbed the Nvidia proprietary drivers but now those screensavers just show a plain black screen and gripe about modules not being loaded.
So I have to choose between the frame buffer driver and horrible performance, the Nvidia driver and various issues I have not been able to solve with dozens of Google searches, or Nouveau.
I'm not expecting miracles given the age of the hardware, but I cannot imagine 30fps in the Molecule screensaver is out of the question.
Yes he's 12, but in the way that he says what's on his mind and doesn't cripple his communications with political correctness. Linus isn't about telling people "you're doing great!" when they're bad. He calls them out when the fail horribly and makes sure everyone knows about it.
What non-free component is the radeon driver dependent of? AFAIK, radeon is completely free. Even the FSF's approved distros use it, and Stallman is not known for his flexibility. Are you referring to S3TC? The driver is hardly "heavily dependent" on it.
I don't think the analogy holds too well.
That's cause you're holding it wrong. Here, you're supposed to hold that one like a joke:
*Ahem*
Q: "What kind of meat did the Priest have on Fridays?"
Sort of. The userspace interface is the ABI that linux keeps constant. Basically all the syscalls, ioctls, and Linus even likes to include the nuances of how they operate as part of the ABI. This is the stuff that must not change, and it does a pretty good job at keeping it constant. Supposedly apps compiled to target the 1.0 kernel can still run just fine on the latest kernel, provided the libraries it links to also maintained good ABI stability.
The ABI breakage that occurs happens with in kernel functions themselves. These are things that are not considered standardized API functions or syscalls that should be accessed by userspace. But, in order to produce closed source drivers for Linux, companies like NVIDIA will need to link to these functions. Linking to these is of course a violation of the GPL, though, so NVIDIA gets around it by writing an open source shim that gets compiled when the driver is installed, which then connects to their more proprietary parts. One of the points of the GPL and allowed in kernel ABI breakage is to make it more difficult for people to keep their drivers closed source and outside the kernel.
Acting 12 is pretty good in a world of corporations yelling MINE MINE MINE while squabbling like 2 year olds.
How is "Linux" going to apologize, a printf?
more like printk
Moderating "-1, Disagree" is simple censorship. Have the guts to post your opinion. -- Spazmania (174582)
Intel and AMD have their cpu architectures opened to the public, why not gpu architectures so the linux and bsd communities can develop better drivers for wayland and mir windowing systems, what are they hiding. Or at least Nvidia and AMD can build an opengl only gpu for the open source world(linux, bsd). Fucking corporations.
"ABI" - Application Binary Interface. Linux has a stable ABI
No, not for kernel modules it doesn't and that's obviously what we are talking about here. The lack of a stable ABI for kernel modules is also the reason why version information is stored in modinfo and a kernel module only loaded if it matches the running kernel.
"Application" being the operative word here... noticeably inapplicable to drivers and only tangentially related to HAL.
You're taking that too literally, this document may help you gain a better understanding of this subject.
Or like seagulls from Finding Nemo movie.
Ant(Dude) @ Quality Foraged Links (AQFL.net) & The Ant Farm (antfarm.ma.cx / antfarm.home.dhs.org).
Guessing this
http://people.freedesktop.org/~agd5f/radeon_ucode/
The license says "free to redistribute in binary form" but its not open source and the license specifically forbids reverse engineering.
That document fails to point out the largest problem with the linux driver model. It basically forces the distribution maintainer to support a gobsnot pile of devices by backporting driver fixes, or it requires the users to upgrade their kernel every-time something fails to work. Which is basically continuously.
Neither solution is particularly helpful, as upgrading the kernel means its just as likely some other subsystem fails.
The model of only fixing what is broken, rather than throwing everything away and trying the latest version is NOT as robust a solution.
Frankly it also ignores the fact that over the last couple years the majority of the code changes in each kernel release are fixes for drivers. Heck didn't Linus just say that the current kernel RC was 70 something percent driver changes? So with that many bug fixes/changes going into drivers its amazing that anyone can claim the kernel drivers are stable pieces of software.
So basically, your hoping all the driver writers get their act together one day and release a kernel where all the drivers actually work for a given system configuration. Otherwise. your forever trying to find a combination that actually works for your PC. Or you learn to program in C, and start maintaining the drivers for your particular piece of hardware (what I end up doing as I also do this professionally). I have yet to find a linux distribution that works as well without extensive hacking as a fairly basic windows install. There always seems to be something or another that doesn't work.
My most recent laptop, with the most recent version of my distribution of choice failed to load the correct firmware for my bluetooth adapter (cause it didn't understand the PCI device id, and fell back to stupid mode), failed to understand the LCD brightness controls and has a serious bug in the HD4000 drivers GL SL 1.4 causing it to fail to shade polygons correctly in a number of games that require a recent version of GL SL. Plus, there was a fair amount of fun getting the EFI configuration correct, along with a number of other issues.
None of these would have been serious issues if the OEM customized a version of linux for the machine (aka someone could have fixed it), but as it was that job fell to me. I'm not really sure how your average slashdot user actually gets linux working correctly. I suspect that most people installing ubuntu or whatever don't actually get it working properly with most of their hardware. Instead setting for laptops that dont resume properly, or suck up unnecessary battery life running the LCD at 100%, or running the graphics card at a small percentage of its performance because the driver failed to setup the PCIe port properly, etc.
Basically, the driver model is busted and the arguments for keeping it the way it is boil down to religious wars rather than an attempt to fix a glaring problem.
Nintendo should give up on making console hardware and stick with handhelds and offer their traditional console titles via Steam.
I'm not advocating for it, just pointing out that the idea that Linux has a stable ABI (in the context of kernel modules) is completely bogus.
and your blaming crappy EFI/BIOS implementaion on Linux?
Sorry bud but that blame falls directly onto the god damn hardware vendor. Sure it's not easy but if the god damn idiots aren't even able to follow the specs correctly, why in hell do you expect the hardware to work correctly?
No I'm posting AC due to stupid /. "Your mods will be undone if you contine"
As to the hardware problems, that's why I spend a little bit more for my hardware and I do the needed research so I don't have to deal with shit like what you describe.
Pick them a very special apology SHA1 hash.
A couple of days ago there was the Slashdot article about Linus being asked if he has been ever asked to insert a backdoor into Linux. Now as the full talk is available in YouTube , you might want to check the particular comment at 24:15 and judge for yourself. After his nodding and audience laughter, a few seconds after that Linus writes it off by shaking his head and saying "no", in a voice that to me sounds like it really was just meant to be only a joke. Any comments?
The current version of NVIDIA drivers have 3 separate patches (not created by NVIDIA but by open source developers), because the stock NVIDIA driver doesn't work. They actually haven't released a driver in about 6 months that has worked out of the box. I would have already switched to the Nouveau driver if it could drive two monitors from an NV94 card (but the Nouveau driver can't, and they aren't interested in finding out the blind register that enables the second DVI port). If NVIDIA could provide the address of the register and the value to enable it, (and Nouveau added it to the driver), I would switch and NVIDIA wouldn't have to worry about me anymore.
I thought that was part of the graphics driver, but I'm not familiar with the details.
Support for Optimus was later added to the Nvidia closed source Linux graphics driver (May 3, 2013 / 319.17).
Acting 12 is pretty good in a world of corporations yelling MINE MINE MINE while squabbling like 2 year olds.
"A person is smart; people are dumb"
Beware the "wisdom" of groups/organizations/crowds, they are always less than the sum of their parts.
(*uncontrollable giggling*)
Editor, A1-AAA AmeriCaptions
news at 11
The last part is not required. You can side-by-side install libraries, or if that fails, put them in a chroot. At least one of the old games from Loki that I bought back in the days (Sim City 3000) needs this. It needs the weird Glibc-2.1 version that's neither compatible with 2.0 or 2.2. So I have an old Glibc installed in a folder somewhere under /usr/local, and use LD_LIBRARY_PATH to point to that folder.
That page talks about the driver model, not the ABI.
Linux has a stable ABI, but not a stable driver model. Two completely different things. Drivers don't care about the ABI (except the parts they add themselves), unless we are talking about things like FUSE.
That page talks about the driver model, not the ABI.
Wrong, it talks about both.
Linux has a stable ABI, but not a stable driver model. Two completely different things.
Wrong again, the two most certainly are related. Since you either didn't read the link or couldn't comprehend it i'll quote a relevant passage from it:
The Linux driver model is different. For users, the goal is to provide the “Just Works” experience. The Linux model is that IHVs get the source code for their driver accepted into the mainline kernel. This entails a public peer review process to ensure that the driver code is of sufficient quality and does not have obvious bugs or security risks.3 Linux has neither a stable binary driver ABI nor a stable source-code driver Application Programming Interface (API). That is, there is no guarantee that an interface provided in one version of the kernel will be available in the next version, and portions of the ABI and API change in every kernel release.
In my experience Nvidia's proprietary drivers are the best on Linux. By far.
Linus can complain all he wants, but Nvidia does a much better job.
Far better than Intel, AMD, and of course Nouveau, which is an abortion of a project that needs to die.
I use opensuse which defaults to Nouveau, and until I replace it with the real drivers my mouse cursor stutters across the screen with a 550 card.
I see the retards are out in force today.
I have been using Linux for over 10 years and always have Nvidia cards and I have never seen a kernel update affect the nvidia drivers. Not even once.
libc isn't available to kernel devs you dumb motherfucker