Fozzologs

RSS Feeds

About...

These posts are the creation of Doran L. Barton (AKA Fozziliny Moo). To learn more about Doran, check out his website at fozzilinymoo.org.

Right Side

This space reserved for future use.

Tricks to getting Fedora 12 and RPMFusion kmod-nvidia playing nice

Posted: 1 December 2009 at 23:36:08

There have been a couple things about Fedora 12 that haven't been as nice as I would have liked. I finally solved one of them tonight.

My laptop, a Dell Latitude D830(N), has an NVidia Quadro NVS 140M video chipset in it. Fedora 12 worked out of the box with the open source nouveau driver which is an experimental reverse-engineered driver for NVidia chipsets. It works pretty well and I probably would have kept using it if I could get my laptop to hibernate properly. Instead, I could never get the laptop to come back to life after it went into hibernation.

Meanwhile, the RPMFusion folks (a popular third-party repository) usually have the kmod-nvidia package available to install which gives you everything you need to run the proprietary NVidia drivers (Fedora doesn't include this because they adhere to an all-open, non-patent-encumbered package policy). However, the kmod-nvidia package wasn't available for Fedora 12.

When it did show up on rpmfusion, there were some caveats. Fedora had done some work to make the nouveau driver work as seamlessly as possible and, as a result, made it a little more difficult to install the proprietary driver. The RPMFusion folks have some errata info on how to get the proprietary driver working. I'll summarize the process here since it's a little tricky to execute and understand.

Before you do anything the RPMFusion information says to do, you should obviously install the kmod-nvidia package. Then, run:

nvidia-system-config enable

(I usually do this with sudo.)

Then, reboot into runlevel 3 and proceed with the commands RPMFusion's page recommends.

The first commands the RPMFusion info indicates should be run are these:

mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img
dracut /boot/initramfs-$(uname -r).img $(uname -r)

The initramfs-blahblah.img file is a replacement for the old initrd-blahblah.img file. So, we're making a backup of the original initiam ramdisk image file for the running kernel and adding nouveau to its name so we know this is the initial ramdisk image that contains the nouveau driver (Fedora added the driver to the initial ramdisk so the graphical bootloader can take advantage of the NVidia chipset's capabilities).

Then, running the dracut command creates a new initial ramdisk image for the running kernel. The dracut command replaces the mkinitrd that has been used traditionally. For more information about dracut check out the Fedora Project's wiki page on dracut.

Finally, run the setsebool command RPMFusion's page mentions:

setsebool -P allow_execstack on

If you're like me, however, you probably have SELinux set to permissive because RPMFusion's nonfree codec packages have already broken some SELinux stuff. Hopefully that will be fixed soon.

Then, reboot again into runlevel 5 and enjoy.

UPDATE: Read below!

Soon after getting kmod-nvidia installed, I noticed some weird issues in KDE. Whenever I would press ALT-F2 to run a command, the UI would freeze for about 10 seconds. I did some searching and found this was a reported bug. I'm guessing a forthcoming xorg-x11-server-* package update will include this, but in the meantime, I installed new xorg-x11-server-Xorg and xorg-x11-server-common packages from this 1.7.1-12 Koji build. Pressing ALT+F2 does not freeze the system anymore.