# NVidia drivers don't work (again) [fixed]

## niffs

Once again (this has to be the third or fourth time...) I can't get the X.org nvidia driver to work.

My card is a good ol' TNT2, and up until I upgraded my kernel, all worked well.

The module (currently using 1.0.7174, but have tried multiple other versions) loads fine, but when I try to start X using the nvidia driver, It gives me the all too well known

```
(EE) NVIDIA(0): Failed to load the NVIDIA kernel module!
```

error, and fails to start.

I have to use the "nv" driver, and I would be content with that, but I would like to use OpenGL applications...

I realize that nvidia dropped support for older cards in their newest release, but I have tried multiple older versions that I know used to work before I upgraded the kernel.

If it helps at all, my kernel version is 2.6.13-rc6 (vanilla)

I've had this problem for a while, but have been unable to find a solution...

----------

## Ma3oxuct

Post you kernel .config file with entries pretaining to Graphics. Also are you sure that you have the things enabled in the kernel that the nvidia-drivers guide asks for?

----------

## niffs

Here is the graphics part of the .config:

```
CONFIG_FB=y

CONFIG_FB_CFB_FILLRECT=y

CONFIG_FB_CFB_COPYAREA=y

CONFIG_FB_CFB_IMAGEBLIT=y

CONFIG_FB_SOFT_CURSOR=y

# CONFIG_FB_MACMODES is not set

CONFIG_FB_MODE_HELPERS=y

# CONFIG_FB_TILEBLITTING is not set

# CONFIG_FB_CIRRUS is not set

# CONFIG_FB_PM2 is not set

# CONFIG_FB_CYBER2000 is not set

# CONFIG_FB_ARC is not set

# CONFIG_FB_ASILIANT is not set

# CONFIG_FB_IMSTT is not set

# CONFIG_FB_VGA16 is not set

CONFIG_FB_VESA=y

CONFIG_VIDEO_SELECT=y

# CONFIG_FB_HGA is not set

# CONFIG_FB_NVIDIA is not set

# CONFIG_FB_RIVA is not set

# CONFIG_FB_I810 is not set

# CONFIG_FB_INTEL is not set

# CONFIG_FB_MATROX is not set

# CONFIG_FB_RADEON_OLD is not set

# CONFIG_FB_RADEON is not set

# CONFIG_FB_ATY128 is not set

# CONFIG_FB_ATY is not set

# CONFIG_FB_SAVAGE is not set

# CONFIG_FB_SIS is not set

# CONFIG_FB_NEOMAGIC is not set

# CONFIG_FB_KYRO is not set

# CONFIG_FB_3DFX is not set

# CONFIG_FB_VOODOO1 is not set

# CONFIG_FB_TRIDENT is not set

# CONFIG_FB_GEODE is not set

# CONFIG_FB_S1D13XXX is not set

# CONFIG_FB_VIRTUAL is not set

CONFIG_VGA_CONSOLE=y

# CONFIG_MDA_CONSOLE is not set

CONFIG_DUMMY_CONSOLE=y

CONFIG_FRAMEBUFFER_CONSOLE=y

# CONFIG_FONTS is not set

CONFIG_FONT_8x8=y

CONFIG_FONT_8x16=y
```

But I think I just copied the config from my older kernel, which worked perfectly.

AFAIK I have all the right stuff enabled/disabled for nvidia to work...

If you want the whole config, you can find it right here.

----------

## raf

Hi,

Two suggestions to try:

1) Give 2.6.13-gentoo-r3 a try. I used vanilla up until last night when I was running 2.6.12.5 which was the latest stable e-build. I decided to upgrade due to the slow ~x86 --> x86 cycles for vanilla on gentoo.

2) Try to disable fb. I know I had a similar problem with nvidia not loading when I had fb-nvidia enabled on first boot of 2.6.13-gentoo-r3. I can see you don't have that particual option in your kernel, but pehaps you can give it a try and see if it makes a difference.

Let us know when you solve this!

----------

## theDOC_23

have you tried 

```
modprope nvidia
```

 before starting X.org?

maybe the module auto load is broken somehow...

----------

## Zephyre

Having the same problem. I can modprobe nvidia, and then lsmod is and see that agpart is using it. But when I try to start xorg, I get the same error. I'm forced to rmmod nvidia and then start x.

----------

## Zephyre

nvidia mknode trick fixed my problem.

----------

## niffs

Alright.

I am modprobing nvidia. I get no errors at all from that. That is the most confusing thing about the whole problem.

But like I said, I've had numerous problems in the past with the nvidia drivers, I wouldn't forget to modprobe it.

I think I'll try the gentoo kernel, and I'll try disabling fb. From what I've heard, fb only conflicts with nvidia when you use the nvidia/riva specific drivers, and I'm using vesa fb (which has always worked in the past), but it's worth a shot.

Thanks for the help

----------

## MrIncredible

I boot up with vga=normal

But at some point during bootup, my setups jumps to framebuffer anyways!

Where can I find out why and stop it in the most painless manner?

Also, which is better?

emerge nvidia-glx

or downloading that NVIDIA-xxx binary from Nvidia.com?

----------

## niffs

Well, I've compiled the new kernel, and will reboot when it seems opportune.

To answer MrIncredible's (off topic) questions:

1) I'm not sure why it's doing that. I'm not well versed in framebuffer. You might want to try vga=off, video=vga:off or video=vesa:off. Are you using vesafb-tng or plain vesafb (tng is default in gentoo kernels)? Because they work differently. Or you could just compile your kernel without framebuffer.

2)And emerge nvidia-glx is the "gentoo" way of doing things, so I'd recommend it.

----------

## $moke

Look HERE! 

Hope works for you!!!

----------

## niffs

Well, I was still having the same problem after booting into the new kernel. So I was thinking... and MrIncredible's questions gave me an idea. I installed the drivers from the .run file, and now, for no apparent reason, it works fine.

That's really weird.

Thanks for all the help!

----------

## deepwave

Here is a small mini-howto I wrote up:

Kernel 2.6.13+xorg 6.8.x+nVidia+Translucency mini-Howto

----------

## xadin

theres a problem with nvidia, udev, and kernek 2.6..13

try this

https://forums.gentoo.org/viewtopic-t-389133-highlight-nvidia+module+2+6+13.html

follow my post for creating the nvidia nodes

x

----------

## niffs

...

Really?

Alright... I added the lines to /etc/conf.d/local.start

As it turns out, even though I thought I fixed the problem, it doesn't work once I restart... So this is probably the answer.

Shouldn't it be creating the devices automatically, though?

----------

## sirtalon42

 *niffs wrote:*   

> Well, I was still having the same problem after booting into the new kernel. So I was thinking... and MrIncredible's questions gave me an idea. I installed the drivers from the .run file, and now, for no apparent reason, it works fine.
> 
> That's really weird.
> 
> Thanks for all the help!

 

I think your problem was you didn't remerge 'nvidia-kernel' after you compiled your new kernel (I think you also need to reboot into it... not sure).  Everytime you install a new kernel you need to reinstall the nvidia drivers (so the kernel driver matches the new kernel).

----------

## niffs

As i've said before, I remerged it multiple times.

I've remerged it multiple times after upgrading to this new kernel, too.

And if you read my last post, it turns out that it's not working again.

I think what's going on here is that when I used the .run file, it automatically ran the NVmakedevices.sh script, and the reason it doesn't work when I restart is because the devices are getting deleted by udev.

I'm waiting for a good time to reboot to test out the /etc/conf.d/local.start thing.

----------

## Sachankara

Same problem here.  :Sad: 

nVidia GeForce MX4000 128MB

Hardened-sources 2.6.11-r15

Xorg 6.8.2-r4

Have tried both nvidia-kernel/glx 6629 and 7676 and neither work. Tried the official 7676 too but they hardlocked the machine.

The strange thing though is the fact that I have an almost identical card (64MB instead of 128MB) and it works just fine with 6629... :/

Edit: Actually, the problem with 6629 is a blank screen and some flickering pixels in the left top corner...

----------

## xadin

after fixing the issue from above, I noticed other problems. In gnome a few things were acting strange, if I opened gnome term it would spit errors at me about not being able to connect to a term (cant remember the error). there were a few other problems. so aI started searching and trying to learn more about udev and problems ppl are having with it, and its success stories. I decided to check my udev version (This is on a system I decided to reinstall gentoo on last week after having the same install for 2 years) 

My udev version was:

```
sys-fs/udev-070
```

but there was an update for 

```
sys-fs/udev-070-r1
```

I upgraded udev and then everything started working fine when I booted up.

so im wondering if this would have fixed the missing node problem for my nvidia card, so maybe try updating your udev to see if that creates the nodes that the local.start script makes.

----------

## PaulBredbury

 *xadin wrote:*   

> My udev version was:
> 
> ```
> sys-fs/udev-070
> ```
> ...

 

That version was available for about a day, but it contained an invalid patch. Install udev-070-r1 instead.

----------

## xadin

so then maybe that version spawned this whole problem, I did notice alot of ppl haveing the same problem about the same time. im using 70-r1 now and everything on my system works the way I want it to

x

----------

## niffs

Ah, so it was a udev problem...

Upgrading to new version now...

----------

## xadin

maybe...

post your results niffs if you dont mind.

----------

## Sachankara

 *niffs wrote:*   

> Ah, so it was a udev problem...
> 
> Upgrading to new version now...

 No, it's not a udev problem so upgrading won't help. You'll notice it yourself...

Edit: Perhaps it works for you, since it helped some others. But the problems remain on this "side"... :/

----------

## niffs

I rebooted, works just fine. Except, I think the line in /etc/conf.d/local.start is supposed to be

```
if [ ! -e /dev/nvidia0 ]; then
```

instead of

```
if [ i -e /dev/nvidia0 ]; then
```

Which is most likely just a typo.

Even though some of you have said that the new udev fixes the problem, I'm going to keep these lines, as a failsafe.

Thanks for all the help!

And in summary...

The problem: udev was not creating the devices that X needs to use the nvidia drivers, causing startx to fail

Solution: creating a small if statement to run during boot up that creates the devices if they are missing

/etc/conf.d/local.start (just to help centralize things a bit):

```
if [ ! -e /dev/nvidia0 ]; then

           /sbin/NVmakedevices.sh

fi
```

----------

