545.29.02 introduced sporadic flickering, especially visible during typing

Hi! After upgrading from 535.113.01 driver to 545.29.02, I started noticing very annoying flickering, especially visible during typing in text editors or terminal. It looks as if display jumps several frames back for a moment.

I’ve recorded a video showcasing this effect: https://www.youtube.com/watch?v=h1yU2Ue5Oxk
For comparison, here’s how it looks without the regression (on 535.113.01 driver): https://www.youtube.com/watch?v=At6lyLi-3N8

I’ve tested the latest beta driver (550.40.07) - it also exhibits the same issue.
Nvidia open-source drivers also have this regression. Unfortunately all changes between 535 and 545 arrived in one huge commit, so I wasn’t able to bisect the problem further.

Not all applications seem to be affected by this problem. Apps using OpenGL for rendering seem to be unaffected (glxgears, VLC, Firefox, etc).
Mouse cursor movement is also not affected.
Interestingly, starting a screen recording (I used Kazam) supresses the flickering almost completely. I’ve managed to detect several instances of flickering even when doing the screen recording, but they weren’t present in the screen recording output.

Attaching the nvidia-bug-report.log. I hope it contains the necessary system info, but please don’t hesitate to ask for any additional info if needed.
nvidia-bug-report.log.gz (1.0 MB)

Looks like you’re on Xorg without compositor. Which WM are you using?

I’m using Xmonad.
Indeed, I’m not running a compositor.

I have the same issue on openSUSE Tumbleweed with nvidia driver 550.67.
Using KDE 6 / kwin window manager, compositor is enabled as far as I can tell.

0000:00:02.0 VGA compatible controller: Intel Corporation TigerLake-LP GT2 [Iris Xe Graphics] (rev 01)
0000:01:00.0 3D controller: NVIDIA Corporation TU117M [GeForce GTX 1650 Mobile / Max-Q] (rev a1)

qdbus6 org.kde.KWin /Compositor

property read bool org.kde.kwin.Compositing.active
property read QString org.kde.kwin.Compositing.compositingNotPossibleReason
property read bool org.kde.kwin.Compositing.compositingPossible
property read QString org.kde.kwin.Compositing.compositingType
property read bool org.kde.kwin.Compositing.openGLIsBroken
property read bool org.kde.kwin.Compositing.platformRequiresCompositing
property read QStringList org.kde.kwin.Compositing.supportedOpenGLPlatformInterfaces
signal void org.kde.kwin.Compositing.compositingToggled(bool active)
signal void org.freedesktop.DBus.Properties.PropertiesChanged(QString interface_name, QVariantMap changed_properties, QStringList invalidated_properties)
method QDBusVariant org.freedesktop.DBus.Properties.Get(QString interface_name, QString property_name)
method QVariantMap org.freedesktop.DBus.Properties.GetAll(QString interface_name)
method void org.freedesktop.DBus.Properties.Set(QString interface_name, QString property_name, QDBusVariant value)
method QString org.freedesktop.DBus.Introspectable.Introspect()
method QString org.freedesktop.DBus.Peer.GetMachineId()
method void org.freedesktop.DBus.Peer.Ping()

Tested 550.67 on my machine, flickering is still present (feels like it’s a bit less frequent, but is definitely still there).

Running a compositor (xcompmgr) has no effect.

Previously I assumed only “simple” applications exhibited this problem, and GPU-accelerated ones don’t (OpenGL, etc). However on 550.67 I noticed flickering even on Alacritty (GPU-accelerated terminal emulator).

535.171.04 (latest from the 535 branch) works without issues. And thankfully it still compiles on the latest kernels (I have Linux 6.8.5 currently, which broke compilation of 535.113.01 drivers.