Friday 27 January 2012

Installing nVidia Graphics Card (Fedora 16)

Check is your nVidia card is supported:
lspci |grep -i VGA
Assuming it is, then make sure you have the latest kernel and latest SELinux policy packages...
su -
yum update kernel* selinux-policy*
reboot
Add the RPMFusion repositories (free and non-free)...
rpm -Uvh http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-stable.noarch.rpm
rpm -Uvh http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-stable.noarch.rpm
Install nVidia proprietary drivers for GeForce 6/7/8/9/200/300/400/500 series cards. Generally, I use the first one (alkmod)...
yum install akmod-nvidia xorg-x11-drv-nvidia-libs
But you can also use kmod:
yum install kmod-nvidia xorg-x11-drv-nvidia-libs
Or Kernel-PAE:
yum install kernel-PAE-devel
Or even kmod-nvidia-PAE and kernel-PAE-devel:
yum install kernel-PAE-devel kmod-nvidia-PAE
Remove/disable nouveau drivers from kernel initramfs:
## Backup old initramfs nouveau image ##
mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nouveau.img

## Create new initramfs image ##
dracut /boot/initramfs-$(uname -r).img $(uname -r)
And reboot.

Note: Sometimes rdblacklist=nouveau nouveau.modeset=0 is missing from GRUB2. If so, open up etc/default,grub and replace...
GRUB_CMDLINE_LINUX="quiet rhgb"
With...
GRUB_CMDLINE_LINUX="quiet rhgb rdblacklist=nouveau nouveau.modeset=0"
Then make grub2 config with grub2-mkconfig command:
grub2-mkconfig

Reboot and create an xorg.conf file in /etc/X11 with the following information:
Section "Module"
Load "glx"
EndSection

Section "Monitor"
Identifier "Configured Monitor"
Vendorname "Generic LCD Display"
Modelname "LCD Panel 1280x1024"
Horizsync 24.0 - 80.0
Vertrefresh 50.0 - 75.0
modeline "640x480@60" 25.2 640 656 752 800 480 490 492 525 -vsync -hsync
modeline "800x600@56" 36.0 800 824 896 1024 600 601 603 625 +hsync +vsync
modeline "800x600@60" 40.0 800 840 968 1056 600 601 605 628 +hsync +vsync
modeline "1024x768@60" 65.0 1024 1048 1184 1344 768 771 777 806 -vsync -hsync
modeline "1280x960@60" 102.1 1280 1360 1496 1712 960 961 964 994 -hsync +vsync
modeline "1280x1024@60" 108.0 1280 1328 1440 1688 1024 1025 1028 1066 +hsync +vsync
Gamma 1.0
EndSection

Section "Screen"
Identifier "Default Screen"
Monitor "Configured Monitor"
Device "Configured Video Device"
Defaultdepth 24
SubSection "Display"
Depth 24
Virtual 1280 1024
Modes "1280x1024@60" "1280x960@60" "1024x768@60" "800x600@60" "800x600@56" "640x480@60"
EndSubSection
EndSection

Section "Device"
Identifier "Video Card"
Driver "nvidia"
EndSection

Backup xorg.conf (Fedora 16)

Section "Module"
    Load        "glx"
EndSection

Section "Monitor"
 Identifier "Configured Monitor"
 Vendorname "Generic LCD Display"
 Modelname "LCD Panel 1280x1024"
 Horizsync 24.0 - 80.0
 Vertrefresh 50.0 - 75.0
 modeline "640x480@60" 25.2 640 656 752 800 480 490 492 525 -vsync -hsync
 modeline "800x600@56" 36.0 800 824 896 1024 600 601 603 625 +hsync +vsync
 modeline "800x600@60" 40.0 800 840 968 1056 600 601 605 628 +hsync +vsync
 modeline "1024x768@60" 65.0 1024 1048 1184 1344 768 771 777 806 -vsync -hsync
 modeline "1280x960@60" 102.1 1280 1360 1496 1712 960 961 964 994 -hsync +vsync
 modeline "1280x1024@60" 108.0 1280 1328 1440 1688 1024 1025 1028 1066 +hsync +vsync
 Gamma 1.0
 EndSection

Section "Screen"
 Identifier "Default Screen"
 Monitor "Configured Monitor"
 Device "Configured Video Device"
 Defaultdepth 24
 SubSection "Display"
 Depth 24
 Virtual 1280 1024
 Modes "1280x1024@60" "1280x960@60" "1024x768@60" "800x600@60" "800x600@56" "640x480@60"
 EndSubSection
 EndSection

Section "Device"
    Identifier  "Video Card"
    Driver              "nvidia"
EndSection