I've found some more info on this issue from
http://www.reactivated.net/udevrules.php#nvidia, and while I'm not
entirely sure how to implement it, it does appear to solve the problem
of the nvidia module autoloading for kernel2.6 and udev, and should be
extendible to devfs as well.

Basically, what's happening is that X is *trying* to load the nvidia
module, but the /dev/nvidia* nodes take longer to be created than X
expects, so X gives up believing that it isn't working.

To fix the problem, you need to create the /dev/nvidia0
and /dev/nvidiactl device nodes on boot up (*without* necessarily
loading the nvidia module), then when X attempts to autoload the nvidia
module the delay to create the devices is no longer there, and X starts
fine.

I've tested the second option from the website below manually, buy
booting Debian, allowing X to fail, creating the device nodes manually
(nvidia module NOT loaded) then restarting X - and everything works
fine, X autoloaded the nvidia module and was happy.

So to resolve this bug, is it possible to add the /dev/nvidia0
and /dev/nvidiactl to the list of device nodes to include automatically
on boot up (rather than loading the module) when the nvidia module is
installed, and then remove them if the module is uninstalled?

As a worst case scenario assuming that the nodes couldn't be added to
the dev system created before devfs/udev started up, how about an init.d
script that created the nodes? And to remove the nvidia module without
removing the nodes?

Cheers,
Janeene.

> Quoted From the web site
http://www.reactivated.net/udevrules.php#nvidia
>
> udev vs Nvidia's graphics drivers
> This section isn't really relevant to the purpose of this document,
> but judging from the hits I get from google, this is a hot topic. I
> will leave it here for now.
> 
> Nvidia's graphics drivers (the closed-source ones, not the ones that
> come with XFree) do not work with a default installation of udev - you
> are unable to start X. This is because the nvidia module is loaded by
> X, but the /dev/nvidia* nodes are not created quick enough, so X bails
> out.
> 
> The solution to this problem is to autoload the nvidia module on
> bootup. Yes - you are *supposed* to do this - the NVidia FAQ confirms
> this! On devfs-based systems, devfs did this automatically at bootup
> anyway. Your linux distribution will have created a file which you can
> list modules to be loaded on bootup
> (e.g. /etc/modules.autoload.d/kernel-2.6 for Gentoo, /etc/modules for
> Debian).
> 
> This isn't all - you will also need to patch the nvidia kernel
> interface to export some basic info to SYSFS so that udev will create
> the devices. Martin Schlemmer has written a patch against the 1.0.5336
> version of the nvidia drivers, which can be found here. The Gentoo
> package nvidia-kernel-1.0.5336-r4 contains this patch.
> 
> Another solution is to simply create the nvidia specific nodes on
> bootup. X will then load the module when required, and as the nodes
> are already in existance, you will not run into the problem described
> above. Place these commands in a file that is automatically executed
> on bootup (e.g. /etc/conf.d/local.start for Gentoo): 
> 
> mknod /dev/nvidia0 c 195 0
> mknod /dev/nvidiactl c 195 255
> You should now be able to get into X with no problems.



-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to