The objective is to enable NVIDIA GPU of an Optimus-based laptop *all the time* and use it for every single activity.
Please do not use this guide if you want to render your desktop using the integrated GPU and specifically select applications to be rendered using the NVIDIA GPU.
The steps listed here have been verified to be working on Fedora 32 Workstation. Please update your installation to include your experiences and any other tweaks that may be needed if you are using any other desktop environments.
Some guides on the internet advise a different approach to installing nVidia drivers on Fedora, such as directly using the binaries provided by nVidia. The Fedora Project cannot ensure these will always work on every Fedora release, and we therefore recommend following the steps in this document instead.
* The use of NVIDIA GPU all the time would allow for smoother transitions and richer animation effects. Premium desktop environments like GNOME would benefit a lot from this.
* Enabling the NVIDIA GPU all the time would lead to lower CPU load and memory consumption which otherwise would have been high due to added in-memory video buffer.
* With the NVIDIA GPU used all the time, there would be a slight increase in battery consumption which should not be a concern if your device is used while being plugged in.
* Increased generation of heat from the all-the-time enabled NVIDIA GPU can be worrisome. You would not want to play AAA-titles on Proton while placing your laptop on your lap.
Then you need to add the *RPM Fusion repository for NVIDIA drivers*. To do that, open up *GNOME Software* and click on the *hamburger menu* (three horizontal lines) on the top-right corner. Then click on *Software Repositories* from the dropdown menu. There you will see this.
Select *RPM Fusion for Fedora 32 - Nonfree - NVIDIA Driver* and *ENABLE* it. It requires elevated privileges so enter your password and it will be done.
NOTE: If you are using a display manager other than GDM (the defualt of Fedora Workstation), you will need to configure it appropriately. Please refer https://wiki.archlinux.org/index.php/NVIDIA_Optimus#Display_managers[to the Arch wiki for instructions]. For SDDM (the KDE spin default) on Fedora32, the Arch wiki is _wrong_, and you need to edit the `/etc/sddm/Xsetup` file, _not_ `/usr/share/sddm/scripts/Xsetup`.