Nvidia Delayed Frame Bug

From JoBaPedia
Jump to navigation Jump to search

Nvidia Delayed Frames Bug

Since quite some time (over a year) I have massive problems with native Nvidia drivers for my 1650 super on OpenSuse Tumbleweed.

Currently I run Gnome on Wayland.

Symptom is in many applications graphics do not work properly:

  • Chrome (and many other apps, like yast or my own chordsplay tk app) has delayed frames: On user action the gui is not updated or not fully updated. A mouse click somewhere in the window can cause a redraw most of the time.
  • VLC videos start stuttering and displaying frames in the wrong sequence. Can be helped by selecting Tools/Settings/Video/Output: XVideooutput (XCB)

Record configuration / status

  • X environment
job4:~ > env | egrep 'XDG_SESSION|XDG_CURRENT'
XDG_SESSION_DESKTOP=gnome
XDG_SESSION_TYPE=wayland
XDG_CURRENT_DESKTOP=GNOME
joachim  20208  0.6  1.8 4900652 606332 ?      Rsl  Jan09 111:28  \_ /usr/bin/gnome-shell
joachim  20700  0.3  0.8 485688 291376 ?       S    Jan09  69:30  |   \_ /usr/bin/Xwayland :0 -rootless -noreset -accessx -core -auth 
/run/user/1000/.mutter-Xwaylandauth.ANUYG2 -listenfd 4 -listenfd 5 -displayfd 6 -initfd 7 -byteswappedclients -enable-ei-portal
joachim  20868  0.0  0.4 1036228 163916 ?      Sl   Jan09   0:22  |   \_ /usr/libexec/mutter-x11-frames
  • Kernel Commandline
job4:~ > cat /proc/cmdline 
BOOT_IMAGE=/boot/vmlinuz-6.6.3-1-default root=/dev/mapper/sys15-root resume=/dev/sys15/swap showopts iommu=pt nosimplefb=1
  • X configuration
job4:~ > cat /etc/X11/xorg.conf
# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig:  version 535.104.05

Section "ServerLayout"
   Identifier     "Layout0"
   Screen      0  "Screen0"
   InputDevice    "Keyboard0" "CoreKeyboard"
   InputDevice    "Mouse0" "CorePointer"
EndSection

Section "Files"
EndSection

Section "InputDevice"
   # generated from data in "/etc/sysconfig/mouse"
   Identifier     "Mouse0"
   Driver         "mouse"
   Option         "Protocol" "IMPS/2"
   Option         "Device" "/dev/input/mice"
   Option         "Emulate3Buttons" "yes"
   Option         "ZAxisMapping" "4 5"
EndSection

Section "InputDevice"
   # generated from default
   Identifier     "Keyboard0"
   Driver         "kbd"
EndSection

Section "Monitor"
   Identifier     "Monitor0"
   VendorName     "Unknown"
   ModelName      "Unknown"
   Option         "DPMS"
EndSection

Section "Device"
   Identifier     "Device0"
   Driver         "nvidia"
   VendorName     "NVIDIA Corporation"
EndSection

Section "Screen"
   Identifier     "Screen0"
   Device         "Device0"
   Monitor        "Monitor0"
   DefaultDepth    24
   SubSection     "Display"
       Depth       24
   EndSubSection
EndSection

== Xorg works

  • select "Gnome on Xorg" during session login
job4:~ > env | egrep 'XDG_SESSION|XDG_CURRENT'
XDG_SESSION_DESKTOP=gnome-xorg
XDG_SESSION_TYPE=x11
XDG_CURRENT_DESKTOP=GNOME

It is important to not have environment variable `QT_QPA_PLATFORM=wayland` set It could be set in many places (service files, user profiles, ...)

/etc/profile
/ect/profile.d/
/etc/bashrc.*
~/.bashrc
~/.profile
~/.config/environment.d/
/etc/systemd/user.conf
/etc/systemd/system/user*/
/etc/systemd/user.conf
/usr/lib/systemd/
/etc/systemd/

After removing the variable from .bashrc I had to reboot to get rid of it. Logout/login was not enough.

Check with `systemctl --user show-environment` (what's the difference to env?)