Difference between revisions of "Package:NVIDIA Linux Display Drivers"

From Funtoo
Jump to: navigation, search
(add note about brightness)
(Textual improvements for readability, additional info required for older drivers)
Line 4: Line 4:
 
}}
 
}}
 
== Introduction ==
 
== Introduction ==
NVIDIA have proprietary graphics drivers for Linux under binary blob. The alternative open source driver is {{Package|x11-drivers/xf86-video-nouveau}}.
+
NVIDIA provides proprietary graphics drivers for Linux as binary blobs. The alternative open source driver is {{Package|x11-drivers/xf86-video-nouveau}}.
  
 
{{warning|If you installed debian-sources with the binary USE flag you will need to blacklist the nouveau module
 
{{warning|If you installed debian-sources with the binary USE flag you will need to blacklist the nouveau module
Line 15: Line 15:
 
== Preparing to Install ==
 
== Preparing to Install ==
 
=== Hardware compatibility and driver versions ===
 
=== Hardware compatibility and driver versions ===
Currently, there are five versions of meta NVIDIA Linux drivers, each of which supports a specific group of GPUs. To check the type of driver that is related to your video card, check out the official page of the NVIDIA [http://www.nvidia.com/object/IO_32667.html complete list of supported GPUs].
+
Currently, there are five versions of meta NVIDIA Linux drivers, each of which supports a specific group of GPUs. To learn which driver is suitable for your video card, consult the official page of the NVIDIA [http://www.nvidia.com/object/IO_32667.html complete list of supported GPUs]. Mind that choosing the wrong driver may render your system unusable!
  
 
=== The required kernel options ===
 
=== The required kernel options ===
Line 38: Line 38:
 
== Installation ==
 
== Installation ==
  
Upgrade and/or configure <code>VIDEO_CARDS</code>  variable to <code>nvidia</code> in <code>/etc/portage/[[make.conf]]</code>. This will serve to while you are installing the Server X, the correct version of nvidia-drivers to be provided for you.
+
Upgrade and/or configure the <code>VIDEO_CARDS</code>  flag to <code>nvidia</code> in <code>/etc/portage/[[make.conf]]</code>.
 +
 
 
<console>
 
<console>
 
# ##i##nano /etc/portage/make.conf
 
# ##i##nano /etc/portage/make.conf
Line 44: Line 45:
 
</console>
 
</console>
  
{{note|Installing to the driver with the option in '''gtk''' use flags will make it installed the <code>media-video/nvidia-settings</code> which is a graphical tool for monitoring and various settings for your video card}}
+
For older drivers, especially unsupported versions, you may need to enter the details of the '''''lowest numbered driver that will fail your video-card''''' into {{f|/etc/portage/package.mask}}. Example:
 +
{{file|name=/etc/portage/package.mask|body=
 +
>=x11-drivers/nvidia-drivers-341.0.0
 +
}}
 +
This will block the installation of the 341.0.0 driver '''''and all later versions''''', as the video cards used (a GT8400GS in this case) is not supported by those newer drivers. emerge will therefore install the latest previous version, in this case the 340.102 driver.
 +
 
 +
{{note|Installing the driver with the '''gtk''' use flags will also provide <code>media-video/nvidia-settings</code> which is a graphical tool for monitoring and various settings for your video card}}
  
 
=== Emerging the package ===
 
=== Emerging the package ===
Line 86: Line 93:
  
 
=== Integration with X Server ===
 
=== Integration with X Server ===
When your X server is installed find, and there's <code>/etc/X11/xorg.conf</code> you can run the nvidia-xconfig which will set in xorg.conf to identify the video card among other possible configurations.
+
When your X server is installed and there is a <code>/etc/X11/xorg.conf</code> you can run the nvidia-xconfig which will identify and set the video card, amongst other possible configurations, in your xorg.conf.
  
 
<console>###i## nvidia-xconfig</console>
 
<console>###i## nvidia-xconfig</console>
Line 103: Line 110:
  
 
=== Enabling NVIDIA Support ===
 
=== Enabling NVIDIA Support ===
Include the use flag in '''nvidia''' in <code>/etc/portage/[[make.conf]]</code> so due to applications that make use of this advantage may withdraw.
+
Include the use flag in '''nvidia''' in <code>/etc/portage/[[make.conf]]</code> so that applications flags are set correctly.
 
<console>
 
<console>
 
# ##i##nano /etc/portage/make.conf
 
# ##i##nano /etc/portage/make.conf

Revision as of 03:48, December 5, 2017

NVIDIA Linux Display Drivers

Tip

We welcome improvements to this page. To edit this page, Create a Funtoo account. Then log in and then click here to edit this page. See our editing guidelines to becoming a wiki-editing pro.

Introduction

NVIDIA provides proprietary graphics drivers for Linux as binary blobs. The alternative open source driver is Package:Nouveau Video Drivers (Open Source).

Warning

If you installed debian-sources with the binary USE flag you will need to blacklist the nouveau module

/etc/modprobe.d/nouveau-blacklist.conf
blacklist nouveau
options nouveau modeset=0
alias nouveau off

Preparing to Install

Hardware compatibility and driver versions

Currently, there are five versions of meta NVIDIA Linux drivers, each of which supports a specific group of GPUs. To learn which driver is suitable for your video card, consult the official page of the NVIDIA complete list of supported GPUs. Mind that choosing the wrong driver may render your system unusable!

The required kernel options

[*] Enable loadable module support
[*] MTRR (Memory Type Range Register) support


Device Drivers --->
      Graphics support ---> 
            <*> Support for frame buffer devices --->
                  <> NVIDIA Framebuffer Support
                  <> NVIDIA Riva support
Tip

An alternative is to uvesafb framebuffer, or vesa framebuffer which can be installed in parallel with nvidia-drivers

Installation

Upgrade and/or configure the VIDEO_CARDS flag to nvidia in /etc/portage/make.conf.

# nano /etc/portage/make.conf
VIDEO_CARDS="nvidia"

For older drivers, especially unsupported versions, you may need to enter the details of the lowest numbered driver that will fail your video-card into /etc/portage/package.mask. Example:

/etc/portage/package.mask
>=x11-drivers/nvidia-drivers-341.0.0

This will block the installation of the 341.0.0 driver and all later versions, as the video cards used (a GT8400GS in this case) is not supported by those newer drivers. emerge will therefore install the latest previous version, in this case the 340.102 driver.

Note

Installing the driver with the gtk use flags will also provide media-video/nvidia-settings which is a graphical tool for monitoring and various settings for your video card

Emerging the package

# emerge x11-drivers/nvidia-drivers

When the installation is complete run modprobe nvidia module to read kernel memory.

# lsmod | grep nvidia

If an update before remove the old module

# rmmod nvidia
# modprobe nvidia

The Importance of the Video Group

While many video drivers (those that are part of xorg-x11) do not require users to be part of the video group for hardware acceleration, the NVIDIA drivers definitely do require this. Please make sure that any non-root user is part of the video group. This can be done by using vigr or via the command-line as follows:

#  usermod -a -G video myusername

Testing your Video Card

To test your video card run the glxinfo program, which is part of the mesa-progs package. This will check if direct rendering is enabled.

$ glxinfo | grep direct
  direct rendering: yes

Configuring

Loading at boot

To automate the loading of the module when you boot your system, add nvidia in modules variable.

# nano /etc/conf.d/modules
modules="nvidia"

Integration with X Server

When your X server is installed and there is a /etc/X11/xorg.conf you can run the nvidia-xconfig which will identify and set the video card, amongst other possible configurations, in your xorg.conf.

# nvidia-xconfig
/etc/X11/xorg.conf
Section "Device"
    Identifier     "nvidia"
    Driver         "nvidia"
    VendorName     "NVIDIA Corporation"
    BoardName      "[Name] [Model]"
    Option    "RegistryDwords" "EnableBrightnessControl=1"
EndSection
Note

The "EnableBrightnessControl=1" option above will allow laptop backlight brightness to be controlled via hotkey or via GNOME slider. Without this option, it is likely that brightness will not be able to be controlled.

Enabling NVIDIA Support

Include the use flag in nvidia in /etc/portage/make.conf so that applications flags are set correctly.

# nano /etc/portage/make.conf
USE="nvidia"

Enabling OpenGL/OpenCL

As a requirement, make sure that the Xorg server is not in use during this change. To enable OpenGL and OpenCL.

# eselect opengl set nvidia
# eselect opencl set nvidia