# No nvidia0 and nvidiactl with mm-sources-2.6.12.x

## Lunchy

I've been having problems with the NVidia kernel module with the 2.6.12.x series of the mm-sources.  Once I boot to it, re-emerge the kernel module and modprobe it, (which works fine, and yes my /usr/src/linux symlink is correct.  :Smile: ), I don't get a nvidia0 and/or nvidiactrl in /dev.

If I revert back to 2.6.11.x and do the nvidia-kernel swap and reboot, it comes back and works fine.  I tried compiling my kernel without agpgart (not sure what that does, but I thought it's helped in the past with NVidia issues), but that didn't work either.

Anyone else have this problem or have any suggestions?

edit...

I believe I've also tried both ~x86 and stable versions of the nvidia-driver.

----------

## DaSmurf

Removal of class simple API is preventing the nvidia kernel from creating devices in udev controlled machines.

This is present in >=2.6.12-rc1-mm3, and will eventually make it into vanilla sources.

http://www.nvnews.net/vbulletin/archive/index.php/t-48782.html

----------

## Lunchy

 *DaSmurf wrote:*   

> Removal of class simple API is preventing the nvidia kernel from creating devices in udev controlled machines.
> 
> This is present in >=2.6.12-rc1-mm3, and will eventually make it into vanilla sources.
> 
> http://www.nvnews.net/vbulletin/archive/index.php/t-48782.html

 

Ahhh, it's all so clear now.  Thanks much!

----------

## thegazer

Is this mm specific problem?

so my only option is to use other kernel?

----------

## rommel

well you could use the kernel patch and nvidia driver patch linked and use mm-2.6.12-rc4-mm2... its working here  for me after applying them

----------

## asimon

I just hit this problem yesterday after switching to 2.6.12-mm1 for some reiser4 testing (which btw rocks). I didn't know about those patches and just added a script into /etc/init.d/ and added it to the default runlevel to create those devices before X starts:

```
#!/sbin/runscript

# Create nvidia devices

# nvidia currently broken with kernel 2.6.12-mm1/udev

#$ ll /dev/nv*

#crw-rw----  1 root video 195,   0 24. Jun 2005  /dev/nvidia0

#crw-rw----  1 root video 195, 255 24. Jun 2005  /dev/nvidiactl

depend() {

        before xdm

}

start () {

        if [ -e /dev/nvidia0 -a -e /dev/nvidiactl ]; then

                eerror "NVIDIA devices already exist!"

                return 1

        else

                ebegin "Creating NVIDIA devices (workaround due to broken drivers with kernel >= 2.6.12-mm1"

                mknod /dev/nvidia0 c 195 0

                mknod /dev/nvidiactl c 195 255

                chown root:video /dev/nvidia0 /dev/nvidiactl

                chmod 0660 /dev/nvidia0 /dev/nvidiactl

                eend 0

        fi

}
```

Not very elegant, but it does it's job.

----------

## Thames

So now this problem has landed in vanilla-land, with 2.6.13 (and actually some of the 2.6.12-rc's).

What's the right thing to do, besides creating the devices on every boot?!? Are there any official patches?

----------

## dsd

the whole API has changed and it works just fine on 2.6.13 for me, presumably nvidia-glx creates the device nodes when loaded?

this is with version 1.0.7676

----------

## Thames

I'm stuck with 1.0.7174 since nvidia dosen't support my old card with their new drivers (mine is marked as legacy).

But it dosen't say in the nvidia-changelog that they should have fixed anything regarding the new API...

----------

