I run Fedora on my workstation at work. The machine has an nVidia Quadro 570 in it.
I have a cron job setup to use yum to check for updates and install them automatically every night. This means i can keep my system up to date, and not have to really think about it. This works mostly well.

Well, I was running FC 12, which was on a 2.6.31 kernel. Once night the updates ran, and i was moved to a 2.6.32 kernel. After a kernel upgrade, I need to rebuild my nVidia graphics driver against the new kernel. So i went through the routine of doing just that.

The problem is that, this time, X wouldnt load after the rebuild. It would throw both of my displays into power save, and then completely hang my console input. I didn’t have much time to put into it when it first happened. I worked on it for an hour or so, couldnt find the problem, and found that booting the old kernel (the 2.6.31.x kernel) i could get X to work as expected. So i told yum to stop bothering to upgrade the kernel, and kept my working kernel, all was well.

Yesterday however, I decided to upgrade to FC13. After the upgrade process was complete, i found myself in the same boat, broken X, and this time, no option to drop back to an older kernel! So for the time being i threw in the stock nouveau driver, and got X up and running, so i could at least get back to work. Today I dug a little deeper, and ran across a thread on Fedora Forum which seemed very similar to my issue. It recomends adding the following to your kernel line in grub.conf:

iommu=soft

So i did just that, i ended up with:

title Fedora (2.6.33.4-95.fc13.x86_64)
	root (hd0,0)
	kernel /vmlinuz-2.6.33.4-95.fc13.x86_64 ro root=/dev/mapper/vg_lagermeister-lv_root rhgb SYSFONT=latarcyrheb-sun16 LANG=en_US.UTF-8 KEYTABLE=us nouveau.modeset=0 vga=0x318 iommu=soft
	initrd /initramfs-2.6.33.4-95.fc13.x86_64.img

I’m venturing a guess here, but I think this means that my CPU supports IOMMU. Possibly that the 2.6.31 and previous kernels did not have IOMMU enabled, and that in 2.6.32 it was enabled by default. Thus, i had to deal with it at boot. Why this had any affect on my video card… I have no idea.

This worked splendidly! I’m up and running on the proprietary nVidia driver (which supports 3D, where nouveau dies not, yet), and all is well. I seem to have a little bug where my displays flicker every so often, but otherwise, all is well.