Difference between revisions of "Nvidia drivers"

From Redcore Linux Project Wiki
Jump to navigationJump to search
 
(17 intermediate revisions by 2 users not shown)
Line 1: Line 1:
While Redcore Linux defaults to the open source <strong>x11-drivers/nouveau</strong>, it does provide support for two versions of the proprietary graphics driver for NVIDIA graphic cards : <strong>x11-drivers/nvidia-drivers</strong> && <strong>x11-drivers/nvidia-drivers-legacy</strong>. Depending on the age of your card, you can install one or the other, as they cannot coexist on the same system.
While Redcore Linux Hardened defaults to the open source '''x11-drivers/nouveau''', it does provide three versions of the proprietary graphics driver for NVIDIA graphic cards: '''x11-drivers/nvidia-drivers:5''', '''x11-drivers/nvidia-drivers:4''', and '''x11-drivers/nvidia-drivers:3''' in its git repositories. Depending on the age of your card, you can install either of them, but only one at a time, as they cannot coexist on the same system. Some cards are supported by multiple drivers, so it is up to you if you want the latest and greatest or tried and tested. 🖥️


==x11-drivers/nvidia-drivers==
= Driver support 🎮 =


The <strong>x11-drivers/nvidia-drivers</strong> package supports the most recent cards, and it should be your first choice if you have such a card. A list with the supported cards can be found at [https://www.nvidia.co.uk/Download/driverResults.aspx/175958/en-uk https://www.nvidia.co.uk/Download/driverResults.aspx/175958/en-uk].
The '''x11-drivers/nvidia-drivers:5''' package supports the most recent cards, and you should use it if you have such a card. A list with the supported cards can be found at: [https://www.nvidia.com/Download/driverResults.aspx/213194/en-us/ https://www.nvidia.com/Download/driverResults.aspx/213194/en-us/] 📦


====Installation====
The '''x11-drivers/nvidia-drivers:4''' package supports recent cards and some older cards, and you should use it if you have such a card. A list with the supported cards can be found at: [https://www.nvidia.com/Download/driverResults.aspx/215840/en-us/ https://www.nvidia.com/Download/driverResults.aspx/215840/en-us/]. 📦
 
The '''x11-drivers/nvidia-drivers:3''' package supports older cards, and you should use it if you have such a card. A list with the supported cards can be found at: [https://www.nvidia.com/Download/driverResults.aspx/196213/en-us/ https://www.nvidia.com/Download/driverResults.aspx/196213/en-us/] 📦
 
== Installation 🛠️ ==


Using [[Sisyphus|sisyphus]] (cli) - recommended:
Using [[Sisyphus|sisyphus]] (cli) - recommended:


  root # <strong>sisyphus install --ebuild nvidia-drivers</strong>
  user@hostname ~ # <strong>sisyphus install --ebuild nvidia-drivers:5</strong>
 
These are the binary packages that would be merged, in order:
   
   
These are the binary packages that would be merged, in order:
x11-libs/gdk-pixbuf-xlib-2.40.2
 
Total: 1 binary package(s)
 
These are the source packages that would be merged, in order:
   
   
  x11-libs/gdk-pixbuf-xlib-2.40.2
acct-user/nvpd-0  sys-kernel/nvidia-drivers-dkms-525.78.01  gui-libs/egl-gbm-1.1.0  gui-libs/egl-wayland-1.1.11-r1 x11-drivers/nvidia-drivers-525.78.01  x11-misc/nvidia-settings-525.78.01
 
Total: 6 source package(s)
 
Would you like to proceed? [y/N]
 
or
 
user@hostname ~ # <strong>sisyphus install --ebuild nvidia-drivers:4</strong>
 
These are the binary packages that would be merged, in order:
   
   
Total: 1 binary package(s)
x11-libs/gdk-pixbuf-xlib-2.40.2
 
Total: 1 binary package(s)
 
These are the source packages that would be merged, in order:
   
   
  These are the source packages that would be merged, in order:
gui-libs/eglexternalplatform-1.1 acct-user/nvpd-0  sys-kernel/nvidia-drivers-dkms-470.141.03-r2  gui-libs/egl-wayland-1.1.7-r1  x11-drivers/nvidia-drivers-470.141.03  x11-misc/nvidia-settings-470.141.03-r2
 
Total: 4 source package(s)
 
Would you like to proceed? [y/N]
 
or
 
user@hostname ~ # <strong>sisyphus install --ebuild nvidia-drivers:3</strong>
 
These are the binary packages that would be merged, in order:
   
   
acct-group/video-0-r1  sys-kernel/nvidia-drivers-dkms-460.67  x11-misc/nvidia-settings-460.67  x11-drivers/nvidia-drivers-460.67
x11-libs/gdk-pixbuf-xlib-2.40.2
 
Total: 1 binary package(s)
 
These are the source packages that would be merged, in order:
   
   
  Total: 4 source package(s)
acct-user/nvpd-0 sys-kernel/nvidia-drivers-dkms-390.154  x11-drivers/nvidia-drivers-390.154  x11-misc/nvidia-settings-390.154
 
Would you like to proceed? [y/N]
Total: 4 source package(s)
 
Would you like to proceed? [y/N]  
 
As you can see, different versions of the driver can be installed by specifying the package [https://devmanual.gentoo.org/general-concepts/slotting/index.html SLOT]. The installation process takes care of everything, so no further action is required, except rebooting the system so it uses the new drivers. 🔄
 
== Uninstallation ⚙️ ==
 
If for some reason you decide the proprietary drivers are not for you and you want to revert to the open-source nouveau drivers, the uninstallation process is straightforward.
 
Using [[Sisyphus|sisyphus]] (cli) - recommended:
 
user@hostname ~ # <strong>sisyphus uninstall nvidia-drivers</strong>
 
user@hostname ~ # <strong>sisyphus autoremove</strong>
 
<strong>NOTE:</strong> Since multiple NVIDIA drivers packages cannot coexist and cannot be installed at the same time on the same system, the package [https://devmanual.gentoo.org/general-concepts/slotting/index.html SLOT] doesn't need to be specified during removal. The removal process takes care of everything, so no further action is required, except rebooting the system so it goes back
to using the open-source nouveau drivers. 🔄
 
== Replacing drivers 🔄 ==


Using [[Portage|portage]]:
It is possible that your graphics card is supported by multiple driver packages. For example, the '''GeForce GTX 1080 Ti''' graphics card is supported by all three driver packages Redcore Linux provides. If, for some reason, one driver package is not working properly, you can try another one.


root # <strong>emerge -av nvidia-drivers</strong>
First, uninstall the current driver:
These are the packages that would be merged, in order:
Calculating dependencies            ... done! 
[ebuild  N    ] acct-group/video-0-r1::gentoo  0 KiB
[ebuild  N    ] sys-kernel/nvidia-drivers-dkms-460.67::redcore  173,528 KiB
[ebuild  N    ] x11-libs/gdk-pixbuf-xlib-2.40.2::gentoo  USE="-gtk-doc" ABI_X86="32 (64) (-x32)" 53 KiB
[ebuild  N    ] x11-misc/nvidia-settings-460.67::redcore  1,205 KiB
[ebuild  N    ] x11-drivers/nvidia-drivers-460.67::redcore  USE="X acpi dkms (libglvnd) multilib tools wayland -compat" ABI_X86="32 (64) (-x32)" 0 KiB
Total: 5 packages (5 new), Size of downloads: 174,784 KiB
Would you like to merge these packages? [Yes/No]


The installation process takes care of everything, so no further action is required, except rebooting the system so it uses the new drivers.
Using [[Sisyphus|sisyphus]] (cli) - recommended:


==x11-drivers/nvidia-drivers-legacy==
user@hostname ~ # <strong>sisyphus uninstall nvidia-drivers</strong>


The <strong>x11-drivers/nvidia-drivers-legacy</strong> package supports older cards, and you should use it if you have such a card. A list with the supported cards can be found at [https://www.nvidia.co.uk/Download/driverResults.aspx/173291/en-uk https://www.nvidia.co.uk/Download/driverResults.aspx/173291/en-uk]
user@hostname ~ # <strong>sisyphus autoremove</strong>


====Installation====
Then, install another driver:


Using [[Sisyphus|sisyphus]] (cli) - recommended:
Using [[Sisyphus|sisyphus]] (cli) - recommended:


  root # <strong>sisyphus install --ebuild nvidia-drivers-legacy</strong>
  user@hostname ~ # <strong>sisyphus install --ebuild nvidia-drivers:5</strong>
 
These are the binary packages that would be merged, in order:
   
   
These are the binary packages that would be merged, in order:
x11-libs/gdk-pixbuf-xlib-2.40.2
 
Total: 1 binary package(s)
 
These are the source packages that would be merged, in order:
   
   
  x11-libs/gdk-pixbuf-xlib-2.40.2
acct-user/nvpd-0  sys-kernel/nvidia-drivers-dkms-525.78.01  gui-libs/egl-gbm-1.1.0  gui-libs/egl-wayland-1.1.11-r1 x11-drivers/nvidia-drivers-525.78.01  x11-misc/nvidia-settings-525.78.01
 
Total: 6 source package(s)
 
Would you like to proceed? [y/N]
 
or
 
user@hostname ~ # <strong>sisyphus install --ebuild nvidia-drivers:4</strong>
 
These are the binary packages that would be merged, in order:
   
   
Total: 1 binary package(s)
x11-libs/gdk-pixbuf-xlib-2.40.2
 
Total: 1 binary package(s)
 
These are the source packages that would be merged, in order:
   
   
  These are the source packages that would be merged, in order:
gui-libs/eglexternalplatform-1.1 acct-user/nvpd-0  sys-kernel/nvidia-drivers-dkms-470.141.03-r2  gui-libs/egl-wayland-1.1.7-r1  x11-drivers/nvidia-drivers-470.141.03  x11-misc/nvidia-settings-470.141.03-r2
 
Total: 4 source package(s)
 
Would you like to proceed? [y/N]
 
or
 
user@hostname ~ # <strong>sisyphus install --ebuild nvidia-drivers:3</strong>
 
These are the binary packages that would be merged, in order:
   
   
sys-kernel/nvidia-drivers-legacy-dkms-390.141-r1  x11-drivers/nvidia-drivers-legacy-390.141-r1  x11-misc/nvidia-settings-legacy-390.141
x11-libs/gdk-pixbuf-xlib-2.40.2
 
Total: 3 source package(s)
Total: 1 binary package(s)
 
These are the source packages that would be merged, in order:
   
   
  Would you like to proceed? [y/N]
acct-user/nvpd-0  sys-kernel/nvidia-drivers-dkms-390.154  x11-drivers/nvidia-drivers-390.154 x11-misc/nvidia-settings-390.154


Using [[Portage|portage]]:
Total: 4 source package(s)


root # <strong>emerge -av nvidia-drivers-legacy</strong>
Would you like to proceed? [y/N]
These are the packages that would be merged, in order:
Calculating dependencies                ... done!
[ebuild  N    ] sys-kernel/nvidia-drivers-legacy-dkms-390.141-r1::redcore  83,331 KiB
[ebuild  N    ] x11-libs/gdk-pixbuf-xlib-2.40.2::gentoo  USE="-gtk-doc" ABI_X86="32 (64) (-x32)" 53 KiB
[ebuild  N    ] x11-drivers/nvidia-drivers-legacy-390.141-r1::redcore  USE="X acpi dkms (libglvnd) multilib tools wayland -compat" ABI_X86="32 (64) (-x32)" 0 KiB
[ebuild  N    ] x11-misc/nvidia-settings-legacy-390.141::redcore  1,267 KiB
Total: 4 packages (4 new), Size of downloads: 84,651 KiB
Would you like to merge these packages? [Yes/No]


The installation process takes care of everything, so no further action is required, except rebooting the system so it uses the new drivers.
Once completed, reboot your system so it uses the new drivers. 🔄


==x11-misc/nvidia-prime==
= Nvidia Prime 🎮 =


PRIME is a technology used to manage hybrid graphics found on recent desktops and laptops (Optimus for NVIDIA, AMD Dynamic Switchable Graphics for Radeon). PRIME GPU offloading is an attempt to support muxless hybrid graphics in the Linux kernel. Redcore Linux supports PRIME for NVIDIA Optimus through <strong>x11-misc/nvidia-prime</strong> package, using proprietary <strong>x11-drivers/nvidia-drivers</strong> driver package. At the time off this article, AMD Dynamic Switchable Graphics is not easily supported, due to lack of hardware to implement and test.
PRIME is a technology used to manage hybrid graphics found on recent desktops and laptops (Optimus for NVIDIA, AMD Dynamic Switchable Graphics for Radeon). PRIME GPU offloading is an attempt to support muxless hybrid graphics in the Linux kernel. Redcore Linux supports PRIME for NVIDIA Optimus through '''x11-misc/nvidia-prime''' package, using proprietary '''x11-drivers/nvidia-drivers:4''' and '''x11-drivers/nvidia-drivers:5''' driver packages. At the time of this article, AMD Dynamic Switchable Graphics is not supported, due to a lack of hardware to implement and test. 🖥️


====Installation====
== Installation 🛠️ ==


PRIME doesn't work with <strong>x11-drivers/nvidia-drivers-legacy</strong> driver package, so if you have a NVIDIA card only supported by that driver, you're out of luck. First, install <strong>x11-drivers/nvidia-drivers</strong> as shown above. Then install <strong>x11-misc/nvidia-prime</strong>:
PRIME doesn't work with '''x11-drivers/nvidia-drivers:3''' driver package, so if you have an NVIDIA card only supported by that driver, you're out of luck. First, install '''x11-drivers/nvidia-drivers:4''' or '''x11-drivers/nvidia-drivers:5''' as shown above. Then install '''x11-misc/nvidia-prime''':


Using [[Sisyphus|sisyphus]] (cli) - recommended:
Using [[Sisyphus|sisyphus]] (cli) - recommended:
Line 98: Line 162:
  root # <strong>sisyphus install nvidia-prime</strong>
  root # <strong>sisyphus install nvidia-prime</strong>
   
   
These are the binary packages that would be merged, in order:
These are the binary packages that would be merged, in order:
x11-misc/nvidia-prime-314
   
   
Total: 1 binary package(s)
x11-misc/nvidia-prime-314
   
   
Would you like to proceed? [y/N]
Total: 1 binary package(s)
 
Using [[Portage|portage]]:


root # <strong>emerge -av nvidia-prime</strong>
Would you like to proceed? [y/N]
These are the packages that would be merged, in order:
Calculating dependencies                                  ... done! 
[ebuild  N    ] x11-misc/nvidia-prime-314::redcore  0 KiB
Total: 1 package (1 new), Size of downloads: 0 KiB
Would you like to merge these packages? [Yes/No]


Once installed, you can launch applications on the more powerfull NVIDIA card using:
Once installed, you can launch applications on the more powerful NVIDIA card using:


  prime-run <application_name>
  prime-run <application_name>
Line 127: Line 178:
  prime-run steam
  prime-run steam


==Final thoughts==
= Final thoughts 💭 =


NVIDIA driver support is different in Redcore Linux compared to its parent Gentoo Linux. Our packages, although based on Gentoo's packages, are slightly different. Gentoo Linux provides a great documentation at [https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers] if you want to read more. Though, keep in mind, all those steps are not needed in Redcore Linux.
NVIDIA driver support is slightly different in Redcore Linux compared to its parent Gentoo Linux. Gentoo Linux provides great documentation at [https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers] if you want to read more. Though, keep in mind, all those steps are not needed in Redcore Linux. 🐧

Latest revision as of 11:17, 23 November 2023

While Redcore Linux Hardened defaults to the open source x11-drivers/nouveau, it does provide three versions of the proprietary graphics driver for NVIDIA graphic cards: x11-drivers/nvidia-drivers:5, x11-drivers/nvidia-drivers:4, and x11-drivers/nvidia-drivers:3 in its git repositories. Depending on the age of your card, you can install either of them, but only one at a time, as they cannot coexist on the same system. Some cards are supported by multiple drivers, so it is up to you if you want the latest and greatest or tried and tested. 🖥️

Driver support 🎮

The x11-drivers/nvidia-drivers:5 package supports the most recent cards, and you should use it if you have such a card. A list with the supported cards can be found at: https://www.nvidia.com/Download/driverResults.aspx/213194/en-us/ 📦

The x11-drivers/nvidia-drivers:4 package supports recent cards and some older cards, and you should use it if you have such a card. A list with the supported cards can be found at: https://www.nvidia.com/Download/driverResults.aspx/215840/en-us/. 📦

The x11-drivers/nvidia-drivers:3 package supports older cards, and you should use it if you have such a card. A list with the supported cards can be found at: https://www.nvidia.com/Download/driverResults.aspx/196213/en-us/ 📦

Installation 🛠️

Using sisyphus (cli) - recommended:

user@hostname ~ # sisyphus install --ebuild nvidia-drivers:5

These are the binary packages that would be merged, in order:

x11-libs/gdk-pixbuf-xlib-2.40.2

Total: 1 binary package(s)

These are the source packages that would be merged, in order:

acct-user/nvpd-0 sys-kernel/nvidia-drivers-dkms-525.78.01 gui-libs/egl-gbm-1.1.0 gui-libs/egl-wayland-1.1.11-r1 x11-drivers/nvidia-drivers-525.78.01 x11-misc/nvidia-settings-525.78.01

Total: 6 source package(s)

Would you like to proceed? [y/N]

or

user@hostname ~ # sisyphus install --ebuild nvidia-drivers:4

These are the binary packages that would be merged, in order:

x11-libs/gdk-pixbuf-xlib-2.40.2

Total: 1 binary package(s)

These are the source packages that would be merged, in order:

gui-libs/eglexternalplatform-1.1 acct-user/nvpd-0 sys-kernel/nvidia-drivers-dkms-470.141.03-r2 gui-libs/egl-wayland-1.1.7-r1 x11-drivers/nvidia-drivers-470.141.03 x11-misc/nvidia-settings-470.141.03-r2

Total: 4 source package(s)

Would you like to proceed? [y/N]

or

user@hostname ~ # sisyphus install --ebuild nvidia-drivers:3

These are the binary packages that would be merged, in order:

x11-libs/gdk-pixbuf-xlib-2.40.2

Total: 1 binary package(s)

These are the source packages that would be merged, in order:

acct-user/nvpd-0 sys-kernel/nvidia-drivers-dkms-390.154 x11-drivers/nvidia-drivers-390.154 x11-misc/nvidia-settings-390.154

Total: 4 source package(s)

Would you like to proceed? [y/N]

As you can see, different versions of the driver can be installed by specifying the package SLOT. The installation process takes care of everything, so no further action is required, except rebooting the system so it uses the new drivers. 🔄

Uninstallation ⚙️

If for some reason you decide the proprietary drivers are not for you and you want to revert to the open-source nouveau drivers, the uninstallation process is straightforward.

Using sisyphus (cli) - recommended:

user@hostname ~ # sisyphus uninstall nvidia-drivers
user@hostname ~ # sisyphus autoremove

NOTE: Since multiple NVIDIA drivers packages cannot coexist and cannot be installed at the same time on the same system, the package SLOT doesn't need to be specified during removal. The removal process takes care of everything, so no further action is required, except rebooting the system so it goes back to using the open-source nouveau drivers. 🔄

Replacing drivers 🔄

It is possible that your graphics card is supported by multiple driver packages. For example, the GeForce GTX 1080 Ti graphics card is supported by all three driver packages Redcore Linux provides. If, for some reason, one driver package is not working properly, you can try another one.

First, uninstall the current driver:

Using sisyphus (cli) - recommended:

user@hostname ~ # sisyphus uninstall nvidia-drivers
user@hostname ~ # sisyphus autoremove

Then, install another driver:

Using sisyphus (cli) - recommended:

user@hostname ~ # sisyphus install --ebuild nvidia-drivers:5

These are the binary packages that would be merged, in order:

x11-libs/gdk-pixbuf-xlib-2.40.2

Total: 1 binary package(s)

These are the source packages that would be merged, in order:

acct-user/nvpd-0 sys-kernel/nvidia-drivers-dkms-525.78.01 gui-libs/egl-gbm-1.1.0 gui-libs/egl-wayland-1.1.11-r1 x11-drivers/nvidia-drivers-525.78.01 x11-misc/nvidia-settings-525.78.01

Total: 6 source package(s)

Would you like to proceed? [y/N]

or

user@hostname ~ # sisyphus install --ebuild nvidia-drivers:4

These are the binary packages that would be merged, in order:

x11-libs/gdk-pixbuf-xlib-2.40.2

Total: 1 binary package(s)

These are the source packages that would be merged, in order:

gui-libs/eglexternalplatform-1.1 acct-user/nvpd-0 sys-kernel/nvidia-drivers-dkms-470.141.03-r2 gui-libs/egl-wayland-1.1.7-r1 x11-drivers/nvidia-drivers-470.141.03 x11-misc/nvidia-settings-470.141.03-r2

Total: 4 source package(s)

Would you like to proceed? [y/N]

or

user@hostname ~ # sisyphus install --ebuild nvidia-drivers:3

These are the binary packages that would be merged, in order:

x11-libs/gdk-pixbuf-xlib-2.40.2

Total: 1 binary package(s)

These are the source packages that would be merged, in order:

acct-user/nvpd-0 sys-kernel/nvidia-drivers-dkms-390.154 x11-drivers/nvidia-drivers-390.154 x11-misc/nvidia-settings-390.154

Total: 4 source package(s)

Would you like to proceed? [y/N]

Once completed, reboot your system so it uses the new drivers. 🔄

Nvidia Prime 🎮

PRIME is a technology used to manage hybrid graphics found on recent desktops and laptops (Optimus for NVIDIA, AMD Dynamic Switchable Graphics for Radeon). PRIME GPU offloading is an attempt to support muxless hybrid graphics in the Linux kernel. Redcore Linux supports PRIME for NVIDIA Optimus through x11-misc/nvidia-prime package, using proprietary x11-drivers/nvidia-drivers:4 and x11-drivers/nvidia-drivers:5 driver packages. At the time of this article, AMD Dynamic Switchable Graphics is not supported, due to a lack of hardware to implement and test. 🖥️

Installation 🛠️

PRIME doesn't work with x11-drivers/nvidia-drivers:3 driver package, so if you have an NVIDIA card only supported by that driver, you're out of luck. First, install x11-drivers/nvidia-drivers:4 or x11-drivers/nvidia-drivers:5 as shown above. Then install x11-misc/nvidia-prime:

Using sisyphus (cli) - recommended:

root # sisyphus install nvidia-prime

These are the binary packages that would be merged, in order:

x11-misc/nvidia-prime-314

Total: 1 binary package(s)

Would you like to proceed? [y/N]

Once installed, you can launch applications on the more powerful NVIDIA card using:

prime-run <application_name>

Examples:

prime-run steam

Final thoughts 💭

NVIDIA driver support is slightly different in Redcore Linux compared to its parent Gentoo Linux. Gentoo Linux provides great documentation at https://wiki.gentoo.org/wiki/NVIDIA/nvidia-drivers if you want to read more. Though, keep in mind, all those steps are not needed in Redcore Linux. 🐧