SDB:NVIDIA troubleshooting

Jump to: navigation, search



This article will help you in troubleshooting your NVIDIA graphics driver.
It details a collection of situations that are commonly found and gives guidance on how to resolve them, though some may provide only a workaround.
Icon-cleanup.png
This article is in need of attention because it does not follow our wiki guidelines.
If you want to contribute, please read the rules for this wiki and if you have any questions, don't hesitate to contact the wiki team, we are more then willing to help you! :-)
Icon-warning.png
Warning: Some information is considered outdated, but left in place for support reference.

Wayland versus nvidia proprietary drivers

The drivers provided through the nvidia suse repository (download.nvidia.com/opensuse) are not currently compatible with Wayland display protocol (at 08-2020). This may cause graphical startup, such as GDM login, to hang with a blank screen.

Forcing use of Xorg instead of Wayland is suggested as a workaround, with nvidia driver, and allows more 3D graphic support than with nouveau driver.

Force use of Xorg as follows:

  1. temporarily edit Grub to boot to init 3
  2. remove nouveau drivers (by full zypper removal or blacklisting in /etc/modprobe.d)
  3. install nvidia drivers as expected (https://en.opensuse.org/SDB:NVIDIA_drivers)
  4. edit /etc/gdm/custom.conf to uncomment (set) WaylandEnable=false
  5. reboot

Also see https://bugzilla.opensuse.org/show_bug.cgi?id=1175378


nvidia-settings ERROR: Unable to load info from any available system

If you installed nvidia-driver through package manage system and you get this error, that is because your system is running another graphics card driver (usually Intel) instead of Nvidia. This can happen when you have multiple GPUs in your PC, and can manifest as a crash during GPU-intensive tasks (e.g. playing a game).

Install the opensuse-prime or suse-prime package and select nvidia as your default graphics card driver.

# zypper in opensuse-prime suse-prime

Then reboot and use prime-select to switch graphics driver.

# prime-select nvidia

Also, regenerate /etc/X11/xorg.conf might be helpful.

# rm -v /etc/X11/xorg.conf
# nvidia-xconfig

Then reboot, you should see nvidia driver is running.

Failed to apply atomic modeset. Error code: -22

You might see a message like the following for example during the boot process, or when playing a game:

kernel: [drm:nv_drm_atomic_commit [nvidia_drm]] ERROR [nvidia-drm] [GPU ID 0x00000100] Failed to apply atomic modeset. Error code: -22

In such cases, ensure you have the latest NVidia driver (the root cause seems to be fixed in the 545.29.02 driver). If the issue persist, using the initcall_blacklist=simpledrm_platform_driver_init kernel parameter might help.

To apply the parameter:

1) Edit the /etc/default/grub file.

2) Add the parameter to the GRUB_CMDLINE_LINUX_DEFAULT variable, for example:

 GRUB_CMDLINE_LINUX_DEFAULT="splash=silent initcall_blacklist=simpledrm_platform_driver_init mitigations=auto quiet security=apparmor"

3) Save the file.

4) Execute update-bootloader --refresh and reboot your computer.

Also see https://forums.developer.nvidia.com/t/failed-to-apply-atomic-modeset-display-hang-on-fullscreen-game-launch-with-530-41-03-1070-gtx-wayland-gnome-43-4-manjaro/248638/30

KDE 4.x Performance Issues

Both KDE (in particular) and GNOME are currently suffering from degraded performance when using the 177.82 version of the drivers. The issues are largely solved in newer the 180.06 version. However, as the 180 drivers have issues with displaying random images under some circumstances, it may still be advantageous to use the older driver version with the configuration changes outlined below.

To resolve this issue in the interim (until the repository is updated), you can do the following:

1) Add the following line to your ~/.xinitrc file:
nvidia-settings -a InitialPixmapPlacement=2 -a GlyphCache=1

If you do not have a .xinitrc, do the following to create one and then add the above line:

  1. cd
  2. cp .xinitrc.template .xinitrc

2) Modify your /etc/X11/xorg.conf file and add the following to the Screen section:
Option "PixmapCacheSize" "1000000"
Option "AllowSHMPixmaps" "0"

That should solve the current (major) KDE4.1 performance issues. The link to the original post: http://www.nvnews.net/vbulletin/showthread.php?t=118088

Problem with some AGP graphics boards

Using AGP graphics boards with some motherboards you may need to manually add [Option "NvAGP" "2"] as shown below. This was the case with a Gigabyte GA-K8NS AMD64 motherboard and AGP Nvidia FX5200 graphics board. Without this command X failed to start.

 Section "Device"
   BoardName    "GeForce FX 5200 (0x0322)"
   BusID        "1:0:0"
   Driver       "nvidia"
   Identifier   "Device[0]"
   VendorName   "NVidia"
   Option       "NvAGP" "2"
 EndSection

Compilation on FACTORY

Running the NVIDIA installer on FACTORY fails with undefined symbols problems, so you might need to follow the instructions |in this page to patch the driver sources.

Application freeze or crash when compositing/3D effects enabled

You have set Option "Composite" "Enable" in /etc/X11/xorg.conf to enjoy your eye candy or 3D desktop, but you see some applications crash or freeze?

Try to temporarily disable compositing with Option "Composite" "Disable" and restart your X server (please explain how it's done).

Do these applications now not crash or freeze any longer? If the answer is yes, your compositing is unstable.

There is a solution. nVidia drivers after 169.xx introduced a new option named UseCompositeWrapper. Put it in the device section of your xorg.conf: Option "UseCompositeWrapper" "true" and enable compositing again. Restart your X server. Your applications should now not freeze or crash any longer.

TwinView Resolution Issues

Sometimes, when configuring dual monitors by using nvidia-settings, there is no option to choose a resolution above 640x480 for a second monitor. This is caused by the default HorizSync for the monitor settings in /etc/X11/xorg.conf.

To increase the low resolution monitor, you will need to increase the HorizSync in order to enable a higher resolution on that particular monitor. To make this possible, perform the following actions:

1. From within nvidia-settings, set the resolution of the monitor in question to the highest available resolution. eg: 640x480. Make sure not to change it to Auto. This will help you identify the correct monitor when editing your /etc/X11/xorg.conf file. Save to xorg.conf and exit.

2. Open /etc/X11/xorg.conf and find the following section (minor details will vary slightly):

 Section "Screen"
   Monitor "Monitor0"
   Option  "metamode" "CRT: 640x680 +1280+0, DFP: 1280x1024 +0+0"
 EndSection

3. Change the resolution to the desired resolution.

4. Locate the corresponding monitor section (details will vary slightly):

 Section "Monitor"
   Identifier "Monitor0"
   HorizSync   28.0 - 33.0
 EndSection

5. Increase the HorizSync right-hand value to 65.0 (or higher if monitor still doesn't work after restarting X)

6. Save the file and restart X server.

7. If the second monitor still does not display, repeat Steps 4 through 7, making HorizSync more than 65.0

OpenGL applications won't run on non-SSE capable CPUs

If you see this message when trying to run OpenGL applications, then you probably have a CPU that does not support SSE (e.g. Athlon Thunderbird):

NVIDIA OpenGL Driver requires CPUs with SSE to run.

The current CPU does not support SSE.

NVidia have released beta driver 173.14.15 that does support CPUs without SSE. See http://www.nvnews.net/vbulletin/showthread.php?t=122423 for the announcement. Downloads are available for Linux/x86 and Linux/x86-64.

Screen Rotation

If you have monitor with "portrait mode" function. You should edit /etc/X11/xorg.conf to use this feature. Add Option "RandRRotation" "true" string to Device section. And restart X. Now you can rotate your screen.

Example of Device section:

Section "Device"
  BoardName    "GeForce 6800 (0x00C1)"
  Driver       "nvidia"
  Identifier   "Device[0]"
  VendorName   "NVidia"
  Option       "RandRRotation" "true"
EndSection

Example of rotation:

$ xrandr -o left

You can set your screen to left, right, inverted or normal position.

You also can use gui utils like KRandRTray.

NVIDIA Legacy driver 96.43.19 may require nopat option

If X-server fails to start or can't set some resolution on legacy cards and you see the following message:

NVIDIA(0): Failed to allocate/map the primary surface!        

try adding nopat kernel option (in boot options or in grub menu)


NVIDIA drivers no longer working after kernel update

If the NVIDIA drivers were installed on openSUSE 13.2 before the kernel was updated to 3.16.7-13-desktop, the driver may no longer work. The reason for that is known and documented in boo#925437.

The solution is to reinstall the kernel module used.

 zypper in --force `rpm -qa "nvidia-gfx*kmp*"`
 
 Loading repository data...
 Reading installed packages...
 Forcing installation of 'nvidia-gfxG03-kmp-desktop-340.76_k3.16.6_2-36.1.x86_64' from repository 'nVidia Graphics Drivers'.
 Resolving package dependencies...
 
 The following package is going to be reinstalled:
   nvidia-gfxG03-kmp-desktop-340.76_k3.16.6_2-36.1 
 
 1 package to reinstall.
 Overall download size: 3.6 MiB. Already cached: 0 B  No additional space will be used or freed after the operation.
 Continue? [y/n/? shows all options] (y): y
 Retrieving package nvidia-gfxG03-kmp-desktop-340.76_k3.16.6_2-36.1.x86_64     (1/1),   3.6 MiB ( 32.7 MiB unpacked)
 Retrieving: nvidia-gfxG03-kmp-desktop-340.76_k3.16.6_2-36.1.x86_64.rpm ......................................[done]
 Checking for file conflicts: ................................................................................[done]
 (1/1) Installing: nvidia-gfxG03-kmp-desktop-340.76_k3.16.6_2-36.1 ..........................................<100%>[/]

You will see some message about:

 depmod: WARNING: //lib/modules/3.16.7-7-desktop/weak-updates/updates/nvidia.ko disagrees about version of symbol XXXXXX
 Warning: /lib/modules/3.16.7-7-desktop is inconsistent
 Warning: weak-updates symlinks might not be created

The driver should then work again.

NVIDIA's installer complains about libglvnd

If you are updating to Tumbleweed 20170407 or higher you need to un-install the NVIDIA driver first, then remove two orphaned libGL.so.1.2* files once (restored by NVIDIA's installer) and reinstall libglvnd0 package

# nvidia-installer --uninstall
# rm -f /usr/lib*/libGL.so.1.2*
# zypper in --force libglvnd0

Otherwise the installer will complain about a broken libglvnd installation (boo#1034343) and leave behind libGL.so files that will prevent the RPM-install driver from working correctly (boo#1053115 ).

NVIDIA HDMI does not have audio or it is entirely disabled

The NVIDIA package contains a udev rule at /usr/lib/udev/rules.d/90-nvidia-udev-pm-G05.rules which somehow disables HDMI audio because of the lines:

 # Remove NVIDIA Audio devices, if present
 ACTION=="add", SUBSYSTEM=="pci", ATTR{vendor}=="0x10de", ATTR{class}=="0x040300", ATTR{remove}="1"

To fix the issue, just run the following command:

# touch /etc/udev/rules.d/90-nvidia-udev-pm-G05.rules

NVIDIA Power Management(excessive power usage on newer laptops)

To keep the powerusage to a minimum while your Nvidia GPU is not in use you can add the following configuration to /etc/modprobe.d/nvidia-power.conf

options nvidia NVreg_DynamicPowerManagement=0x02

https://download.nvidia.com/XFree86/Linux-x86_64/435.17/README/dynamicpowermanagement.html