DisplayPort DSC 4K@240Hz flickering artifacts

Hi guys,

I’ve just switched to a Gigabyte AORUS FO32U2 monitor and drive it at 3840x2160@240Hz via a DisplayPort of my Gigabyte RTX4080 Super Windforce V2 16G GV-N408SWF3V2-16GD card.

Flickering artifacts appear at the bottom of my screen quite frequently:

Flickering subsides in several seconds and occurs in several applications that use the Chrome rendering engine, including Electron applications, including Chrome, Visual Studio Code, Steam, and some others.

Several related threads that I found:

According to these threads, flickering is DSC and high refresh rate related.

I’m using the 550.78 nvidia driver on Linux Mint 21.3

Based on the referenced threads, this is a longstanding issue, yet, it’s unfixed. I’m considering returning my monitor and purchasing its bigger brother, the FO32U2P, hoping that its DisplayPort 2.1 port will not be affected by this issue when driven by an RTX 50xx card that is rumored to support DisplayPort 2.1

Any way to fix this issue, or is there an ETA?

Thanks in advance!
Laci

nvidia-bug-report.log.gz (857.2 KB)

@laci1

Thanks for the report, this is being tracked with bug 4676203.

The issues that you linked were reported on Windows, and have different visual symptoms compared to your video. Do you have access to a Windows install to try it there? If you have access to a different DP cable, I would also be curious to know if the issue continues to reproduce after you swap them.

I’ve also tried the DisplayPort cable shipped with the monitor, but the issue persisted.

I should also mention that the issue is only present when the refresh rate is more than 144Hz in 4K.

I don’t have Windows. Would it be possible to install it on a flash drive? I can give it a shot if it helps.

@laci1

Comparing with Windows could be helpful, as it could help narrow down what layer the failure is in, and if the issue is in fact related to the ones that you linked. However, if you don’t have it readily available, I wouldn’t expect you to install it just to test. There may be an easier path…

It turns out that Linux 555.52.04 Beta contains a fix for the issues that you linked. Would you mind giving it a try? This may be a different issue, but worth a shot to confirm.

So far, I couldn’t install Linux 555.52.04 Beta. After running sudo apt remove nvidia-driver-550 xserver-xorg-video-nvidia-550, I rebooted with the nouveau.blacklist=1 kernel option. Then I ran export CC=/usr/bin/x86_64-linux-gnu-gcc-12 NVIDIA-Linux-x86_64-555.52.04.run which resulted in:

ERROR: Unable to load the kernel module ‘nvidia-modeset.ko’. This happens most frequently when this kernel module was built against the wrong or improperly configured kernel sources, with a version of gcc that differs from the one used to build the target kernel, or if another driver, such as nouveau, is present and prevents the NVIDIA kernel module from obtaining ownership of the NVIDIA device(s), or no NVIDIA device installed in this system is supported by this NVIDIA Linux graphics driver release.

nvidia-installer.log (40.2 KB)

Q1: How to install the driver?

Q2: Which Linux 555.52.04 Beta changelog entry covers this bug?

  • Fixed a segmentation fault when running multi-threaded NvFBC applications.
  • Temporarily disabled the GLX_EXT_buffer_age extension on Xwayland to work around a bug that could cause corruption.
  • Fixed a bug that could cause corruption when the GLX_EXT_buffer_age extension is used on X.org with PRIME render offloading.
  • Fixed a bug that could cause the X server to crash when graphics applications requested single-buffered drawables while certain features (such as Vulkan sharpening) are enabled.
  • Fixed a bug that could lead to a kernel panic, due to a failure to release a spinlock under some conditions.
  • Fixed a race condition which could lead to crashes when Xid errors occur concurrently on multiple GPUs.

Q1) It looks like the uninstallation of nvidia-modeset.ko was incomplete:

[   85.825260] nvidia-modeset: Version mismatch: nvidia.ko(555.52.04) nvidia-modeset.ko(550.78)
[   85.910308] NVRM: API mismatch: the client has the version 550.78, but
               NVRM: this kernel module has the version 555.52.04.  Please
               NVRM: make sure that this kernel module and all NVIDIA driver
               NVRM: components have the same version.

Maybe it’s still registered with DKMS? Check /var/lib/dkms/nvidia/* and /usr/lib/modules/`uname -r`/updates/dkms/* . If you can wait a little while, an Ubuntu package should be available which would be easier to deal with.

Q2) The Linux changelog addresses issues that were reported and fixed on Linux. The fix for the issue you linked was in response to a bug reported on Windows, but is in shared code that should apply to Linux as well.

I’d appreciate it very much! Do you have a rough ETA? And for which driver version? I’m asking because I haven’t found a PPA for the 555 version.

I’ve installed 555.52.04 from this PPA, and the issue persists.

I’ll buy an SSD, install Windows on it, and test whether I can reproduce this issue.

In the meantime, if you have further Linux-related suggestions, please let me know.