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.