Originally posted by Ryo-Ohki
If I interpret my XF86Config file correctly, the nvidia.o kernel module is loaded by the X Server itself upon start, here's what I found in a commented section of my XF86Config file
No, not directly. When you say Driver "nvidia" in your XF86Config, that does not
load nvidia.o. If that was the case, then previous driver versions (where the kernel module was named NVdriver instead of nvidia.o) would have never worked with Driver "nvidia". But they did work with Driver "nvidia". The reason is, a Driver line causes X to append a _drv to the stuff in quotes, then search for that file with extension .so and .o. So it loks for nvidia_drv.so, then nvidia_drv.o, in the X driver directory (usually /usr/X11R6/lib/modules/drivers), and loads that.
That file, though, opens /dev/nvidia0. On my system, with devfs and devfsd, this open causes the NVdriver kernel module to load (on your system, it should cause the nvidia.o kernel module to load), because I have the LOOKUP .* AUTOPROBE line in /etc/devfsd.conf, which tells devfsd to run modprobe with any nonexistant device file's name as an argument (in this case, it would be /dev/nvidia0). So the alias /dev/nvidia* nvidia line will load the nvidia module when modprobe sees a request to load /dev/nvidia<anything>; since this is what devfsd passes, it should all work. Should.