Alexander E. Patrakov wrote:
> One of commonly-used beyond-BLFS devices is /dev/nvidia*, which is
> currently (only AFAIK, because I don't have anything made by NVIDIA)
> assigned the 0660 mode and the "video" group.

Yes, however I'm pretty sure that nvidia doesn't generate uevents
anymore.  At least, the class_simple interface that older nvidia drivers
used has been removed in favor of ... something that I never figured
out.  IIRC the entire sysfs class interface was changed to being
EXPORT_SYMBOL_GPL at about the same time, which (if true) would mean
that nvidia really has no way to send device uevents anyway.

The nvidia X driver has support built into it to auto-load the nvidia.ko
kernel module, and create (or change permissions on) the device nodes.
When nvidia.ko loads (at least with driver 1.0-8756, the latest), no
device nodes get created anyway, so I doubt that udev is even in the
picture.

(I have nvidia blacklisted on my machine, and I know the X server loads
the module.  I believe I can also kill off udevd and startx, and still
have the devices be created, but I've never tried it.)

I know the nvidia kernel module takes three options for a UID, GID and
permissions for its device files, and I have those overriding my udev
rules.  The permissions specified to the module take effect; the udev
rules file permissions do not.  (I have udev set with GROUP="video",
MODE="0600", and I have the module set with the same group but a mode of
0660.  The files show up with a mode of 0660.)

This whole setup doesn't make a ton of sense if it's the X server that
creates the device nodes and not the kernel module, but a lot of
nvidia's driver architecture doesn't make a lot of sense anyway.
(Actually, it may be that the kernel module just holds the UID, GID, and
permissions somewhere, and the X driver asks it for those values later.
Not exactly sure though.)

In short: Current nvidia drivers don't seem to use udev at all, so I
doubt that having it configured is even a good idea.  (In fact, a "find
/sys/class -name 'nvidia*'" comes back with nothing with version 8756.
"udevinfo -q name -n /dev/nvidia{0,ctl}" both come back with "no record
for nvidia{0,ctl} in database" as well.)

Attachment: signature.asc
Description: OpenPGP digital signature

-- 
http://linuxfromscratch.org/mailman/listinfo/lfs-dev
FAQ: http://www.linuxfromscratch.org/faq/
Unsubscribe: See the above information page
  • Re: nvidia (was: Inconsistent policy about udev rule... Bryan Kadzban

Reply via email to