* [Bug 106529] Kernels 4.16+ confuses KDE wrt what the primary display is when waking up multiple displays
@ 2018-05-15 15:00 bugzilla-daemon
2018-05-15 15:01 ` [Bug 106529] Kernels 4.16+ confuse " bugzilla-daemon
` (8 more replies)
0 siblings, 9 replies; 10+ messages in thread
From: bugzilla-daemon @ 2018-05-15 15:00 UTC (permalink / raw)
To: dri-devel
[-- Attachment #1.1: Type: text/plain, Size: 2459 bytes --]
https://bugs.freedesktop.org/show_bug.cgi?id=106529
Bug ID: 106529
Summary: Kernels 4.16+ confuses KDE wrt what the primary
display is when waking up multiple displays
Product: DRI
Version: unspecified
Hardware: x86-64 (AMD64)
OS: Linux (All)
Status: NEW
Severity: normal
Priority: medium
Component: DRM/AMDgpu
Assignee: dri-devel@lists.freedesktop.org
Reporter: mariusz.g.mazur@gmail.com
Created attachment 139577
--> https://bugs.freedesktop.org/attachment.cgi?id=139577&action=edit
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:
https://www.youtube.com/watch?v=h7nMYbm5ZxU
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:
https://www.youtube.com/watch?v=VdVFNXPszSI
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.
--
You are receiving this mail because:
You are the assignee for the bug.
[-- Attachment #1.2: Type: text/html, Size: 4065 bytes --]
[-- Attachment #2: Type: text/plain, Size: 160 bytes --]
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug 106529] Kernels 4.16+ confuse KDE wrt what the primary display is when waking up multiple displays
2018-05-15 15:00 [Bug 106529] Kernels 4.16+ confuses KDE wrt what the primary display is when waking up multiple displays bugzilla-daemon
@ 2018-05-15 15:01 ` bugzilla-daemon
2018-05-15 15:19 ` bugzilla-daemon
` (7 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: bugzilla-daemon @ 2018-05-15 15:01 UTC (permalink / raw)
To: dri-devel
[-- Attachment #1.1: Type: text/plain, Size: 612 bytes --]
https://bugs.freedesktop.org/show_bug.cgi?id=106529
Mariusz Mazur <mariusz.g.mazur@gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|Kernels 4.16+ confuses KDE |Kernels 4.16+ confuse KDE
|wrt what the primary |wrt what the primary
|display is when waking up |display is when waking up
|multiple displays |multiple displays
--
You are receiving this mail because:
You are the assignee for the bug.
[-- Attachment #1.2: Type: text/html, Size: 1287 bytes --]
[-- Attachment #2: Type: text/plain, Size: 160 bytes --]
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug 106529] Kernels 4.16+ confuse KDE wrt what the primary display is when waking up multiple displays
2018-05-15 15:00 [Bug 106529] Kernels 4.16+ confuses KDE wrt what the primary display is when waking up multiple displays bugzilla-daemon
2018-05-15 15:01 ` [Bug 106529] Kernels 4.16+ confuse " bugzilla-daemon
@ 2018-05-15 15:19 ` bugzilla-daemon
2018-08-09 20:07 ` [Bug 106529] dc=1 kernels somehow trigger a disconnect of an lg ultrawide monitor during DP link training while attempting a wakeup bugzilla-daemon
` (6 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: bugzilla-daemon @ 2018-05-15 15:19 UTC (permalink / raw)
To: dri-devel
[-- Attachment #1.1: Type: text/plain, Size: 427 bytes --]
https://bugs.freedesktop.org/show_bug.cgi?id=106529
Michel Dänzer <michel@daenzer.net> changed:
What |Removed |Added
----------------------------------------------------------------------------
Attachment #139577|text/x-log |text/plain
mime type| |
--
You are receiving this mail because:
You are the assignee for the bug.
[-- Attachment #1.2: Type: text/html, Size: 1135 bytes --]
[-- Attachment #2: Type: text/plain, Size: 160 bytes --]
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug 106529] dc=1 kernels somehow trigger a disconnect of an lg ultrawide monitor during DP link training while attempting a wakeup
2018-05-15 15:00 [Bug 106529] Kernels 4.16+ confuses KDE wrt what the primary display is when waking up multiple displays bugzilla-daemon
2018-05-15 15:01 ` [Bug 106529] Kernels 4.16+ confuse " bugzilla-daemon
2018-05-15 15:19 ` bugzilla-daemon
@ 2018-08-09 20:07 ` bugzilla-daemon
2018-08-09 20:29 ` bugzilla-daemon
` (5 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: bugzilla-daemon @ 2018-08-09 20:07 UTC (permalink / raw)
To: dri-devel
[-- Attachment #1.1: Type: text/plain, Size: 690 bytes --]
https://bugs.freedesktop.org/show_bug.cgi?id=106529
Mariusz Mazur <mariusz.g.mazur@gmail.com> changed:
What |Removed |Added
----------------------------------------------------------------------------
Summary|Kernels 4.16+ confuse KDE |dc=1 kernels somehow
|wrt what the primary |trigger a disconnect of an
|display is when waking up |lg ultrawide monitor during
|multiple displays |DP link training while
| |attempting a wakeup
--
You are receiving this mail because:
You are the assignee for the bug.
[-- Attachment #1.2: Type: text/html, Size: 1342 bytes --]
[-- Attachment #2: Type: text/plain, Size: 160 bytes --]
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug 106529] dc=1 kernels somehow trigger a disconnect of an lg ultrawide monitor during DP link training while attempting a wakeup
2018-05-15 15:00 [Bug 106529] Kernels 4.16+ confuses KDE wrt what the primary display is when waking up multiple displays bugzilla-daemon
` (2 preceding siblings ...)
2018-08-09 20:07 ` [Bug 106529] dc=1 kernels somehow trigger a disconnect of an lg ultrawide monitor during DP link training while attempting a wakeup bugzilla-daemon
@ 2018-08-09 20:29 ` bugzilla-daemon
2018-08-15 14:43 ` bugzilla-daemon
` (4 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: bugzilla-daemon @ 2018-08-09 20:29 UTC (permalink / raw)
To: dri-devel
[-- Attachment #1.1: Type: text/plain, Size: 2036 bytes --]
https://bugs.freedesktop.org/show_bug.cgi?id=106529
--- Comment #1 from Mariusz Mazur <mariusz.g.mazur@gmail.com> ---
I've tried the same thing with only the DP ultrawide monitor connected and got
the same issue. dc logs, reading code and some kernel tracers (ftrace) on DC
link training code basically tell me that the important part is this:
21:23:16 [drm] [LKTN] [DP][ConnIdx:0] RBRx4 pass VS=2, PE=1^
21:23:16 [drm] link=0, dc_sink_in= (null) is now Disconnected
21:23:18 [drm] [LKTN] [DP][ConnIdx:0] HBRx4 pass VS=1, PE=0^
21:23:18 [drm] link=0, dc_sink_in=00000000dbbee48e is now Connected
21:23:18 [drm] [LKTN] [DP][ConnIdx:0] RBRx4 pass VS=1, PE=1^
Whatever's going on with the first attempt at link training, it ends up with
the monitor disconnecting (not sure if deliberately or by causing some error in
the monitor; didn't dive deep enough into the code).
Pre-DC codepaths did not have an issue like this at all until Michel Dänzer
created this patch: https://patchwork.freedesktop.org/patch/209464/ for bug
105308 thereby introducing a problem with the same effects (DC monitor gets
disconnected on wakeup, which on multi-display causes issues) via a quite
different approach (a deliberate DRM_MODE_DPMS_OFF & ON). But that should be a
separate bug, I think.
And since Michel's patch got applied to all the kernels, the effect is that on
any up to date 4.15+ kernel the same issue shows up whether you're doing dc=1
or dc=0, while the actual code paths causing it are different. (Which made this
a PITA to figure out.)
Anyway, since I know nothing about DP link training and how to fix code
relating to it, I've just bought a DP->HDMI cable thus "fixing" my problem
entirely (including the second issue of a 2s lag with DP audio).
Hopefully someone in the future, a future man so to speak, will fix this issue
eventually. Cause currently DP support is quite bad, it seems.
--
You are receiving this mail because:
You are the assignee for the bug.
[-- Attachment #1.2: Type: text/html, Size: 3043 bytes --]
[-- Attachment #2: Type: text/plain, Size: 160 bytes --]
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug 106529] dc=1 kernels somehow trigger a disconnect of an lg ultrawide monitor during DP link training while attempting a wakeup
2018-05-15 15:00 [Bug 106529] Kernels 4.16+ confuses KDE wrt what the primary display is when waking up multiple displays bugzilla-daemon
` (3 preceding siblings ...)
2018-08-09 20:29 ` bugzilla-daemon
@ 2018-08-15 14:43 ` bugzilla-daemon
2018-08-15 16:08 ` bugzilla-daemon
` (3 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: bugzilla-daemon @ 2018-08-15 14:43 UTC (permalink / raw)
To: dri-devel
[-- Attachment #1.1: Type: text/plain, Size: 1407 bytes --]
https://bugs.freedesktop.org/show_bug.cgi?id=106529
--- Comment #2 from Michel Dänzer <michel@daenzer.net> ---
(In reply to Mariusz Mazur from comment #1)
> Pre-DC codepaths did not have an issue like this at all until Michel Dänzer
> created this patch: https://patchwork.freedesktop.org/patch/209464/ for bug
> 105308 thereby introducing a problem with the same effects (DC monitor gets
> disconnected on wakeup, which on multi-display causes issues) via a quite
> different approach (a deliberate DRM_MODE_DPMS_OFF & ON). But that should be
> a separate bug, I think.
FWIW, that change should have no direct effect on whether the display is
considered connected or disconnected. The only change is that when the driver
is notified that a DP display is "disconnected" (which can also happen without
a physical disconnection, e.g. if the display is turned off), it doesn't
immediately turn off the GPU's DP source anymore, but waits until either
userspace asks to turn it off, or it gets notified that a display is
"connected" again. Both "disconnect" / "connect" hotplug events are sent to
userspace before and after this change. I suspect that immediately turning off
the DP source simply happened to delay sending the "disconnect" hotplug event
to userspace enough to avoid the issue on your system.
--
You are receiving this mail because:
You are the assignee for the bug.
[-- Attachment #1.2: Type: text/html, Size: 2531 bytes --]
[-- Attachment #2: Type: text/plain, Size: 160 bytes --]
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug 106529] dc=1 kernels somehow trigger a disconnect of an lg ultrawide monitor during DP link training while attempting a wakeup
2018-05-15 15:00 [Bug 106529] Kernels 4.16+ confuses KDE wrt what the primary display is when waking up multiple displays bugzilla-daemon
` (4 preceding siblings ...)
2018-08-15 14:43 ` bugzilla-daemon
@ 2018-08-15 16:08 ` bugzilla-daemon
2018-08-15 17:29 ` bugzilla-daemon
` (2 subsequent siblings)
8 siblings, 0 replies; 10+ messages in thread
From: bugzilla-daemon @ 2018-08-15 16:08 UTC (permalink / raw)
To: dri-devel
[-- Attachment #1.1: Type: text/plain, Size: 435 bytes --]
https://bugs.freedesktop.org/show_bug.cgi?id=106529
--- Comment #3 from Mariusz Mazur <mariusz.g.mazur@gmail.com> ---
dc=1 codepath has the problem occur 100% of the times the display wakes up
(iirc).
dc=0 with your patch does not. It happens regularly, but not 100% of the times.
Which I guess does indicate there's some timing issues involved.
--
You are receiving this mail because:
You are the assignee for the bug.
[-- Attachment #1.2: Type: text/html, Size: 1363 bytes --]
[-- Attachment #2: Type: text/plain, Size: 160 bytes --]
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug 106529] dc=1 kernels somehow trigger a disconnect of an lg ultrawide monitor during DP link training while attempting a wakeup
2018-05-15 15:00 [Bug 106529] Kernels 4.16+ confuses KDE wrt what the primary display is when waking up multiple displays bugzilla-daemon
` (5 preceding siblings ...)
2018-08-15 16:08 ` bugzilla-daemon
@ 2018-08-15 17:29 ` bugzilla-daemon
2018-08-16 7:36 ` bugzilla-daemon
2019-11-19 8:38 ` bugzilla-daemon
8 siblings, 0 replies; 10+ messages in thread
From: bugzilla-daemon @ 2018-08-15 17:29 UTC (permalink / raw)
To: dri-devel
[-- Attachment #1.1: Type: text/plain, Size: 494 bytes --]
https://bugs.freedesktop.org/show_bug.cgi?id=106529
--- Comment #4 from Alex Deucher <alexdeucher@gmail.com> ---
I suspect it may have something to do with the pulse timing from the monitor.
Long pulses are for connect/disconnect events and short pulses are a feedback
mechanism for the monitor to the driver. I suspect the monitor is sending a
short pulse that the driver is interpreting as a long pulse.
--
You are receiving this mail because:
You are the assignee for the bug.
[-- Attachment #1.2: Type: text/html, Size: 1417 bytes --]
[-- Attachment #2: Type: text/plain, Size: 160 bytes --]
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug 106529] dc=1 kernels somehow trigger a disconnect of an lg ultrawide monitor during DP link training while attempting a wakeup
2018-05-15 15:00 [Bug 106529] Kernels 4.16+ confuses KDE wrt what the primary display is when waking up multiple displays bugzilla-daemon
` (6 preceding siblings ...)
2018-08-15 17:29 ` bugzilla-daemon
@ 2018-08-16 7:36 ` bugzilla-daemon
2019-11-19 8:38 ` bugzilla-daemon
8 siblings, 0 replies; 10+ messages in thread
From: bugzilla-daemon @ 2018-08-16 7:36 UTC (permalink / raw)
To: dri-devel
[-- Attachment #1.1: Type: text/plain, Size: 362 bytes --]
https://bugs.freedesktop.org/show_bug.cgi?id=106529
--- Comment #5 from Michel Dänzer <michel@daenzer.net> ---
Maybe one thing we could do is delaying the sending of the disconnect hotplug
event to userspace by some time (though at most until the next connect hotplug
event).
--
You are receiving this mail because:
You are the assignee for the bug.
[-- Attachment #1.2: Type: text/html, Size: 1284 bytes --]
[-- Attachment #2: Type: text/plain, Size: 160 bytes --]
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 10+ messages in thread
* [Bug 106529] dc=1 kernels somehow trigger a disconnect of an lg ultrawide monitor during DP link training while attempting a wakeup
2018-05-15 15:00 [Bug 106529] Kernels 4.16+ confuses KDE wrt what the primary display is when waking up multiple displays bugzilla-daemon
` (7 preceding siblings ...)
2018-08-16 7:36 ` bugzilla-daemon
@ 2019-11-19 8:38 ` bugzilla-daemon
8 siblings, 0 replies; 10+ messages in thread
From: bugzilla-daemon @ 2019-11-19 8:38 UTC (permalink / raw)
To: dri-devel
[-- Attachment #1.1: Type: text/plain, Size: 805 bytes --]
https://bugs.freedesktop.org/show_bug.cgi?id=106529
Martin Peres <martin.peres@free.fr> changed:
What |Removed |Added
----------------------------------------------------------------------------
Status|NEW |RESOLVED
Resolution|--- |MOVED
--- Comment #6 from Martin Peres <martin.peres@free.fr> ---
-- GitLab Migration Automatic Message --
This bug has been migrated to freedesktop.org's GitLab instance and has been
closed from further activity.
You can subscribe and participate further through the new bug through this link
to our GitLab instance: https://gitlab.freedesktop.org/drm/amd/issues/386.
--
You are receiving this mail because:
You are the assignee for the bug.
[-- Attachment #1.2: Type: text/html, Size: 2578 bytes --]
[-- Attachment #2: Type: text/plain, Size: 159 bytes --]
_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel
^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2019-11-19 8:38 UTC | newest]
Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2018-05-15 15:00 [Bug 106529] Kernels 4.16+ confuses KDE wrt what the primary display is when waking up multiple displays bugzilla-daemon
2018-05-15 15:01 ` [Bug 106529] Kernels 4.16+ confuse " bugzilla-daemon
2018-05-15 15:19 ` bugzilla-daemon
2018-08-09 20:07 ` [Bug 106529] dc=1 kernels somehow trigger a disconnect of an lg ultrawide monitor during DP link training while attempting a wakeup bugzilla-daemon
2018-08-09 20:29 ` bugzilla-daemon
2018-08-15 14:43 ` bugzilla-daemon
2018-08-15 16:08 ` bugzilla-daemon
2018-08-15 17:29 ` bugzilla-daemon
2018-08-16 7:36 ` bugzilla-daemon
2019-11-19 8:38 ` bugzilla-daemon
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).