Translation(s): English - Español - Français
NVIDIA Proprietary Driver: Troubleshooting
This page describes issues and workarounds relating to the NVIDIA proprietary display driver.
Secure Boot
Although Secure Boot is now supported by Debian, the NVIDIA driver requires DKMS, which requires additional setup to be used with Secure Boot.
If you don't sign the generated modules, you will see the following in boot logs:
[FAILED] Failed to start Load Kernel Modules See 'systemctl status systemd-modules-load.service' for details
systemd-modules-load logs will clearly show errors related to the nvidia module.
Another symptom of Nvidia module not loaded is nvidia-settings not starting:
$ nvidia-settings ERROR: NVIDIA driver is not loaded ERROR: Unable to load info from any available system
To sign Nvidia modules and make them work with Secure Boot, follow those instructions.
An easier alternative is to disable Secure Boot in your system's BIOS.
Black screen after resume from suspend
I assume you have already a file named like 80-nvidia.conf placed in /etc/X11/xorg.conf.d/ to edit and the package nvidia-settings installed. First you can check that correct monitor frequencies are detected: run nvidia-settings program choose the "X Server Display Configuration" tab then click the "Save To X Configuration File" button then click "Show previw..." in the view showed look for these two lines:
HorizSync 30.0 - 70.0 VertRefresh 50.0 - 120.0
placed in the section "Monitor" DON'T USE THESE VALUES you must edit and set the horizontal and vertical frequencies reading/googling your monitor name and model specification datasheet! If the values are wrong set the right value in 80-nvidia.conf then you must also add this line:
Option "UseEDIDFreqs" "false"
in the section "Device" then reboot in order the changes take effect. If these changes still don't work try enforce monitor detection adding these lines to the "Device" section:
Option "ConnectedMonitor" "CRT" Screen 0
the accepted value for ConnectedMonitor are CRT, DFP and TV anything attached to a 15 pin VGA connector is regarded by the driver as a CRT. "DFP" should only be used to refer to digital flat panels connected via a DVI port, TV stands for television. Don't forget to reboot in order the changes takes effect. For further information you can refer to this link. An exemple 80-nvidia.conf could be:
Section "Monitor" Identifier "Monitor0" VendorName "Unknown" ModelName "Relisys TE770B" # DON'T USE THESE VALUES you must edit and set the horizontal and vertical frequencies reading/googling your # monitor name and model specification datasheet! HorizSync 30.0 - 70.0 VertRefresh 50.0 - 120.0 Option "DPMS" EndSection Section "Device" Identifier "Device0" Driver "nvidia" VendorName "NVIDIA Corporation" BoardName "Asus GeForce GT 630" Option "UseEDIDFreqs" "false" Option "ConnectedMonitor" "CRT" Screen 0 EndSection Section "Screen" Identifier "Screen0" Device "Device0" Monitor "Monitor0" DefaultDepth 24 Option "Stereo" "0" Option "nvidiaXineramaInfoOrder" "CRT-0" Option "metamodes" "1440x900 +0+0 {ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}" Option "SLI" "Off" Option "MultiGPU" "Off" Option "BaseMosaic" "off" SubSection "Display" Depth 24 EndSubSection EndSection
Screen tearing with KDE desktop
To avoid screen tearing when using the KDE desktop you need to enable triple buffering. You need to add this line:
Option "TripleBuffer" "True"
to the section "Device" of your NVIDIA configuration file placed into /etc/X11/xorg.conf.d/ directory in order to enable triple buffering for the driver then run this command: sudo nano /etc/profile.d/local.sh then copy/paste the following text:
if [ $USER != root ] then export KWIN_TRIPLE_BUFFER=1 fi
save and exit the editor and reboot the system to the changes take effect, doing so you'll enable triple buffering for all KDE users of your system. You can play this video to check if the problem has gone.
General
On some older machines, to compensate for a broken BIOS and/or older graphics cards, the following can improve use of an NVidia card significantly:
When encountering performance and stability issues, try adding one or more of the following boot parameters:
GRUB_CMDLINE_LINUX_DEFAULT="quiet enable_mtrr_cleanup mtrr_spare_reg_nr=4"
Adding enable_mtrr_cleanup as a boot parameter (e.g. GRUB, LILO) is critical on some systems.
In addition, adding mtrr_spare_reg_nr=4 (or a suitable number for your set-up) will show improvements, but be aware that this is hardware dependent value.
An important change could be setting the NVreg_EnableMSI=0 and/or NVreg_Mobile (mobile graphics cards only) options for the nvidia module. For example:
/etc/modprobe.d/nvidia-common-kernel.conf
alias char-major-195* nvidia options nvidia NVreg_DeviceFileUID=0 NVreg_DeviceFileGID=44 NVreg_DeviceFileMode=0660 # To enable FastWrites and Sidebus addressing, uncomment these lines # options nvidia NVreg_EnableAGPSBA=1 # options nvidia NVreg_EnableAGPFW=1 # see #580894 blacklist nouveau # additional options options nvidia NVreg_DeviceFileUID=0 NVreg_DeviceFileGID=44 NVreg_DeviceFileMode=0660 options nvidia NVreg_EnableMSI=0 options nvidia NVreg_Mobile=1
NVreg_Mobile has options for various brands:
- 1 = Dell laptops
- 2 = Non-Compal Toshiba laptops
- 3 = All other laptops
- 4 = Compal Toshiba laptops
- 5 = Gateway laptop
If multiple menus show up:
# dconf reset -f /org/gnome/gnome-panel/layout