<html>
<head>
<base href="https://bugs.freedesktop.org/">
</head>
<body><table border="1" cellspacing="0" cellpadding="8">
<tr>
<th>Bug ID</th>
<td><a class="bz_bug_link
bz_status_NEW "
title="NEW - Kernels 4.16+ confuses KDE wrt what the primary display is when waking up multiple displays"
href="https://bugs.freedesktop.org/show_bug.cgi?id=106529">106529</a>
</td>
</tr>
<tr>
<th>Summary</th>
<td>Kernels 4.16+ confuses KDE wrt what the primary display is when waking up multiple displays
</td>
</tr>
<tr>
<th>Product</th>
<td>DRI
</td>
</tr>
<tr>
<th>Version</th>
<td>unspecified
</td>
</tr>
<tr>
<th>Hardware</th>
<td>x86-64 (AMD64)
</td>
</tr>
<tr>
<th>OS</th>
<td>Linux (All)
</td>
</tr>
<tr>
<th>Status</th>
<td>NEW
</td>
</tr>
<tr>
<th>Severity</th>
<td>normal
</td>
</tr>
<tr>
<th>Priority</th>
<td>medium
</td>
</tr>
<tr>
<th>Component</th>
<td>DRM/AMDgpu
</td>
</tr>
<tr>
<th>Assignee</th>
<td>dri-devel@lists.freedesktop.org
</td>
</tr>
<tr>
<th>Reporter</th>
<td>mariusz.g.mazur@gmail.com
</td>
</tr></table>
<p>
<div>
<pre>Created <span class=""><a href="attachment.cgi?id=139577" name="attach_139577" title="ubuntu's 4.15 dmesg with amdgpu.dc_log=1">attachment 139577</a> <a href="attachment.cgi?id=139577&action=edit" title="ubuntu's 4.15 dmesg with amdgpu.dc_log=1">[details]</a></span>
ubuntu's 4.15 dmesg with amdgpu.dc_log=1
It appears that the display-handling code in 4.15+ (including 4.17-rc5) marks
any display not fully woken up as disconnected or something to that effect. So
when I have multiple monitors and they get woken up from sleep (doesn't matter
whether the computer was suspended or just idle for a long period), and my
primary display wakes up slower than the any of the other displays (and it
does), then for a few hundred ms KDE tries to change the primary display to the
one that first woke up (I'm guessing it thinks that's the only one available),
then changes its mind a bit later, when all displays wake up.
End result looks like crap and is not usable, since all my windows get
displaced. Here's how it looks like in practice:
Setup:
Radeon RX 560
Primary display: bottom right, displayport, on
Secondary display 1: left, hdmi, on
Secondary display 2: top right, dvi, off
Video of how it used to work, using 4.4.15:
<a href="https://www.youtube.com/watch?v=h7nMYbm5ZxU">https://www.youtube.com/watch?v=h7nMYbm5ZxU</a>
Note how even though the left (secondary) display wakes up first, both
instantly display their proper desktops.
Video of how it works with ubuntu 18.04's default 4.15 kernel/4.16.7/4.17-rc5:
<a href="https://www.youtube.com/watch?v=VdVFNXPszSI">https://www.youtube.com/watch?v=VdVFNXPszSI</a>
Note how when the left (secondary) display wakes up first, KDE decides that
this is probably the only display available, so tries to switch the primary
desktop to it, then a split second later the bottom right wakes up and KDE
knows *that* should be the primary according to the config, so it switches
back.
Attached is dmesg from ubuntu's 4.15 with dc_log=1. I put the computer to
sleep, then wake it up and get the behavior like in the video.</pre>
</div>
</p>
<hr>
<span>You are receiving this mail because:</span>
<ul>
<li>You are the assignee for the bug.</li>
</ul>
</body>
</html>