The ebuild installs patches for 2.6.x kernel even if 2.4.x kernel is used. This breaks the module and xfree refuses to load it. I commented out the 2.6 patch lines and it emerged succesfully. H Reproducible: Always Steps to Reproduce: 1. Base install with xfree and vanilla-sources kernel (2.4.27 in this case) 2. emerge nvidia-kernel 3. modprobe nvidia 4. start x Actual Results: X fails to start, with the error module failed to initialize. I have modified the ebuild to skip the 2.6 patches if a 2.6 kernel isn't detected.
Created attachment 44761 [details] Modified ebuild to skip 2.6 patches if not 2.6 kernel
To answer the -dev mail, they are masked because it was time to start cutting things out of the tree, deprecated them, if that hadnt slipped my mind, they wouldnt even be in the tree anymore. Would be nice if we could get the actual kernel error (see dmesg |tail just after modprobing the kernel module). It would be better if we could also apply patches that are not causing this.
Hi, the output from dmesg is below, unfortunately it doesnt show much. The module appears to load OK, but fails when xfree trys to use it. If there is any more info you require I'm happy to help out. I have found that sometimes older versions of nvidia drivers work better with some devices than newer ones - perhaps leaving one older driver in place would be preferrable to completely removing them from the tree, even if it is masked? Cheers Dax Heres info that may be relevant: Kernel version 2.4.27, portage 2.0.51-r3, xfree 4.3.0-r8 # rmmod nvidia # modprobe nvidia Warning: loading /lib/modules/2.4.27/video/nvidia.o will taint the kernel: non-GPL license - NVIDIA See http://www.tux.org/lkml/#export-tainted for information about tainted modules Module nvidia loaded, with warnings # dmesg |tail hub.c: 2 ports detected hub.c: new USB device 00:1d.0-1, assigned address 2 usb.c: USB device 2 (vend/prod 0x413c/0x3010) is not claimed by any active driver. usb.c: registered new driver hid input: USB HID v1.00 Mouse [413c:3010] on usb2:2.0 hid-core.c: v1.8.1 Andreas Gal, Vojtech Pavlik <vojtech@suse.cz> hid-core.c: USB HID support drivers e1000: eth0: e1000_watchdog: NIC Link is Up 100 Mbps Full Duplex eth0: no IPv6 routers present NVRM: loading NVIDIA Linux x86 NVIDIA Kernel Module 1.0-6111 Tue Jul 27 07:55:38 PDT 2004 From /var/log/XFree86.0.log: (II) Loading font Speedo (II) LoadModule: "nvidia" (WW) Warning, couldn't open module nvidia (II) UnloadModule: "nvidia" (EE) Failed to load module "nvidia" (module does not exist, 0) (II) LoadModule: "mouse" (II) Loading /usr/X11R6/lib/modules/input/mouse_drv.o (II) Module mouse: vendor="The XFree86 Project" compiled for 4.3.0.1, module version = 1.0.0 Module class: XFree86 XInput Driver ABI class: XFree86 XInput driver, version 0.4 (EE) No drivers available. # lsmod | grep nvidia nvidia 4589292 0 (unused)
Hi, Not trying to sound patronizing but want to ensure the easy stuff first: You do have nvidia-glx installed, right? That error is more likely from the /usr/X11R6/lib/X11/modules/drivers/nvidia_drv.o (I think that's the usual location) file not being found than the kernel module. Try `qpkg -l nvidia-glx | grep nvidia_drv`, and confirm that it exists in that location. Also be sure that the file actually exists in that location, and make sure you've run opengl-update nvidia. It might be worth making sure you've got the correct non-TLS libs symlinked to, as opposed to the TLS ones.
Oh no, how embarassing. Overlooking the obvious, the nvidia-glx part had failed to install because the upgrade of opengl-update required manual intervention. This happened inside a script without error logging so I wasnt aware of it. (But should have checked anyway) This would have been why it worked when I ran the Nvidia installer directly, as both the glx & kernel drivers are installed. Extremely sorry for wasting your time on this.