Black flashing in parts of UI

Hi,

running on Fedora 39, default setting/window manager and NVIDIA graphic drivers. For a couple of months now, I noticed vanishing of UI components in some program windows; looks like they are overlayed with black frames or they vanish alltogether. Just to reappear a second later.

First I only noticed it in “Into the breach” were some parts of the game flicker. Windowing the UI and re-entering fullscreen fixes it for a couple of seconds.
Later, I wanted to use Teamviewer and here the black frame thing ocured
And yesterday I also started to notice it in FreeCad. The 3D View works as expected, the rest fails

(Just to be clear, I didn’t use these programs for quite some time. It is most likely that these issues started to appear at the same time and I simply didn’t notice)

How can I debug this issue? Who would be to blame for that? For other reasons, I have to stick to the closed-source NVIDIA drivers, so changing that is not an option.

Thx.

Please give us a bit more info. The output of inxi -Fzxx and dnf list installed \*nvidia\* would be a good start. Please post those with copy & paste from your screen using the preformatted text tags with the </> button.

Sure!

inxi -Fzxx
System:
  Kernel: 6.6.11-200.fc39.x86_64 arch: x86_64 bits: 64 compiler: gcc
    v: 2.40-13.fc39 Desktop: GNOME v: 45.3 tk: GTK v: 3.24.39 wm: gnome-shell
    dm: GDM Distro: Fedora release 39 (Thirty Nine)
Machine:
  Type: Desktop Mobo: Micro-Star model: B350 PC MATE (MS-7A34) v: 2.0
    serial: <superuser required> UEFI-[Legacy]: American Megatrends v: A.G0
    date: 09/27/2018
CPU:
  Info: 8-core model: AMD Ryzen 7 1700X bits: 64 type: MT MCP arch: Zen rev: 1
    cache: L1: 768 KiB L2: 4 MiB L3: 16 MiB
  Speed (MHz): avg: 2193 high: 2200 min/max: 2200/3400 boost: enabled cores:
    1: 2200 2: 2200 3: 2200 4: 2200 5: 2198 6: 2199 7: 2095 8: 2200 9: 2200
    10: 2200 11: 2200 12: 2200 13: 2200 14: 2200 15: 2200 16: 2200
    bogomips: 108786
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
Graphics:
  Device-1: NVIDIA GP104 [GeForce GTX 1070] vendor: ZOTAC driver: nvidia
    v: 545.29.06 arch: Pascal pcie: speed: 2.5 GT/s lanes: 16 ports:
    active: none off: HDMI-A-1 empty: DP-1, DP-2, DP-3, DVI-D-1
    bus-ID: 20:00.0 chip-ID: 10de:1b81
  Display: wayland server: X.org v: 1.20.14 with: Xwayland v: 23.2.4
    compositor: gnome-shell driver: X: loaded: modesetting unloaded: fbdev,vesa
    dri: nouveau gpu: nvidia,nvidia-nvswitch display-ID: 0
  Monitor-1: HDMI-A-1 model: Samsung S34J55x res: 3440x1440 dpi: 110
    diag: 864mm (34")
  API: OpenGL v: 4.6.0 vendor: nvidia v: 545.29.06 glx-v: 1.4
    direct-render: yes renderer: NVIDIA GeForce GTX 1070/PCIe/SSE2
    display-ID: :0.0
  API: EGL Message: EGL data requires eglinfo. Check --recommends.
Audio:
  Device-1: NVIDIA GP104 High Definition Audio vendor: ZOTAC
    driver: snd_hda_intel v: kernel pcie: speed: 8 GT/s lanes: 16
    bus-ID: 20:00.1 chip-ID: 10de:10f0
  Device-2: Yamaha [] driver: snd-usb-audio type: USB rev: 2.0
    speed: 480 Mb/s lanes: 1 bus-ID: 1-3:2 chip-ID: 0499:1509
  API: ALSA v: k6.6.11-200.fc39.x86_64 status: kernel-api
  Server-1: PipeWire v: 1.0.1 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
    4: pw-jack type: plugin
---
Sensors:
  System Temperatures: cpu: 27.5 C mobo: N/A
  Fan Speeds (rpm): fan-1: 491
Info:
  Processes: 685 Uptime: 3m Memory: total: 64 GiB note: est.
  available: 62.75 GiB used: 4.74 GiB (7.6%) Init: systemd v: 254
  target: graphical (5) default: graphical Compilers: gcc: 13.2.1 Packages:
  pm: rpm pkgs: N/A note: see --rpm pm: flatpak pkgs: 48 Shell: Bash v: 5.2.21
  running-in: gnome-terminal inxi: 3.3.31

and the installed NVIDIA part

dnf list installed \*nvidia\*
akmod-nvidia.x86_64                                               3:545.29.06-2.fc39                         @rpmfusion-nonfree-updates
kmod-nvidia-6.6.11-100.fc38.x86_64.x86_64                         3:545.29.06-2.fc38                         @@commandline             
kmod-nvidia-6.6.11-200.fc39.x86_64.x86_64                         3:545.29.06-2.fc39                         @@commandline             
kmod-nvidia-6.6.6-100.fc38.x86_64.x86_64                          3:545.29.06-1.fc38                         @@commandline             
kmod-nvidia-6.6.8-100.fc38.x86_64.x86_64                          3:545.29.06-2.fc38                         @@commandline             
nvidia-gpu-firmware.noarch                                        20231211-1.fc39                            @updates                  
nvidia-modprobe.x86_64                                            3:545.29.06-1.fc39                         @rpmfusion-nonfree-updates
nvidia-settings.x86_64                                            3:545.29.06-1.fc39                         @rpmfusion-nonfree-updates
xorg-x11-drv-nvidia.x86_64                                        3:545.29.06-2.fc39                         @rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-cuda-libs.x86_64                              3:545.29.06-2.fc39                         @rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-kmodsrc.x86_64                                3:545.29.06-2.fc39                         @rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-libs.i686                                     3:545.29.06-2.fc39                         @rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-libs.x86_64                                   3:545.29.06-2.fc39                         @rpmfusion-nonfree-updates
xorg-x11-drv-nvidia-power.x86_64                                  3:545.29.06-2.fc39                         @rpmfusion-nonfree-updates

And for the sake of completeness, not all programs are affected. Firefox for example works normal …

Just so you are aware.
Both the kernel and the nvidia drivers have received updates since your last update according to the versions you posted. The latest kernel from fedora updates is 6.7.3 and the nvidia driver is 545.29.06-3

Please run sudo dnf upgrade --refresh to update everything then wait at least 5 minutes before rebooting.

Kernel and driver updates may solve the issues you are seeing.

I am not sure why you are seeing those glitches since I have a system with a GTX 1050 and have never had problems with video.

FreeCAD seems now only available as an AppImage and should not be affected. Steam games may be if steam is not fully updated and I cannot speak to teamviewer.

From what repo did you install steam? Hopefully from the rpmfusion-nonfree-steam repo.

For me similar issues occur (brave/chrome affected, firefox not). Switching from Wayland to X (not ideal) did resolve it, because there seems to be an issue with the nvidia driver when powermizer is not set to maximum that causes tearing/poor repainting on some programs (and steam).

Unfortunately nvidia-settings with Wayland does not allow you (unless someone knows a workaround) to change powermizer settings for the driver, and I haven’t been able to find a CLI alternative for it.
I’m 545.29.06, kernel 6.6.11-200.fc39.x86_64, so the above referred update may help, I can’t update my machine for now.

Hi @computersavvy , regarding the update: I noticed that after my summary post, performed the update but the problem remains. Freecad was installed via FlatPak, I also tried the AppImage, it suffers from the same errors.

@vsert thx for your summary. How did you come to the conclusion that powermizer is the issue here?

@greedence Searching nvdia+tearing+wayland lead to github issues on some affected software where eventually that option was listed (for X).

There’s another workaround listed of forcing the compositing pipeline.

The issues is that those options are not exposed in nvidia-settings with wayland. From there it was a matter of switching at login in GDM to Classic Gnome +X, and switching the GPU power settings, any issues were instantly resolved.

I didn’t have this on Fedora 38 with a 400 series driver.

The above isn’t conclusive evidence, but for me it resolved the situation so I can finish a few key projects on this machine (not possible to update drivers). I’m hoping that soon nvidia-settings will become full featured on Wayland, and/or the drivers are updated.

For me the following was affected (tearing/flickering/black patches of not updated subsections of screen)

  • Any electron app (VSCode, Signal, …)
  • Steam (with and without Proton experimental)
  • Any Chromium based (see Electron) app

Not affected

  • Firefox, terminal
    Changing nvidia module options did not help

If you can’t switch to X, try between windowed vs fullscreen, that seemed to mitigate some of the effects (for me).

Also check dmesg for nvidia messages on syncing.

Hope this helps

Edit
My current theory is that the power settings with the current driver are too aggressive, allowing the GPU to not update the screen when it should, leading to artifacts/tearing, but again, it’s a guess, I’m not an expert in drivers and can’t really spend a lot of time doing in depth resolution of this due to deadlines.

I’ve got the same issue on a GT 1030. I think it’s related to this issue, though I’m not certain. A few months back on F38 this problem manifested as “displaying the wrong frame” (as in, an earlier frame), but after upgrading to F39 it just shows a black flash. This affects some apps running in XWayland (for me specifically this was OpenToonz/Tahoma2D and Substance Painter).

The only “fix” that works for me is either:

  1. Switch to X
  2. Use Nouveau

(At least I think Nouveau worked, It’s been a while so I’m not sure)

Yeah, the seeing the wrong frame thing happened to me as well, especially in Steam + Proton, e.g. you’d see a frame sequence
1 2 3 2 3 4 3 …

Have you tried changing the nvidia-settings powerprofile @im-crying-qwq ?

Anyone knows if that can be done with e.g. nvidia-smi on CLI with Wayland?

I’ve tried changing it on Xorg, then switching to Wayland but nothing changed.

Thank you all for contributing to that issue. To sum it up, one is at the mercy of NVIDIA to fix this bug (why a window manager can control the power mgmt of a graphics card is beyond me; but it is what it is …)

Will try to switch to X

@greedence it’s not really the window manager’s fault, but Nvidia’s for not supporting Wayland with nvidia-settings.
You can voice your support for making it work here

As to the actual bug/cause, that’s harder to narrow down, and probably (I hope) resolved and backported to the driver.