Nvidia Logo

Looking Fedora 23/22/21 nVidia Drivers Install Guide?

This is guide, howto install nVidia proprietary drivers on Fedora 20 “Heisenbug” and disable Nouveau driver. This guide works with GeForce 6/7/8/9/200/300/400/500/600/700 series cards. Older GeForce series cards works with 304.xx nVidia drivers and newer 8/9/200/300/400/500/600/700 series cards works with 331.xx nVidia drivers.

Fedora 20 nVidia driver installation is not much different from previous Fedora versions. This guide is divided in three sections Install, Restore Plymouth, Uninstall I have tested this guide with a couple computers, so let me know, if you have some problems and if you succeed, you could post output of following commands:

uname -a

lspci |grep -i VGA

1. Before nVidia drivers installation

1.1 Check is your nVidia card supported

lspci |grep -i VGA

## Example output ##
01:00.0 VGA compatible controller: nVidia Corporation GT218 [GeForce G210] (rev a2)

List of Supported NVIDIA GPU Products, if your card found before 304.xx section, then use 331.xx drivers and if under 304.xx section, then use 304.xx drivers.

1.2 NVIDIA Optimus Technology

If your lspci |grep -i VGA output looks like following:

00:02.0 VGA compatible controller: Intel Corporation 2n Generation Core Processor Family Integrated Graphics Controller (rev 09)
01:00.0 VGA compatible controller: nVidia Corporation GF106 [GeForce GT 555M SDDR3] (rev a1)

Or you know that your computer have NVIDIA Optimus Technology, and it is impossible to turn Intel Graphics / NVIDIA Optimus off in the BIOS then this guide is not working on your system. Check If !1 0 forums user Viger guide instead Fedora 19 for NVIDIA Optimus users (with Nvidia driver or Bumblebee). Maybe we get soon also Fedora 20 guide. :)

2. Install nVidia proprietary drivers on Fedora 20 “Heisenbug” and disable the nouveau driver

2.1 Change root user

su -
## OR ##
sudo -i

2.2 Make sure that you are running latest kernel and have latest SELinux policy packages

If not then update kernel and reboot

yum update kernel* selinux-policy*
reboot

2.3 Add RPMFusion Repositories (Free and Non-Free)

32-bit and 64-bit

yum localinstall --nogpgcheck http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm

## OR ##

yum localinstall --nogpgcheck http://download1.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm
yum localinstall --nogpgcheck http://download1.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm

2.4 Install nVidia proprietary drivers for GeForce 6/7/8/9/200/300/400/500/600/700 series cards

Select akmod, kmod from following.

akmod-nvidia for GeForce 8/9/200/300/400/500/600/700 series cards

yum install akmod-nvidia xorg-x11-drv-nvidia-libs kernel-devel acpid

akmod-nvidia-304xx for GeForce 6/7 series cards

yum install akmod-nvidia-304xx xorg-x11-drv-nvidia-304xx-libs kernel-devel acpid

Extra package for kernel-PAE users

yum install kernel-PAE-devel

or

kmod-nvidia for GeForce 8/9/200/300/400/500/600/700 series cards

yum install kmod-nvidia xorg-x11-drv-nvidia-libs acpid

kmod-nvidia-304xx for GeForce 6/7 series cards

yum install kmod-nvidia-304xx xorg-x11-drv-nvidia-304xx-libs acpid

akmod is good option and easy way avoid problems on kernel updates and is best and only option if you use:

  • self-compiled kernel
  • older Fedora kernel
  • quickly changing kernels from updates-testing/rawhide

Full spec of kmod and akmod differences, check this.

2.5 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)

2.6 All is done and then just reboot

reboot

2.7 VDPAU/VAAPI support

To enable video acceleration support for your player (Note: you need Geforce 8 or later).

yum install vdpauinfo libva-vdpau-driver libva-utils

3. Restore Plymouth after nVidia drivers installation

Note: these commands may vary if you use EFI/UEFI. So change commands accordingly.

3.1 First check which GRUB_GFXMODEs are supported

Use Grub2 shell, (press ‘c’ on Grub2), then run following commands and “pick” suitable GRUB_GFXMODE.

set pager=1
insmod vbe
vbeinfo

3.2 Modify /etc/default/grub

Add / Modify following lines on /etc/default/grub, use your own GRUB_GFXMODE.

GRUB_GFXPAYLOAD_LINUX="keep"
GRUB_VIDEO_BACKEND="vbe"
GRUB_TERMINAL_OUTPUT="gfxterm"
GRUB_FONT_PATH="/boot/grub2/fonts/unicode.pf2"
GRUB_GFXMODE="1920x1080x32"

Remember check also that you have /boot/grub2/fonts/unicode.pf2 file, if not then you can generate some Grub2 font using grub2-mkfont command, like:

grub2-mkfont --output=/boot/grub2/fonts/LiberationMono-Regular.pf2 --size=24 /usr/share/fonts/liberation/LiberationMono-Regular.ttf

3.3 Backup and Regenerate your grub.cfg

cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.bak
 
grub2-mkconfig -o /boot/grub2/grub.cfg

3.4 Check available Plymouth themes

yum search plymouth-theme

3.5 Install Plymouth and some Plymouth theme, example spinfinity

yum install plymouth-theme-spinfinity

3.6 Setup spinfinity as default theme

plymouth-set-default-theme spinfinity

3.7 Update initrd

/usr/libexec/plymouth/plymouth-update-initrd

3.8 Reboot and check, is it working as it should be

reboot

4. Uninstall nVidia proprietary drivers on Fedora 20 “Heisenbug” and enable the nouveau driver

I assume that you installed nVidia driver with this guide, then do following.

4.1 Change root user

su -
## OR ##
sudo -i

4.2 Uninstall nVidia Driver Packages

yum remove xorg-x11-drv-nvidia\* nvidia-settings nvidia-xconfig

4.3 Remove / disable nVidia drivers from kernel initramfs

## Backup old initramfs nvidia image ## 
## (this is not mandatory, but better do it if you need it later) ##
mv /boot/initramfs-$(uname -r).img /boot/initramfs-$(uname -r)-nvidia.img

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

4.4 Then Reboot System

reboot