Bug 395306

Summary: AMD GPUs changed screen wakeup behavior, kde assumes old behavior
Product: [Plasma] plasmashell Reporter: Mariusz Mazur <mariusz.g.mazur>
Component: generic-multiscreenAssignee: Aleix Pol <aleixpol>
Status: RESOLVED NOT A BUG    
Severity: normal CC: plasma-bugs
Priority: NOR    
Version: 5.12.4   
Target Milestone: 1.0   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description Mariusz Mazur 2018-06-13 08:04:44 UTC
Full explanation of the issue here: https://bugs.freedesktop.org/show_bug.cgi?id=106529
Short version: when using recent amd gpus with recent kernels, the behavior when waking up monitors is to (I suppose) mark them as disconnected until they fully wake up. This is a serious problem for multi-monitor setups, since if the primary monitor wakes up more slowly then any of the secondaries, then plasma will for a few hundred ms switch the primary desktop to one of the secondary monitors, then switch back when the actual primary monitor wakes up.
This looks like crap and tends to misbehave regularly (windows change their position, plasmoids occasionally get misplaced).

Since the kernel bug report got ignored for the past month, I must assume that's just how amdgpu driver will behave going forward. Which means the only place that can mitigate the issue is the DE.

Can KDE mitigate the issue (by, dunno, adding 500ms of delay before switching primary displays, or something)?
Comment 1 Christoph Feck 2018-06-28 00:25:29 UTC
I sometimes see the same issue on intel GPU. After enabled primary monitor wakes up from power-off, windows are placed according to the size of the smaller (disabled) monitor.
Comment 2 Mariusz Mazur 2018-08-09 19:58:00 UTC
There's a bug in the amdgpu displayport link training code that causes monitors to disconnect when trying to wake them up. It's not an intentional change on their part.