Mouse cursor ghosting on GTX 10XX(Pascal) - others might be affected too

This issue affects NVIDIA drivers 375.82 as well.

I can confirm that {ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}
is also causing intermittent cursor ghosting on GTX 1050ti (Driver 384.69).

EDIT: Found the library causing this.
Forcing the CompositionPipeline switches libEGL.so.1 to libEGL.so.384-69.so.1
You can test this by creating a symlink to libEGL.so.384-69.so.1 (and reboot)

To Reproduce ghosting without waiting for the intermittent cursor issue:
Create a black canvas in GIMP.
Drag around a white square.
libEGL.so.384-69.so.1 will leave trails.
libEGL.so.1 will not.

EVGA GTX 1050ti (Nvidia 384.69 driver)
MSI B350M Mortar
Ryzen 3 1200
Ubuntu 16.04 / LXQt (Compton)
Linux Kernel 4.10.0-33

I can also confirm that disabling MSI (message signalled interrupts) in the NVidia driver fixes this ghosting cursor problem, and other problems on my system, but performance (fps) drops significantly.

https://devtalk.nvidia.com/default/topic/1024086/?comment=5209932

So it seems that the problem is between MSI and the NVidia libEGL binaries that are used when forcing the composition pipeline (see above comment).

The problem might be upstream in the linux kernel, not the NVidia binaries. MSI is default enabled only in recent kernels.

That would explain the low priority bug status for this.

EVGA GTX 1050ti (Nvidia 384.69 driver)
B350M Mortar
Ryzen 3 1200
Ubuntu 16.04 / LXQt (Compton)
Linux Kernel 4.10.0-33

@dcerisano

Thank you for your investigation!

In my case however EGL or not, doesn’t matter because I get mouse ghosting in a plain X11 session without using any fancy things like compositing/OpenGL/EGL.

It’s true however that I have MSI enabled, as well as

Option          "metamodes" "nvidia-auto-select +0+0 {ForceCompositionPipeline=On, ForceFullCompositionPipeline=On}"

I really doubt that.

If you have the ForceCompositionPipeline options turned on then you are now using NVidia’s EGL libraries.

Did you try turning MSI off? While that fixes the ghosting problems, it unfortunately degrades performance quite severely.

Interestingly, just today I got auto-updates to both my nVidia driver and also my linux kernel.

I have turned MSI and ForceCompositionPipeline options back on, and the ghosting has yet to reappear!

Even if it is patched, I cannot tell whether it was the driver or the kernel update (or both) that would have accomplished it.

Anyway, there is no doubt that this is the way to go - smooth as glass and several times less CPU usage in my desktop environment (lxqt/compton) when doing simple things like dragging windows around. No video tearing or any other artifacting either. It also is outperforming Windows 10 in several benchmarks, which is the whole point of this exercise.

Maybe this thread of yours lit a fire under a chair somewhere!

Lucky you.

I’m running 4.13.4 and the latest nvidia drivers and everything is the same.

These are the exact versions I am using that do not exhibit ghosting with the composition pipeline turned on.
(edit: several days now and still stable, which is instilling great confidence it is patched)

distro: Ubuntu 16.04.3 LTS
kernel: 4.10.0-35-generic
driver: nvidia-384.90

Again, I am going to suggest this is a versioning issue involving the kernel. I would expect distros using other kernels to get the patch in short order.

I shall have a look at what other packages were updated over the past week that could have patched this issue.

This is still reproducible with NVIDIA drivers 415.25 under Fedora 29. Sigh.

Here’s another video:

http://sendvid.com/irs7ttnh

Looks really disgusting …

I think I’m seeing this since I enabled

Option      "UseNvKmsCompositionPipeline" "false"

in addition to

Option      "metamodes" "nvidia-auto-select +0+0 {ForceCompositionPipeline=On}"

which I had enabled for some months now without seeing any ghosts before.

As the video suggests I was using lc0 with its cudnn backend at the time.
nvidia-bug-report.log.gz (949 KB)

After removing

Option      "UseNvKmsCompositionPipeline" "false"

I no longer see any cursor ghosts.

Have you already checked your power consumption with this option turned off?

Yeah, I know what it was good for, but

$ nvidia-smi
Fri Jan 11 19:18:21 2019       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 410.93       Driver Version: 410.93       CUDA Version: 10.0     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 106...  Off  | 00000000:01:00.0  On |                  N/A |
|  0%   37C    P8    10W / 200W |    237MiB /  6055MiB |     22%      Default |
+-------------------------------+----------------------+----------------------+

seems ok. This is a desktop. The high volatile GPU utilization is because the card clocked down.

It should also give the nvidia people a hint which code paths produce these ghosts – if they care at all.