Summary: | Missing nvidia devices (not the old bug) | ||
---|---|---|---|
Product: | [OLD] Docs-user | Reporter: | Declan Ireland <deco_ireland2> |
Component: | nVIDIA Trouble Shooting Guide | Assignee: | nm (RETIRED) <nightmorph> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | docs-team, x11-drivers |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | All | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
nvidia-guide.xml.patch
nvidia-guide.xml.patch nvidia-guide.xml.patch |
Description
Declan Ireland
2006-01-05 15:04:54 UTC
(In reply to comment #0) I don't think this is necessarily an nVidia bug. Check the udev guide; it talks about that (or at the very least, there's a bug waiting with an addition to create the nvidia devices using the steps you outlined, which are provided in the help files distributed with the driver). But it would be a good idea to include this in the actual nVidia guide, where users will probably look for it first. I'll whip up a patch for this soon. :) Created attachment 76494 [details, diff]
nvidia-guide.xml.patch
Actually, the original bug reporter's comment is somewhat wrong: "ls /dev/nvidia" will never show anything, as there *is* no /dev/nvidia directory. I have a perfectly working nvidia setup with the latest drivers, and even with the older drivers, there was never a /dev/nvidia/ directory created. Instead, the nvidia devices are located in /dev; I have nvidia0 and nvidiactl.
Correct checks and fixes are now implemented in the nVidia guide, as per the above patch. And yes, while this information is in the udev guide, since udev is the default in all gentoo installs now (more or less), users are less likely to read it. Besides, it does make sense that they'd first check the nVidia guide for how to fix an nvidia-related problem. :)
(In reply to comment #2) The whole point of the patch is that it's better to repeat the same fix rather than just providing a link to the appropriate section in the udev guide. As this is strictly an nvidia guide, we don't need to mention (nor should we care about) the udev guide. That might just confuse users, especially as udev has been the default for all gentoo installs for a little while now. anyway just to say i said /dev/nvidia* ( asterik) should show nvidia0 nvidia1 etc.. :) i wasnt/not 100% sure about nvidia device naming so wasnt 100% sure if nvidia0 is needed in all cases. anyway would be nice to have in nvidia docs as it comes up abit in irc (In reply to comment #4) > i wasnt/not 100% sure about nvidia device naming so wasnt 100% sure if nvidia0 > is needed in all cases. Looks like there will always be a control device (nvidiactl) as well as devices for each card detected; if you have more than one card, you'd have nvidia0, nvidia1, etc. One small possible addition, maybe suggest to users to add if [ ! -e /dev/nvidia0 ]; then /sbin/NVmakedevices.sh fi in /etc/conf.d/local.start. Or just add /sbin/NVmakedevices.sh So it will run @ reboot. Either way if no/yes to this change, think this can be marked as resolved. Turns out that I have since experienced this error after updating my kernel to gentoo-sources-2.6.14-r5 (x86). Nothing higher will work with stable or unstable nvidia-kernel. However, after running NVmakedevices.sh, all I had to do was edit /etc/conf.d/rc , change the option RC_DEVICE_TARBALL to "yes", and it worked from that point forward, even after rebooting. (I used the latest stable nvidia-kernel-1.0.6629-r5). The problem appears to be that udev is not creating the proper device nodes needed for the nvidia module. This is likely a bug. In the mean time, users can still run a pure udev system while retaining the tarball of their nVidia devices for the next boot. Perhaps this should be added as a supplementary <note>/workaround. I'll whip something up soon. Created attachment 81226 [details, diff]
nvidia-guide.xml.patch
This adds the needed section. Note that this repeatedly works for me, and it's worked for other users on the forums. iirc there's also an old RESO FIXED bug with this solution; still searching for it though.
I'd like to commit this fix, so comments are very welcome. As is testing!
CCing the X11 drivers herd. What do you say about this? The problem seems to stem from the fact that nvidia-kernel-1.0.6629 has changed its functionality somehow, and udev no longer automatically creates the right devices for it at boot. I tried upgrading my kernel to 2.6.14-r5, 2.6.15-r1 (all x86), upgrading to the latest ~udev, latest ~nvidia-kernel, to no avail. Finally settled on unstable udev 084, nvidia 1.0.6629, and gentoo-sources-2.6.14-r5, though the solution I posted also works for stable udev 079-r1. Whatcha think? It's a workaround, but one a lot of users have experienced and reported in bugzie (bug 69913) and on the forums. My solution worked for them, so . . . Created attachment 81386 [details, diff] nvidia-guide.xml.patch Okay, after talking with azarah (from the X11 herd) on IRC, I slightly tweaked the patch. It turns out that users can either change conf.d/rc or upgrade to the latest ~unstable 8xxx nvidia-kernel/nvidia-glx. If they choose to do the latter, then they must be using a kernel >=2.6.14, as the 8xxx drivers no longer rely on hotplug/udev magic to create their nodes. Instead, the X driver itself creates them at runtime. In other words, users won't need to run NVmakedevices.sh if they go this route (it's even been removed from the package). This will probably go in as is; I did spend quite a long time talking with azarah, and he suggested including the note. Reading through the nVidia documentation for the latest drivers confirms this. Please see http://dev.gentoo.org/~nightmorph/misc/nvidia.txt for the relevant portion; note the "current releases" paragraph. azarah further explained that this requires you to use a kernel >=2.6.14. Fixed in CVS with a couple of solutions. Thanks to the original reporter and to azarah from the X11 herd for the help. |