Linked by Thom Holwerda on Thu 9th Sep 2010 17:40 UTC, submitted by kragil
Linux Ahem. I just had to write that all-caps headline. Broadcom's wireless chips - used by just about everybody in this industry - have been a major pain in the bum for Linux users, because the company did not release open source drivers. Workarounds had to be created, lots of pain was had in the process, but now, Broadcom has finally seen the light: they have open sourced their wireless Linux drivers.
Thread beginning with comment 440482
To view parent comment, click here.
To read all comments associated with this story, please click here.
RE[6]: Great news...
by lemur2 on Sat 11th Sep 2010 13:50 UTC in reply to "RE[5]: Great news..."
lemur2
Member since:
2007-02-17

Phoronix is basically one person. He can and does make mistakes. Here you have a confirmation of what I said, straight from a Nvidia employee: http://www.nvnews.net/vbulletin/showthread.php?p=1946515#post194651...
And there's other such posts from Nvidia employees at nvnews.net too, this was just the first one I found after a very quick search.


On the exact same page that you linked:
I think the nvidia driver largely has the opposite problem to a lot of the existing open-source drivers - it tries to do far TOO much in the kernel. Look at the size of the nvidia kernel module, it's as big or larger than the rest of the kernel combined! Maybe in Windows' graphics architecture all that junk needs to be in kernel space, but on Linux surely a lot of stuff could be moved into userspace. The KMS drivers seem to be doing it right - have what needs to be in the kernel in the kernel, and nothing more. If NVidia went down this approach of moving code out of the kernel part, maybe they could even get all the closed-source part out of the kernel, which is the biggest pain in the butt.


The monolithic huge blob nature of the Nvidia driver, derived as it is from Windows, in conjunction with the closed-source licensing, means that it must be run as one chunk as a loadable kernel module via an open source wrapper layer.

This means that although in theory the Nvidia driver could be run without root privileges, in practice on Linux it cannot be, primarily due to the licensing issues.

Ergo, no "rootless X" on Linux for users of the proprietary Nvidia driver. Its KMS, using an open source driver, or nothing, if you want "rootless X" on Linux.

At the very least, the KMS parts (which go in the kernel) have to be open source, but perhaps Nvidia might get away with providing the rest of the driver as a binary blob. That wouldn't be ideal, and it might be a lot of work for Nvidia to split their driver, but it is the only way for Nvidia's driver to remain mostly closed and still compatible with the future directions of X on Linux.

Edited 2010-09-11 13:54 UTC

Reply Parent Score: 2

RE[7]: Great news...
by Gusar on Sat 11th Sep 2010 17:41 in reply to "RE[6]: Great news..."
Gusar Member since:
2010-07-16

This means that although in theory the Nvidia driver could be run without root privileges, in practice on Linux it cannot be, primarily due to the licensing issues.

Ergo, no "rootless X" on Linux for users of the proprietary Nvidia driver.

Sorry, I don't follow your logic. All the nvidia driver needs is access to /dev/nvidia* and that's it. I don't see how licensing affects that.

Reply Parent Score: 1

RE[8]: Great news...
by lemur2 on Mon 13th Sep 2010 03:54 in reply to "RE[7]: Great news..."
lemur2 Member since:
2007-02-17

"This means that although in theory the Nvidia driver could be run without root privileges, in practice on Linux it cannot be, primarily due to the licensing issues. Ergo, no "rootless X" on Linux for users of the proprietary Nvidia driver.
Sorry, I don't follow your logic. All the nvidia driver needs is access to /dev/nvidia* and that's it. I don't see how licensing affects that. "

Licensing issues mean that the Nvidia driver cannot be part of the kernel itself, and it cannot be delivered with Linux distributions. Because they are distributing GPL code which they did not write, Linux distributions must make the source code avialable for that which they distribute. Therefore, video modes cannot be set by the kernel directly on boot (unless the nv driver or the Nouveau driver is used) ... so one cannot have kernel modesetting.

AFAIK, kernel modesetting is a requirement within the design of X itself in order to have "rootless X" on Linux.

These are not restrictions brought about by the characteristics of the nVidia driver itself, rather they are restrictions that Linux distributions must follow due to the way Linux distributions are licensed. They are restrictions of the licensing of the Linux kernel and X itself.

These restrictions could be worked around if Nvidia were prepared to either use parts of their nv driver or the nouveau driver for kernel modesetting only, and then have their binary blob driver handle the rest of driver funtionality, but as yet nvidia haven't been prepared to do that.

Edited 2010-09-13 03:57 UTC

Reply Parent Score: 2