- Optimus
- Introduction
- Known limitation
- NVIDIA PRIME Support
- PRIME Render Offload
- Configure Graphics Applications to Render Using the GPU Screen
- Finer-Grained Control of Vulkan
- Finer-Grained Control of GLX + OpenGL
- External Monitors detection
- NVIDIA PrimaryGPU Support
- PRIME Synchronization
- Proprietary/FLOSS switch
- References
- Fedora 34/33/32 NVIDIA Drivers Install Guide
- Table of Contents
- 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 Fedora 33/32/31/30/29 and disable the nouveau driver
- 2.1 Download NVIDIA Installer Package
- Tested versions with 5.13+ / 5.12+ / 5.11+ / 5.10+ / 5.9+ 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.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 Remove xorg-x11-drv-nouveau
- 2.6.5 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
- 2.10 VDPAU/VAAPI support
- 3. Some Screenshots Using Different Cards and Drivers
- 3.1 NVIDIA 465.31 drivers on Fedora 34 Gnome 40 with Kernel 5.12.8
- 3.2 VIDIA 460.80 drivers on Fedora 34 Gnome 40 with Kernel 5.12.8
- 3.3 NVIDIA 450.119.03 drivers on Fedora 34 Gnome 40 with Kernel 5.12.8
- 3.4 NVIDIA 435.21 drivers on Fedora 34 Gnome 40 with Kernel 5.12.8
- 3.5 NVIDIA 418.113 drivers on Fedora 34 Gnome 40 with Kernel 5.12.8
- 3.6 NVIDIA 390.143 drivers on Fedora 34 Gnome 40 with Kernel 5.12.8
- 3.6 NVIDIA 340.108 drivers on Fedora 34 Gnome 40 with Kernel 5.12.8
Optimus
Introduction
With Fedora 25 and later, NVIDIA Optimus devices are automatically detected with GDM/Gnome. They will run with output source and not with offload sync by default.
With Fedora 29 , along NVIDIA driver 435.17+ and xorg-x11-server 1.20.5-9 (add additional patches), it’s now possible to have full Optimus support (with offload sync only with glx). Starting with NVIDIA driver 440.26+ render offload works with EGL.
With Fedora 30 and later, the official fedora xorg-x11-server packages has the needed patches, (so there is no need to use the copr repository). Using NVIDIA 440.31+ will advertise full optimus support (GL/EGL) using a stable driver release. It’s not needed to use the previous copr repository that can be disabled using:
This Howto is a subset of the main documentation, please read the NVIDIA Howto first.
Known limitation
Full Optimus Support can be achieved with xorg-x11-server 1.20.5-9 from official fedora packages (for Fedora 30 and later). This package has patches backported that have lander in xorg-x11-server master branch (that will become xorg 1.21).
NVIDIA PRIME Support
On Fedora 30 and later, with NVIDIA driver 440.31+, there is nothing else to be done beyound normal driver installation. But you can opt-in to enable Dynamic Power Management until this is set as the default in the NVIDIA driver.
PRIME Render Offload
Configure Graphics Applications to Render Using the GPU Screen
To configure a graphics application to be offloaded to the NVIDIA GPU screen, set the environment variable NV_PRIME_RENDER_OFFLOAD to 1. If the graphics application uses Vulkan, that should be all that is needed. If the graphics application uses GLX, then also set the environment variable GLX_VENDOR_LIBRARY_NAME to nvidia, so that GLVND loads the NVIDIA GLX driver. NVIDIA’s EGL implementation does not yet support PRIME render offload.
Finer-Grained Control of Vulkan
The NV_PRIME_RENDER_OFFLOAD environment variable causes the special Vulkan layer VK_LAYER_NV_optimus to be loaded. Vulkan applications use the Vulkan API to enumerate the GPUs in the system and select which GPU to use; most Vulkan applications will use the first GPU reported by Vulkan. The VK_LAYER_NV_optimus layer causes the GPUs to be sorted such that the NVIDIA GPUs are enumerated first. For finer-grained control, the VK_LAYER_NV_optimus layer looks at the VK_LAYER_NV_optimus environment variable. The value NVIDIA_only causes VK_LAYER_NV_optimus to only report NVIDIA GPUs to the Vulkan application. The value non_NVIDIA_only causes VK_LAYER_NV_optimus to only report non-NVIDIA GPUs to the Vulkan application.
Finer-Grained Control of GLX + OpenGL
For GLX + OpenGL, the environment variable NV_PRIME_RENDER_OFFLOAD_PROVIDER provides finer-grained control. While NV_PRIME_RENDER_OFFLOAD=1 tells GLX to use the first NVIDIA GPU screen, NV_PRIME_RENDER_OFFLOAD_PROVIDER can use an RandR provider name to pick a specific NVIDIA GPU screen, using the NVIDIA GPU screen names reported by xrandr —listproviders.
External Monitors detection
At this time, external monitors connected to the NVIDIA GPU requires the PrimaryGPU option to be set. See the next topic about how to setup as appropriate.
NVIDIA PrimaryGPU Support
Using PrimaryGPU allows to use the NVIDIA driver by default instead of the iGPU. This is also required in order to use external display when internally connected from the NVIDIA hardware. Unfortunately, setting this option automatically when an external display is connected is not supported by NVIDIA at this time. To recover this previous behaviour, you can use:
And edit the file to use: Option «PrimaryGPU» «yes»
SSDM and lightdm display manager users: Please Have a look at the ArchLinux wiki about configuring display manager. In Fedora, Gnome users don’t need this change.
PRIME Synchronization
With Xorg server 1.19 (Fedora 25 and later), this feature allows buffer sharing between the Intel and the NVIDIA card when using Xorg (not relevant for Wayland). It should be enabled bytThen you can enable Prime Synchronisation for your session:
Proprietary/FLOSS switch
At this time, this can be done by manually editing «rd.driver.blacklist=nouveau modprobe.blacklist=nouveau nvidia-drm.modeset=1» from the grub2 cmdline. And replace by «rd.driver.blacklist=nvidia,nvidia_drm,nvidia_modeset modprobe.blacklist=nvidia,nvidia_drm,nvidia_modeset» The plan is to have a grub2 menu to have the choice. Please see Bugzilla [RFE] Switcher for Xorg nvidia/FOSS config
- Q: Why there is no nvidia-prime package ?
- A: nvidia-prime is not something from NVIDIA despite the name. It’s a collection of integration scripts made by canonical for Ubuntu. Better to avoid using custom scripts and to have the driver to setup appropriately if on Optimus hardware or single GPU setup. With Fedora 25 and later, everything is automatically setup.
References
Howto/Optimus (последним исправлял пользователь Sérgio Basto 2021-03-24 05:25:00)
Источник
Fedora 34/33/32 NVIDIA Drivers Install Guide
This is guide, howto install NVIDIA proprietary drivers (manually using .run files) on Fedora 34/33/32/31/30 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 30 series cards works with 470.xx, 465.xx and 460.xx NVIDIA drivers, (RTX 3090, RTX 3080 and RTX 3070)
- GeForce RTX 20 series cards works with 470.xx, 465.xx, 460.xx and 450.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 470.xx, 465.xx, 460.xx, 450.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, Fedora 34 (improved version) and Fedora 33, both works with Fedora 34 and Fedora 33:
I got following question in Youtube:
It’s good question and I decided to add my answer here as well:
Actually nothing, but with 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 totally different guide than my earlier guides, like Fedora 20 NVIDIA driver install. This guide uses NVIDIA drivers directly from NVIDIA site and dkms to help on kernel updates. I decided go back to old school (and bit ugly) method and install NVIDIA drivers “manually”. I have tested this guide with 340.xx (patched), 390.xx (patched), 418.xx (patched), 435.xx (patched), 450.xx, 460.xx, 465.xx, 470.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.
Table of Contents
Let me know, if you have some problems?
Or if you succeed, you could post output of following commands:
Backup first 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
If you see multiple VGA controllers, then check next step 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:
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 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 Fedora 33/32/31/30/29 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.13+ / 5.12+ / 5.11+ / 5.10+ / 5.9+ kernels:
Fedora 34 | Fedora 33 | Fedora 32 | Fedora 31/30 |
---|---|---|---|
470.74 (September 20, 2021) | 470.74 (September 20, 2021) | 470.74 (September 20, 2021) | 470.74 (September 20, 2021) |
465.31 (May 18, 2021) | 465.31 (May 18, 2021) | 465.31 (May 18, 2021) | 465.31 (May 18, 2021) |
460.91.03 (July 20, 2021) | 460.91.03 (July 20, 2021) | 460.91.03 (July 20, 2021) | 460.91.03 (July 20, 2021) |
450.119.03 (April 19, 2021) | 450.119.03 (April 19, 2021) | 450.119.03 (April 19, 2021) | 450.119.03 (April 19, 2021) |
435.21 (August 29, 2019) | 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) | 418.113 (November 5, 2019) |
390.144 (July 20, 2021) | 390.144 (July 20, 2021) | 390.144 (July 20, 2021) | 390.144 (July 20, 2021) |
340.108 (December 23, 2019) | 340.108 (December 23, 2019) | 340.108 (December 23, 2019) | 340.108 (December 23, 2019) |
Note 418.113 and 435.21 users: 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.13+ / 5.12+ / 5.11+ / 5.10+)
Note Older Fedora users: If you have any problems with GDM (black screen). You can easily switch Display Manager example to LXDM, LightDM, SDDM or KDM.
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
After update reboot your system and boot using latest kernel:
2.5 Install needed dependencies
2.6 Disable nouveau
2.6.1 Create or edit /etc/modprobe.d/blacklist.conf
Append ‘blacklist nouveau’
2.6.2 Edit /etc/default/grub
Append ‘rd.driver.blacklist=nouveau’ to end of ‘GRUB_CMDLINE_LINUX=”…”‘.
2.6.3 Update grub2 conf
Fedora 34
Fedora 33/32/31/30
2.6.4 Remove xorg-x11-drv-nouveau
2.6.5 Generate initramfs
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).
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 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.
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
2.10 VDPAU/VAAPI support
To enable video acceleration support for your player (Note: you need Geforce 8 or later).
3. Some Screenshots Using Different Cards and Drivers
3.1 NVIDIA 465.31 drivers on Fedora 34 Gnome 40 with Kernel 5.12.8
3.2 VIDIA 460.80 drivers on Fedora 34 Gnome 40 with Kernel 5.12.8
3.3 NVIDIA 450.119.03 drivers on Fedora 34 Gnome 40 with Kernel 5.12.8
3.4 NVIDIA 435.21 drivers on Fedora 34 Gnome 40 with Kernel 5.12.8
3.5 NVIDIA 418.113 drivers on Fedora 34 Gnome 40 with Kernel 5.12.8
3.6 NVIDIA 390.143 drivers on Fedora 34 Gnome 40 with Kernel 5.12.8
3.6 NVIDIA 340.108 drivers on Fedora 34 Gnome 40 with Kernel 5.12.8
Let me know, if you have problems?
Or if you succeed, you could post output of following commands:
Источник