- Install NVIDIA Drivers [535.54.03 / 530.41.03 / 525.116.04 / 515.105.01 / 470.199.02 / 390.157 / 340.108] on CentOS Stream 9/8, RHEL 9/8, Rocky Linux 8.5
- 1. Before NVIDIA drivers installation⌗
- 1.1 Check is your NVIDIA card supported⌗
- 1.2 NVIDIA Optimus Technology⌗
- 1.3 Disable UEFI Secure Boot or Check Howto Sign NVIDIA Kernel Module⌗
- 2. Install NVIDIA proprietary drivers on CentOS Stream, Red Hat (RHEL), Rocky Linux and disable the nouveau driver⌗
- 2.1 Download NVIDIA Installer Package⌗
- Tested versions with 5.14+ / 4.18+ kernels:⌗
- 2.2 Make NVIDIA installer executable⌗
- 2.3 Change root user⌗
- 2.4 Make sure that you system is up-to-date and you are running latest kernel⌗
- 2.5 Install needed dependencies⌗
- 2.5.1 Enable EPEL repository⌗
- 2.6 Disable nouveau⌗
- 2.6.1 Create or edit /etc/modprobe.d/blacklist.conf⌗
- 2.6.2 Edit /etc/default/grub⌗
- 2.6.3 Update grub2 conf⌗
- 2.6.4 Generate initramfs⌗
- 2.7 Reboot to runlevel 3⌗
- 2.8 Install NVIDIA proprietary drivers for GeForce 6/7 & GeForce 8/9/200/300 & GeForce 400/500/600/700/800/900/10/20 series cards⌗
- 2.8.1 Log in as root user⌗
- 2.8.2 Run NVIDIA Binary⌗
- 2.8.3 NVIDIA Installer Register the Kernel Source Modules with DKMS⌗
- 2.8.4 NVIDIA Installer 32-bit Compatibility Libraries⌗
- 2.8.5 NVIDIA Installer Installing Drivers and Building kernel module⌗
- 2.8.6 NVIDIA Installer Automatic Xorg Config and Backup⌗
- 2.8.7 NVIDIA Drivers Installation Complete⌗
- 2.9 All Is Done and Then Reboot Back to Runlevel 5⌗
- 3. Some Screenshots Using Different Cards and Drivers⌗
- 3.1 NVIDIA 495.46 drivers on Red Hat (RHEL) 9 with Kernel 5.14⌗
- 3.2 NVIDIA 495.46 drivers on CentOS Stream 9 with Kernel 5.14⌗
- 3.3 NVIDIA 495.46 drivers on Rocky Linux 8.5 with Kernel 4.18⌗
- 3.4 NVIDIA 470.94 drivers on Red Hat (RHEL) 9 with Kernel 5.14⌗
- CentOS Stream 9/8, Red Hat (RHEL) 9.0/8.5, Rocky Linux 8.5 NVIDIA Restore Plymouth (BIOS/UEFI Users)
- 4. Restore/Change/Update Plymouth After NVIDIA Drivers Installation (BIOS/UEFI Users)⌗
- 4.1 Create /etc/modprobe.d/nvidia.conf file⌗
- 4.2 Create /etc/dracut.conf.d/nvidia.conf file⌗
- 4.3 Regenerate initramfs/initrd image(s)⌗
- 4.4 Check available Plymouth themes⌗
- 4.5 Install Plymouth and some Plymouth theme, example spinfinity⌗
- 4.6 Setup spinfinity as default theme⌗
- 4.7 Regenerate initramfs/initrd image(s)⌗
Install NVIDIA Drivers [535.54.03 / 530.41.03 / 525.116.04 / 515.105.01 / 470.199.02 / 390.157 / 340.108] on CentOS Stream 9/8, RHEL 9/8, Rocky Linux 8.5
This is guide, howto install NVIDIA proprietary drivers (manually using .run files) on CentOS Stream 9/8, Red Hat (RHEL) 9.0/8.5, Rocky Linux 8.5 and disable Nouveau driver. This guide works with GeForce 8/9/200/300/400/500/600/700/800/900/10/20/30 series cards.
- GeForce RTX 40 series cards works with 535.xx, 530.xx, 525.xx, 520.xx NVIDIA drivers, (RTX 4090, RTX 4080)
- GeForce RTX 30 series cards works with 535.xx, 530.xx, 525.xx, 520.xx, 515.xx, 510.xx, 470.xx NVIDIA drivers, (RTX 3090, RTX 3080 and RTX 3070, RTX 3060, RTX 3060 Ti)
- GeForce RTX 20 series cards works with 535.xx, 530.xx, 525.xx, 520.xx, 515.xx, 510.xx, 470.xx NVIDIA drivers (RTX 2080 Ti, RTX 2080, RTX 2070 Ti, RTX 2070, RTX 2060)
- GeForce GT/GTX 600/700/800/900/10 series cards works with 535.xx, 530.xx, 525.xx, 520.xx, 515.xx, 510.xx, 495.xx, 470.xx, 460.xx, and 390.xx NVIDIA drivers (GTX 1080 Ti, GTX 1080, GTX 1070, GTX 1060, GTX 1660 …)
- GeForce GT/GTX 400/500 series cards works with 390.xx NVIDIA drivers
- GeForce GT 8/9/200/300 series cards works with 340.xx NVIDIA drivers
Check video version of guide, howto install NVIDIA Drivers on CentOS Stream 9/8:
Check video version of guide, howto install NVIDIA Drivers on Red Hat (RHEL) 9.0/8.5:
Check video version of guide, howto install NVIDIA Drivers on Rocky Linux 8.5:
Using manual installation you can control NVIDIA drivers versions as you wish. You can easily install / change / test / run:
- NVIDIA New Feature Branch (NFB) drivers
- NVIDIA Long Lived Branch (LLB) drivers
- NVIDIA Short Lived Branch (SLB) drivers
- NVIDIA LEGACY drivers
- NVIDIA BETA drivers
- Install NVIDIA drivers with custom patches
- Just stay in some particular NVIDIA version
This is old school (and bit ugly) method and install NVIDIA drivers “manually”. **I have tested this guide with 340.xx (patched), 390.xx, 418.xx (patched), 435.xx (patched), 470.xx, 495.xx, 510.xx, 515.xx, 525.xx, 530.xx, 535.xx drivers/cards.**With DKMS, you can just update your kernel and your NVIDIA drivers are compiled automatically. If you want to upgrade NVIDIA drivers, then you have to download new installer package from NVIDIA site.
**Let me know, if you have some problems?**Or if you succeed, you could post output of following commands:
nvidia-installer -v |grep version uname -a lspci |grep -E "VGA|3D"
First, backup important files before you start installation. And this is of course at your own risk, because graphic cards, components and monitors are different and some combinations might cause totally unexpected results.
1. Before NVIDIA drivers installation⌗
1.1 Check is your NVIDIA card supported⌗
lspci |grep -E "VGA|3D" ## Example outputs ## 01:00.0 VGA compatible controller: NVIDIA Corporation TU106 [GeForce RTX 2060 Rev. A] (rev a1)
List of Supported NVIDIA GPU Products, check best driver for your card. If you see multiple VGA controllers, then check next step carefully and sometimes you might see example Intel VGA controller which have nothing to do with Optimus, normally you can go to BIOS and simply disable it.
1.2 NVIDIA Optimus Technology⌗
If your lspci |grep -E “VGA|3D” 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)
00:02.0 VGA compatible controller: Intel Corporation 4th Gen Core Processor Integrated Graphics Controller (rev 06) 01:00.0 3D controller: NVIDIA Corporation GK107M [GeForce GT 750M] (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 might not work for you and it’s not tested. You should read this NVIDIA Optimus page first and maybe check NVIDIA PRIME Render Offload, Bumblebee Project or NVIDIA XRun Project.
1.3 Disable UEFI Secure Boot or Check Howto Sign NVIDIA Kernel Module⌗
If you have UEFI Secure Boot enabled, then you have to disable Secure Boot or sign your NVIDIA kernel module.
2. Install NVIDIA proprietary drivers on CentOS Stream, Red Hat (RHEL), Rocky Linux and disable the nouveau driver⌗
2.1 Download NVIDIA Installer Package⌗
Go to http://www.nvidia.com/Download/Find.aspx?lang=en-us and find latest version of installer package. When you use browser this is normally downloaded /home//Downloads/NVIDIA-Linux-xxxx.run location.
Tested versions with 5.14+ / 4.18+ kernels:⌗
CentOS Stream 9/8 | Red Hat (RHEL) 9.0/8.5 | Rocky Linux 8.5 |
---|---|---|
535.54.03 (June 14, 2023) | 535.54.03 (June 14, 2023) | 535.54.03 (June 14, 2023) |
530.41.03 NFB (March 23, 2023) | 530.41.03 NFB (March 23, 2023) | 530.41.03 NFB (March 23, 2023) |
525.125.06 (June 26, 2023) | 525.125.06 (June 26, 2023) | 525.125.06 (June 26, 2023) |
515.105.01 (March 30, 2023) | 515.105.01 (March 30, 2023) | 515.105.01 (March 30, 2023) |
510.85.02 (August 2, 2022) | 510.85.02 (August 2, 2022) | 510.85.02 (August 2, 2022) |
470.199.02 (June 26, 2023) | 470.199.02 (June 26, 2023) | 470.199.02 (June 26, 2023) |
435.21 (August 29, 2019) | 435.21 (August 29, 2019) | 435.21 (August 29, 2019) |
418.113 (November 5, 2019) | 418.113 (November 5, 2019) | 418.113 (November 5, 2019) |
390.157 (November 22, 2022) | 390.157 (November 22, 2022) | 390.157 (November 22, 2022) |
340.108 (December 23, 2019) | 340.108 (December 23, 2019) | 340.108 (December 23, 2019) |
Note 340.108 users: 340.108 on CentOS Stream 9 and Red Hat (RHEL) 9 Kernel 5.14 needs a patched version (Download inttf NVIDIA patcher and patch NVIDIA-Linux-x86_64-340.108 for Kernel 5.14+).
Note 418.113 and 435.21 users: 418.113 and 435.21 on CentOS Stream 9 and Red Hat (RHEL) 9 with Kernel 5.14 needs a patched version These are not official NVIDIA LEGACY drivers, but there is example GeForce GTX 1650 Mobile card which is not supported by older or newer drivers. (Download inttf NVIDIA patcher and patch NVIDIA-Linux-x86_64-418.113 and NVIDIA-Linux-x86_64-435.21 for Kernel 5.14)
2.2 Make NVIDIA installer executable⌗
chmod +x /path/to/NVIDIA-Linux-*.run
2.3 Change root user⌗
2.4 Make sure that you system is up-to-date and you are running latest kernel⌗
## CentOS Stream 9/8, Red Hat (RHEL) 9.0/8.5, Rocky Linux 8.5 ## dnf update
After update reboot your system and boot using latest kernel:
2.5 Install needed dependencies⌗
2.5.1 Enable EPEL repository⌗
## CentOS Stream 9 / Red Hat (RHEL) 9 ## dnf install \ https://dl.fedoraproject.org/pub/epel/9/Everything/x86_64/Packages/e/epel-next-release-9-2.el9.next.noarch.rpm \ https://dl.fedoraproject.org/pub/epel/9/Everything/x86_64/Packages/e/epel-release-9-2.el9.next.noarch.rpm ## CentOS Stream 8 ## dnf config-manager --set-enabled powertools dnf install epel-release epel-next-release ## Red Hat (RHEL) 8.5 ## subscription-manager repos --enable codeready-builder-for-rhel-8-$(arch)-rpms dnf install https://dl.fedoraproject.org/pub/epel/epel-release-latest-8.noarch.rpm ## Rocky Linux 8.5 ## dnf config-manager --set-enabled powertools dnf install epel-release
Install needed packages
## CentOS Stream 9/8, Red Hat (RHEL) 9.0/8.5, Rocky Linux 8.5 ## dnf install kernel-devel kernel-headers gcc make dkms acpid libglvnd-glx libglvnd-opengl libglvnd-devel pkgconfig
2.6 Disable nouveau⌗
2.6.1 Create or edit /etc/modprobe.d/blacklist.conf⌗
echo "blacklist nouveau" >> /etc/modprobe.d/blacklist.conf
2.6.2 Edit /etc/default/grub⌗
Append ‘rd.driver.blacklist=nouveau’ to end of ‘GRUB_CMDLINE_LINUX=”…”‘.
## Example row with LVM on Rocky Linux ## GRUB_CMDLINE_LINUX="crashkernel=auto resume=/dev/mapper/rl_rocky--linux-swap rd.lvm.lv=rl_rocky-linux/root rd.lvm.lv=rl_rocky-linux/swap rhgb quiet rd.driver.blacklist=nouveau"
2.6.3 Update grub2 conf⌗
CentOS Stream 9/8, Red Hat (RHEL) 9.0/8.5, Rocky Linux 8.5
## BIOS ## grub2-mkconfig -o /boot/grub2/grub.cfg ## UEFI CentOS Stream 9/8 ## grub2-mkconfig -o /boot/efi/EFI/centos/grub.cfg ## UEFI Red Hat (RHEL) 9.0/8.5 ## grub2-mkconfig -o /boot/efi/EFI/redhat/grub.cfg ## UEFI Rocky Linux 8.5 ## grub2-mkconfig -o /boot/efi/EFI/rocky/grub.cfg
2.6.4 Generate 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.7 Reboot to runlevel 3⌗
Note: You don’t have Desktop/GUI on runlevel 3. Make sure that you have some access to end of guide. (Open it on mobile browser, Print it, use lynx/links/w3m, save it to text file).
systemctl set-default multi-user.target reboot
OR alternatively you can change the runlevel on GRUB2 adding one additional parameter. Quick guide howto change runlevel on GRUB2. If you use this method, then don’t set multi-user.target and don’t set graphical.target on step 2.9 (just reboot).
2.8 Install NVIDIA proprietary drivers for GeForce 6/7 & GeForce 8/9/200/300 & GeForce 400/500/600/700/800/900/10/20 series cards⌗
2.8.1 Log in as root user⌗
Or alternatively log in as normal user and change root user (you shouldn’t have nouveau and xorg loaded)
2.8.2 Run NVIDIA Binary⌗
Following command executes driver install routine. Use full file name command if you have multiple binaries on same directory.
./NVIDIA-Linux-*.run ## OR full path / full file name ## Downloads/NVIDIA-Linux-x86_64-535.54.03.run Downloads/NVIDIA-Linux-x86_64-530.41.03.run Downloads/NVIDIA-Linux-x86_64-525.116.04.run Downloads/NVIDIA-Linux-x86_64-515.65.01.run Downloads/NVIDIA-Linux-x86_64-510.85.02.run Downloads/NVIDIA-Linux-x86_64-470.199.02.run ./NVIDIA-Linux-x86_64-435.21-patched-kernel-5.16.run ./NVIDIA-Linux-x86_64-418.118-patched-kernel-5.16.run ./NVIDIA-Linux-x86_64-390.157.run /path/to/NVIDIA-Linux-x86_64-340.108-patched-kernel-5.16.run
2.8.3 NVIDIA Installer Register the Kernel Source Modules with DKMS⌗
2.8.4 NVIDIA Installer 32-bit Compatibility Libraries⌗
2.8.5 NVIDIA Installer Installing Drivers and Building kernel module⌗
Note: If you get libglvnd error, then abort installation and try this. Also “Install and overwrite existing files” works, but fixing this error is more clean way to install NVIDIA Drivers.
2.8.6 NVIDIA Installer Automatic Xorg Config and Backup⌗
2.8.7 NVIDIA Drivers Installation Complete⌗
2.9 All Is Done and Then Reboot Back to Runlevel 5⌗
systemctl set-default graphical.target reboot
3. Some Screenshots Using Different Cards and Drivers⌗
3.1 NVIDIA 495.46 drivers on Red Hat (RHEL) 9 with Kernel 5.14⌗
3.2 NVIDIA 495.46 drivers on CentOS Stream 9 with Kernel 5.14⌗
3.3 NVIDIA 495.46 drivers on Rocky Linux 8.5 with Kernel 4.18⌗
3.4 NVIDIA 470.94 drivers on Red Hat (RHEL) 9 with Kernel 5.14⌗
**Let me know, if you have problems?**Or if you succeed, you could post output of following commands:
nvidia-installer -v |grep version uname -a lspci |grep -E "VGA|3D"
CentOS Stream 9/8, Red Hat (RHEL) 9.0/8.5, Rocky Linux 8.5 NVIDIA Restore Plymouth (BIOS/UEFI Users)
4. Restore/Change/Update Plymouth After NVIDIA Drivers Installation (BIOS/UEFI Users)⌗
Please let me know if it works or if you have some problems.
Check video version of guide:
4.1 Create /etc/modprobe.d/nvidia.conf file⌗
Create /etc/modprobe.d/nvidia.conf with content “options nvidia_drm modeset=1”
echo "options nvidia_drm modeset=1" >> /etc/modprobe.d/nvidia.conf
4.2 Create /etc/dracut.conf.d/nvidia.conf file⌗
Create /etc/dracut.conf.d/nvidia.conf file with following content, note you need white spaces inside add_drivers and install_items:
add_drivers+=" nvidia nvidia_modeset nvidia_uvm nvidia_drm " install_items+=" /etc/modprobe.d/nvidia.conf "
4.3 Regenerate initramfs/initrd image(s)⌗
If you want use default theme solar, then just reboot:
If you want some other plymouth theme then continue reading.
4.4 Check available Plymouth themes⌗
## CentOS Stream, RHEL, Rocky Linux ## dnf search plymouth-theme ========================= Name Matched: plymouth-theme ========================= plymouth-theme-solar.x86_64 : Plymouth "Solar" theme plymouth-theme-charge.x86_64 : Plymouth "Charge" plugin plymouth-theme-script.x86_64 : Plymouth "Script" plugin plymouth-theme-breeze.x86_64 : Breeze theme for Plymouth plymouth-theme-spinner.x86_64 : Plymouth "Spinner" theme plymouth-theme-fade-in.x86_64 : Plymouth "Fade-In" theme plymouth-theme-spinner.x86_64 : Plymouth "Spinner" theme plymouth-theme-hot-dog.noarch : Plymouth Happy Hot Dog Theme plymouth-theme-spinfinity.x86_64 : Plymouth "Spinfinity" theme
4.5 Install Plymouth and some Plymouth theme, example spinfinity⌗
## CentOS Stream, RHEL, Rocky Linux ## dnf install plymouth-theme-spinfinity
4.6 Setup spinfinity as default theme⌗
plymouth-set-default-theme spinfinity