Deal with NVIDIA drivers on Fedora

Sometimes NVIDIA users faced with driver problem trying to successfully setup Linux on workstations. Linux kernel includes open source driver, but sometimes it isn’t fully eligible for videocards. The old ones in particular. Some days ago I felt the same thing trying to step up to Fedora 24 & 4.6 kernel. I guess it could happen with any rpm-based distro like CentOS, ROSA etc..

Now I’d like to share my research about NVIDIA drivers. I’ll describe ways we have to  deal with videocard and what is the feature of each way.

Nouveau


Nouveau is a fully open-source driver for NVIDIA graphics cards. It supports hardware 2D/3D acceleration as well. It ships as a kernel module, so you can manage it with modprobe command. Mostly for NVIDIA graphics cards that’s fine, but in some cases you can see the nasty graphics in your monitor.

You don’t actually need to build nouveau if you have Fedora. If you accidentally deleted this driver, try to find it again:

dnf install xorg-x11-drv-nouveau

Kmod-nvidia


Kmod-nvidia is a proprietary driver for NVIDIA graphics cards in Fedora. Each kernel version has its own kmod. Basically shipped in rpm package which you can find in RPM Fusion non-free repo.

Akmod-nvidia is a software responsible to build kmod-nvidia for each kernel version. You can set up akmod-nvidia and it will be the same as kmod installation.

dnf install akmod-nvidia "kernel-devel-uname-r == $(uname -r)"
dnf update -y

But! First take a look at NVIDIA graphics cards list supported by akmod. You might install specific akmod-nvidia version which is older than the last one.

Also kmod engine automatically configures Xorg. So, you just need to reboot your system and you’ll have your NVIDIA under proprietary driver. It’s necessary to turn off nouveau if it’s still exists in your system. This is ope of the options to do this in GRUB configuration.

linuxefi /vmlinuz-4.6.4-301.fc24.x86_64 root=/dev/mapper/fedora-root ro rd.lvm.lv=fedora/root rd.lvm.lv=fedora/swap rhgb quiet rd.driver.blacklist=nouveau nouveau.modeset=0

Vendor driver


Also NVIDIA has its own drivers. You can find the driver appropriate for your card at this search.

Installation is a little bit different than usual software setup. You have to switch to multi-user system mode which doesn’t load X server. After that run the installer file. Eligible instruction is here. Also you can find here how to disable nouveau. But:

  • Don’t remove nouveau package! Just disable it, but don’t remove! Please, set yourself a backup way in case if vendor driver won’t work.
  • Don’t pick the source of their website. Always download the run file directly from NVIDIA official website.

If no option is working correctly…


It could be, it definitely could be. So, if you tried all options and your image still leaves much to be desired, there is also 2 crazy ways to fix them:

  • Write your own NVIDIA driver. Feel free to do that having deep knowledge of C programming and kernel workflows. But with these parts of stack you’re not likely use NVIDIA and user-friendly Fedora. Probably you don’t have this problem at all.
  • Throw to the hell your NVIDIA graphics card and try something else. I’ll go that way with NVIDIA Geforce GTX 560 Ti, cause I’m too dumb and bored to dig up into hardware internals.

Have fun with driver headache. And, please, let me know if you have the similar graphics card with mine and solved this issue.

Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s