Comment 2 for bug 1875528

Revision history for this message
Piotr Gajdowski (p-a-gajdowski) wrote :

Experiencing same problem, in most cases displays that go into sleep modus (or you turn them off and on again) don't remove themselves from the display driver.
But some displays gets removed form the gpu(or xorg, i don't know) display driver and the re-added.
So basically this happens when you displays are re-arranging cause you added or removed a display (either manually or automatically by the display itself).

This problem is viewable in multi-monitor setup, where 1 monitor is programmed to detach himself from the gpu when going to sleep or off, and the other(s) are just turning the screen black, but stay connected to the gpu.

When you turn off you (problem) display, you actually see linux re-arranging windows/applications on the screen(s) that don't detach themselves from the gpu.
Seeing this happen, I came to this conclusion, that some display detach themselves from the gpu when going to sleep, and therefore linux thinks a display is being removed and re-arranges everything.

During this re-arrangement process a duplicate cursor is created and becomes frozen, a new cursor is created and becomes your primary cursor that behaves normally.

possible fix for this is linux resetting all cursors in xorg/gpu driver when completing such re-arrangement process.

I have zero understanding of xorg or gpu driver programming, but i do know that xorg is programmed to be able to have multiple cursors.
So my suspicion is with xorg programming.

I hope this gets fixed, It's really annoying, when you are working and have tons of apps open, you are required to log out and restart your workspace, which can be a hasle and time consuming.