RTX 3060Ti with 535.x and 545.x causes flickering during video playback

Hello,

I have been seeing this issue for a while now but also noticed several new driver releases addressing various flicker issues and have remained patient in the hope it might end up getting caught with similar fixes. The forum lists a few threads on flickering, but I could not find one that matches my situation. Hence am I creating this thread in the hope it catches some attention.

The flicker starts only after a while (i.e. a minute of video playback) and is very weak. It then gradually increases and gets worse over time. The flicker occurs over the entire screen and seems to be transitioning between a black screen and the video playback. There are no artifacts, damages, or distortions visible.

This flickering occurs only when the video is played back in fullscreen mode and is not dependent on a specific application. It can be seen with VLC, MPV, and Firefox for example.

The flickering stops as soon as the video playback runs in a window. It also stops when the fullscreen playback has another window on top, i.e. with ‘xclock’ running in the top-left corner. When ‘xclock’ is moved to the bottom-right does the flickering reappear. It is as if the flickering only occurs when there are no stable image elements in the top-left of the screen.

The flickering is independent of the cable and occurs over HDMI and DisplayPort.

The flickering does depend on the monitor type. An older 1920x1080@60Hz monitor does not show the flickering. A newer widescreen monitor with 2560x1080@60Hz or @75Hz shows it. At 60Hz is the flickering worse than at 75Hz.

There is no flickering under Windows 11 and I have not seen it with any of the previous Nvidia drivers for Windows nor with either of the monitors.

There is no flickering with Nvidia drivers under Linux up to and including 525.x. The issue starts with the Linux driver 535.x.

The graphics card is a RTX 3060Ti.

Hope this makes any sense. I have been blaming the flicker initially on the new monitor, but a replacement monitor showed the same problem. So I started testing it and tried to figure out when and how it occurs. It is a strange one and not easy to reproduce.
nv-out-good-525.gz (348.7 KB)
nv-out-flicker-535.out.gz (373.9 KB)

Which DE/WM are you using?
Please run nvidia-bug-report.sh as root and attach the resulting nvidia-bug-report.log.gz file to your post.

I have attached a log for both 525.x (good) and 535.x (flicker).

The flicker occurs both under Xfce and Gnome. Once the flickering starts can I logout and switch the window manager, and the flickering persists with either window manager.

It further does not depend on whether I use kernel 6.5, 6.6 or 6.7, and it may have been present with older kernels, too. The compiler, gcc or clang, also makes no difference.

The two main distinctions I can make and reproduce are:

  1. Driver 525.x (no flicker) vs. 535.x or 545.x (flicker)
  2. Older 1920x1080@60Hz ASUS monitor (no flicker) vs. 2560x1080@75Hz or @60Hz LG monitor (flicker)

After doing a brief comparison of the logs, which have countless differences, does one stand out immediately:

nv-out-good-525.gz: Video Memory Self Refresh: Supported
nv-out-flicker-535.out.gz: Video Memory Self Refresh: Not Supported

Hope this helps further.

Edit:
Checking the log of driver 545.x & 550.x (beta) and these, too, report video memory self refresh as unsupported. Both show a flickering after 1-2 minutes of video playback in fullscreen mode.

The flicker seems to have been fixed for many with 545, but not here. MSI 4060 Ti Gaming X, driver 545.29.06, kernel 5.15.0-92-generic, HP 1440p screen @60 Hz, connected with DP. It was a flicker feast on 535 as well, on 525 never any. Mint/Cinnamon as the DE.

So far I’ve only seen a black bar flicker at the top of the screen. With 535 the windows flickered too randomly at times. Let’s see how it behaves in the long run.

Update:

Tested it today with 550.54.14 (beta) and am still seeing the same fullscreen flickering during video playback. The latest driver reports video memory self refresh as unsupported (525 reports it as supported).
nv-out-flicker-550.out.gz (353.3 KB)

Hi @sdack @marq
It is unfortunate that you are still seeing the issue with recent released drivers as most of the users on another threads confirmed that issue is fixed.
Rest assured that I will try to match hardware and repro steps as close as possible for local repro attempt and triage issue based upon shared logs.
I have also filed a bug 4514052 internally for tracking purpose.

I did not get repro so far on below setup with multiple combinations of displays. I ran a video using MPV player for almost couple of hours but did not observe flickering.

OMEN by HP 25L Gaming Desktop GT15-0xxx + AMD Ryzen 7 5700G with Radeon Graphics + Ubuntu 22.04.3 LTS + kernel 6.7.6 + NVIDIA GeForce RTX 3080 + Driver 550.54.14

  1. Asustek Computer Inc PG27AQDM + Display resolution 2560 x 1440 + Refresh rate as 60 Hz

  2. Asustek Computer Inc PG38UQ + Display resolution 2560 x 1440 + Refresh rate as 60 Hz

  3. ASUS XG349C with 2560 x 1440 and refresh rate as 144 Hz

Could you please share repro video and exact display model for reference.

CPU: AMD Ryzen 7 3800X
Board: ASUS TUF B550-PLUS, BIOS 3202 06/15/2023
RAM: Corsair 32GB DDR4-3600
GPU: ASUS DUAL MINI OC RTX 3060Ti 8GB
Monitor: LG 29WP60G-B 29p IPS WFHD

Hi @sdack
I can see flickering on dual monitor setup even though there is no video running on the system.
Display 1 - Asustek Computer Inc PG38UQ with resolution 3840 x 2160 and refresh rate 144Hz via HDMI 2.1 cable

Dispaly 2 - Asus VG279QM with resolution 1920 x 1080 and refresh rate 60 Hz via DP

I am attaching video for reference, could you please confirm if it’s the same flickering you are seeing in your setup and can be qualified as local repro.

I do not see a flickering in your video (using 525), but it does not mean I do not believe you. It might be your mobile phone that simply did not capture it.

The flickering I see with 535 and 545 starts very weak and gets stronger over time and it is the entire display that flickers at a steady frequency (perhaps somewhere around 10Hz-20Hz).

I am sticking to 525 for now as I do not have a problem with the driver and I have no urgent need to upgrade for now.

Hi @sdack
I am seeing different behavior locally where whole screen becomes blank for fraction on seconds even though when there is nothing running on it.
However, you only see flickering on part of screen only when playback video is running.
I am still trying to get local repro similar to reported behavior.

That is not quite right. The flickering I see is always across the entire screen and with fullscreen mode. It does not flicker when a video is played back inside a window (not covering the whole screen). I assume when a video player switches to fullscreen mode they are using Vulkan to avoid the window manager and thereby trigger this behaviour.

When you say you have found a case where the whole screen flickers then this is good news. It could already be it. Have to see whether a future driver fixes it.

Hi @sdack
Could you be able to share repro video.

I have been trying to record a video, but I just do not have the resources to do this properly. The camera I have uses a rolling shutter and I would need a global shutter to record the flickering. I also suspect the video compression reduces some of the flickering, too. The best I can give you is a video where one can make out a slight flicker in the top-left corner. I switch between fullscreen- and windowed-mode to show a difference. In fullscreen-mode one can see the top-left corner flickering. In windowed-mode it disappears. However, the flickering occurs over the entire screen, is uniform and steady.

The flickering corner starts to show at 1:15. Some of the flickering seems to cause the video’s brightness to pulse a bit (see the part with the bird), but this is at best a hint at what one can truly see. Again, it is a camera with a rolling shutter, which absorbs most of the flicker, sadly.

Uploading here does not work. I have put it on Dropbox:

I have changed my recording method and switched to Motion JPEG for recording. It is still not a perfect replication of what one can truly see, but it is more noticeable this way. At around 1:30 can one see how the entire screen starts to pulse because of the flickering. At around 4:00 does it go down, only to pick up again a minute later.

Thank you for sharing the video, but unfortunately, it is still unnoticeable to me.
I will continue to get local repro with different combination of monitors and update.

Did you watch the video at around 2:10? The entire screen pulses as a result of the flickering. When I switched from fullscreen- to windowed-mode does it stop. I have switched back again a few times. If you sit back you can see the image pulsate.

I can see some pulsating issue but it looks like specific to display model.
I am checking internally for similar display for internal repro attempt.

It is not the display that is pulsating. The display is flickering. It only appears in the video as pulsating, because the camera I have only records at 30fps and the display runs at 60fps. I have no camera fast enough to record at 60fps.

Hi @sdack
I just wanted to update that I did not get repro with wide display LG ULTRAGEAR 45GR95QE with resolution 1920 x 1080 at 60 Hz after running youtube using firefox browser in full screen mode since an hour.
Shall spend few more cycles on it.
Gigabyte Z170X-GamingG1 + Debian GNU/Linux 12 + kernel 6.1.0-21-amd64 + NVIDIA GeForce RTX 4070 Ti + Driver 550.54.14 + GNOME DE + Display connected via DP cable