Are there any distros out there that have nvidia accererator drivers installed with it? Or does this just make why to much sence?
cybertron
03-06-2004, 07:53 PM
I don't know about any that come with the drivers, but they're really easy to install if you just download them from nvidia.com. Just run a shell script and it pretty much walks you through the rest. Why do you need a distro that includes them?
Hayl
03-06-2004, 08:01 PM
no there are no distro's that come with them because of the way they are licensed from nvidia. they are not redistributable afaik.
http://www.nvidia.com/object/nv_swlicense.html
Drago
03-06-2004, 08:07 PM
Not sure on this... but didn't one of the evil entity versions install the nvidia drivers for you at one point in the install?
Hayl
03-06-2004, 08:11 PM
probably did but i bet it downloaded them and then intalled them.
gentoo has ebuilds for installing them but it downloads them.
lazy13
03-06-2004, 08:20 PM
I'm pretty sure some commercial distros like Xandros install official Nvidia drivers but there is no evaluation version.
Drago
03-06-2004, 08:23 PM
Originally posted by Hayl
probably did but i bet it downloaded them and then intalled them.
could be, i dont really remember.
hard candy
03-06-2004, 09:05 PM
Mepis linux has the official Nvidia drivers already to go- automatic config with a nvidia card. This is present on the install disk. A free distro also. :D
the package list (http://www.mepis.org/book/view/322)
From the nvidia license:
2.1.2 Linux Exception. Notwithstanding the foregoing terms of Section 2.1.1, SOFTWARE designed exclusively for use on the Linux operating system may be copied and redistributed, provided that the binary files thereof are not modified in any way (except for unzipping of compressed files).
carbon-12
03-06-2004, 09:37 PM
PClinuxOS does.
http://www.pclinuxonline.com/pclos/index.html
Absoutly amazing distro. Has all my favorite apps preinstalled(gift,mplayer,etc)
bwkaz
03-06-2004, 09:57 PM
The legal issue isn't with the nVidia driver license, it's with the kernel's license. The kernel is GPL'ed (duh). Linking against any program or library (regardless of its license) creates a derivative work, and the GPL requires that derivative works be GPL'ed in their entirety. The nVidia modules are not GPL'ed, and their (full) source is not available.
There is another related requirement -- if you redistribute some binary that's GPL'ed, in some configuration, you have to make available the full source required to compile the exact same binaries as you're contributing. If I install Mepis (or whatever else), I have the right, based on the license the kernel is distributed under, to get at enough source code to build, from scratch, that entire kernel and all its modules. But that's impossible when nvidia.ko is in there.
rwtoften
03-06-2004, 10:02 PM
Mandrake powerpack 9.2 and 10 come with nvidia drivers!
hard candy
03-06-2004, 11:08 PM
Well apparently, the developers of these distros have permission to include the nvidia drivers and they are not breaking the license.
Linking against any program or library (regardless of its license) creates a derivative work, and the GPL requires that derivative works be GPL'ed in their entirety. The nVidia modules are not GPL'ed, and their (full) source is not available.
But I think the nvida driver must use the "fork and exec" or dynamically link with limited communication to escape this:
From GPL FAQ:
"If a program released under the GPL uses plug-ins, what are the requirements for the licenses of a plug-in.
It depends on how the program invokes its plug-ins. If the program uses fork and exec to invoke plug-ins, then the plug-ins are separate programs, so the license for the main program makes no requirements for them.
If the program dynamically links plug-ins, and they make function calls to each other and share data structures, we believe they form a single program, so plug-ins must be treated as extensions to the main program. This means they must be released under the GPL or a GPL-compatible free software license, and that the terms of the GPL must be followed when those plug-ins are distributed.
If the program dynamically links plug-ins, but the communication between them is limited to invoking the `main' function of the plug-in with some options and waiting for it to return, that is a borderline case. "
An Interesting story (http://slashdot.org/features/00/05/01/0047219.shtml)
teeitup
03-06-2004, 11:58 PM
Libranet installs nVidia drivers during install and it's debian based to boot.
Admiral Frosty
03-07-2004, 12:18 AM
Oh wow, look what happens when you post and go do something?
Yeah, I started this mainly out of frustation in trying to get them installed on my Debain box, see my other postings (http://www.justlinux.com/forum/showthread.php?s=&threadid=123644).
Thanks teeitup, I might try that! I'm allready running a debian-based system!
bwkaz
03-07-2004, 03:02 PM
Originally posted by hard candy
Well apparently, the developers of these distros have permission to include the nvidia drivers and they are not breaking the license. Permission from nVidia? That's not required -- they need permission from the kernel devs. All of them.
I think rather that the organizations distributing the drivers are doing so either out of ignorance, or with a separate "you do not have the right to the source for this kernel module, even though it's legally required to be GPL, and we're legally required to distribute it under the GPL terms". I would hope the former, because the latter indicates a disturbing failure to comply with the terms of the kernel's license.
But I think the nvida driver must use the "fork and exec" or dynamically link with limited communication to escape this: It uses neither. At runtime, when you load a module, no forking is happening -- forking is a function of userspace, not kernelspace (well the kernel does it, but only to spawn init, and after that, only at the request of userspace). The kernel module is linked into the memory image of the kernel when it's loaded.
If the program dynamically links plug-ins, and they make function calls to each other and share data structures, we believe they form a single program, so plug-ins must be treated as extensions to the main program. This means they must be released under the GPL or a GPL-compatible free software license, and that the terms of the GPL must be followed when those plug-ins are distributed. This is what happens in nVidia's case. The nVidia module calls functions inside the kernel to iterate through the set of PCI devices in order to find the video card, for one. It gets called from the kernel's IRQ handler when a video card IRQ comes in, for two. And the module shares one heck of a lot of data with the kernel -- for example, the framebuffer contents are shared with the vesafb driver, and AGP data is shared with the agpgart driver.
An Interesting story (http://slashdot.org/features/00/05/01/0047219.shtml) Is that the X driver, or the kernel module? Well, it was four years ago, so maybe their drivers were different back then. And some of the comments are talking about how 3dfx is better, which used to be true way back then.
hard candy
03-08-2004, 09:59 AM
From the GPL FAQ:
"What is the difference between "mere aggregation" and "combining two modules into one program"?
Mere aggregation of two programs means putting them side by side on the same CD-ROM or hard disk. We use this term in the case where they are separate programs, not parts of a single program. In this case, if one of the programs is covered by the GPL, it has no effect on the other program.
Combining two modules means connecting them together so that they form a single larger program. If either part is covered by the GPL, the whole combination must also be released under the GPL--if you can't, or won't, do that, you may not combine them.
What constitutes combining two parts into one program? This is a legal question, which ultimately judges will decide. We believe that a proper criterion depends both on the mechanism of communication (exec, pipes, rpc, function calls within a shared address space, etc.) and the semantics of the communication (what kinds of information are interchanged).
If the modules are included in the same executable file, they are definitely combined in one program. If modules are designed to run linked together in a shared address space, that almost surely means combining them into one program.
By contrast, pipes, sockets and command-line arguments are communication mechanisms normally used between two separate programs. So when they are used for communication, the modules normally are separate programs. But if the semantics of the communication are intimate enough, exchanging complex internal data structures, that too could be a basis to consider the two parts as combined into a larger program. "
From the above I think Nvidia drivers on a distro disk are legal even if they interact with the kernel and that they can escape the GPL. Surely by now someone must have researched this enough to determine whether Nvidia, real player, flash, java, or some other program has violated the GPL. And I'm sure that we would not be seeing Nvidia drivers anywhere near a linux kernel on a distro disk if they would have to make their source open to ATI along with the rest of the public. It would seem ATI would have forced Nvidia's hand if no one else thought about it.
:)
bwkaz
03-08-2004, 08:12 PM
Originally posted by hard candy
Combining two modules means connecting them together so that they form a single larger program. If either part is covered by the GPL, the whole combination must also be released under the GPL And this is what the kernel modules do. They combine with the kernel bzImage to form the running kernel, which is a single larger program.
That's the problem.
If modules are designed to run linked together in a shared address space, that almost surely means combining them into one program. This is what kernel modules do. They run linked together with the kernel in a shared address space.
From the above I think Nvidia drivers on a distro disk are legal even if they interact with the kernel and that they can escape the GPL. The fact that they're on the same disk doesn't matter. Mere aggregation isn't covered by the GPL (and this is what you're no doubt highlighting in the above), so you are able to put any non-GPL program on the same disk as any GPL program.
But that only applies to programs, and kernel modules are not (full) programs. They're basically libraries which get linked into the running kernel, and share its address space. By the stuff that I've quoted out of the FAQ above, they need to be GPL'ed if somebody's going to distribute them with the kernel.
Shared libraries (unless they are "normally distributed as part of the operating system", whatever "normally" means), if they are covered by the GPL, require any program that links against them at runtime to also be GPL'ed, otherwise the library can't be distributed with the program. It may even be the case that the program isn't allowed to link against the library at all, but I don't think so. This requirement is the reason that the LGPL originally existed (the LGPL says that proprietary programs can link against the library) -- but newer GNU libraries are using GPL terms now instead of LGPL, so they prohibit linking too. Unless the library is a "normal" part of the OS, like glibc.
Surely by now someone must have researched this enough to determine whether Nvidia, real player, flash, java, or some other program has violated the GPL. It's not something that nVidia, RealNetworks, Macromedia, or Sun needs to worry about. It's something that the distributors need to worry about, because they're the ones that the GPL is applied to most of the time, since they redistribute the covered software. They would be the ones violating the GPL in case one of your examples is illegal, not the makers of the proprietary software.
Plus, RealPlayer, Flash, and Java are separate programs. They're not linked into anything at runtime (except perhaps the Flash or Java plug-ins, but it's probably argued that they start up another process and communicate with it from the browser).
And I'm sure that we would not be seeing Nvidia drivers anywhere near a linux kernel on a distro disk if they would have to make their source open to ATI along with the rest of the public. It would seem ATI would have forced Nvidia's hand if no one else thought about it. I think there's a bit of misunderstanding in this. I'm saying that the GPL would require the full source for nVidia's drivers to be available, yes, but my point isn't that that would force nVidia to release that source. My point is, it would force the distro people to just not distribute the drivers (because they can't satisfy both nVidia's license and the kernel's license if they distribute both of them).
Again, it's the distro people that would be hit with a GPL violation, not nVidia or anybody else. The distro people are the ones that are redistributing a GPL'ed program (the kernel) without the possibility of users getting the full source that can build into the form they receive the kernel+modules in.
nothingbutlinux
03-10-2004, 06:34 PM
Originally posted by Admiral Frosty
Hey!
Are there any distros out there that have nvidia accererator drivers installed with it? Or does this just make why to much sence?
Another Debian-based solution you could check out is Morphix. It's a derivative of Knoppix and uses the same hardware detection, but has a better installer IMHO.
It comes in different configurations, but the one geared toward games definitely has the nVidia drivers installed. Even if you're not interested in games, it's a good starting point to apt-get the other stuff you want.
justlinux.com
Copyright Internet.com Inc. All Rights Reserved.