ForceCompositionPipeline causes occasional flickering screen corruption

I’m using GeForce RTX 2080 Ti with 415.18 driver. I have two displays attached, one UHD display via DisplayPort-0, and another 1080p via HDMI-0. Both displays are 60 Hz, no G-Sync. The DP-0 display is the primary one.

When I have ForceCompositionPipeline=On set for both displays, I can see occasional flickering screen corruption on the DP-0 display. It looks like a horizontal stripe of corruption (i.e. a somewhat distorted version of the content that is supposed to be in place of that stripe) across the screen width that appears for like a frame or so and then disappears. The corruption happens at seemingly random times and at random position of the screen height. The stripe may affect multiple windows that happen to be where the corruption appears (i.e. this is not a problem of a particular application).

I don’t have to do anything in particular to trigger the issue, it appears at random, usually after 5-10 minutes after booting into the system. It can be best seen over a web browser window with static content, where there are vertical columns of different colors. The flicker will appear as a momentary change in color of those columns, somewhat similar to tearing effect (it’s not tearing, though).

I’ve seen this effect on the desktop, working with different windowed applications, like a web browser, a text editor, etc. I did not notice it in games, although there is usually a lot of dynamic content there, so the corruption might be difficult to spot. I didn’t watch the secondary (HDMI-0) screen to see if the corruption happens there.

The config looks like this:

Section "Device"
    Identifier "Default nvidia Device"
    Driver "nvidia"
    Option "NoLogo" "True"
    Option "CoolBits" "12"
    Option "TripleBuffer" "True"
    Option "MetaModes" "DP-0: nvidia-auto-select {ForceCompositionPipeline=On}, HDMI-0: nvidia-auto-select {ForceCompositionPipeline=On}"

If I comment out the MetaModes parameter and reboot, I can no longer see the corruption. At least, it haven’t shown in about 30 minutes since a reboot.

During my experiments I tried re-attaching the display to different DP connectors, it didn’t help. I’m pretty sure it’s not a display connection problem.

I’m on Kubuntu 18.10.

nvidia-bug-report.log.gz (1.03 MB)