https://bugs.kde.org/show_bug.cgi?id=403105

            Bug ID: 403105
           Summary: Screen layout is reset in random ways after suspend
           Product: plasmashell
           Version: 5.13.5
          Platform: Other
                OS: Linux
            Status: REPORTED
          Severity: normal
          Priority: NOR
         Component: Multi-screen support
          Assignee: aleix...@kde.org
          Reporter: nitro2...@gmail.com
                CC: plasma-b...@kde.org
  Target Milestone: 1.0

Created attachment 117401
  --> https://bugs.kde.org/attachment.cgi?id=117401&action=edit
Screenshot of the desired state of the screen configuration.

HARDWARE/SOFTWARE SETUP
=======================
My setup is a laptop (Thinkpad T450s with Intel graphics). I have an external
monitor connected as follows:

Mini displayport - Mini DP to HDMI adapter - HDMI to DVI cable.

The monitor is some old Sony DVI-only monitor.

OS: Kubuntu 18.10
KDE Plasma Version: 5.13.5
KDE Frameworks Version: 5.50.0
Qt Version: 5.11.1

grep LoadModule /var/log/Xorg.0.log outputs the following which to my untrained
eye means that my system may not be using the dreaded broken Intel Xorg drivers
mentioned in Martin Flöser's blog post "Multi-screen woes in Plasma 5.7". [1]

[    10.804] (II) LoadModule: "glx"
[    10.813] (II) LoadModule: "modesetting"
[    10.814] (II) LoadModule: "fbdev"
[    10.815] (II) LoadModule: "vesa"
[    10.819] (II) LoadModule: "fbdevhw"
[    10.819] (II) LoadModule: "glamoregl"
[    11.135] (II) LoadModule: "fb"
[    11.326] (II) LoadModule: "libinput"


ISSUE
=====

The issue that I'm seeing is that when returning from suspend, my display
configuration is forgotten and reset in different ways. In all my test cases,
the display cable has been connected through the suspend process and I've
simply closed and opened the lid. The issue seems localized to returning form
suspend. I do not see the same issue when cold-booting, and I can reset to a
valid state by unplugging and replugging the monitor cable.

There are various invalid states the configuration can end up in, and it's
never consistent which one it is, which to me speaks for a race condition of
some kind.

For reference, my desired screen layout is to have the laptop monitor being
primary and the external monitor to the right of the laptop monitor. That is,
as seen in the attached image  "multimonitor desired.png" which is a screenshot
of the display settings window, or as described by the following xrandr line:

$ xrandr --listmonitors                
Monitors: 2
 0: +*eDP-1 1920/309x1080/174+0+0  eDP-1
 1: +HDMI-1 1280/338x1024/270+1920+0  HDMI-1

Here are some examples of invalid states I've seen:

1) The external monitor is placed on top of (overlaps) the laptop screen and
thus shows a section of it. In this case, there's a second login screen
corresponding to the external monitor, both of which are functioning
simultaneously. This invalid state is represented by the screenshot
"multimonitor invalid 1.png" or by the following xrandr line:

$ xrandr --listmonitors
Monitors: 2
 0: +*eDP-1 1920/309x1080/174+0+0  eDP-1
 1: +HDMI-1 1280/338x1024/270+0+0  HDMI-1

2) In this state, the screen configuration is set to the desired configuration
(I can move the cursor between the monitors and xrandr shows the correct
configuration) however the login screen shows two overlapping login screens,
much like it would in state 1. Only this time the login screen on the secondary
monitor is essentially non-functional. This suggests to me that the
configuration was at some point during wakeup in invalid state 1, and was later
set to the desired state. I can provide a photo of this if needed for
clarification.

3) Like 2, but the primary screen is not drawing the login screen, so the
screen is black apart from the cursor, if moved to that screen. It does however
contain a functional login screen which can be used by clicking on the black
screen and typing the password blindly.

4) This is an oddball. In this state, the laptop screen becomes disabled, and
also moved to the top right corner of the screen configuration area, and the
primary display value is unset. Refer to screenshot "multimonitor invalid
2.png". In this case, seeing that the laptop screen is disabled, the xrandr
line becomes

$ xrandr --listmonitors
Monitors: 1
 0: +HDMI-1 1280/338x1024/270+0+0  HDMI-1

I've produced this particular state exactly once, and I'm mentioning it only to
point out the random nature of the issue.

I have tried adding an xorg config file
/usr/share/X11/xorg.conf.d/99-monitors.conf containing

Section "Monitor"
        Identifier "eDP-1"
        Option "Primary" "true"
EndSection

Section "Monitor"
        Identifier "HDMI-1"
        Option "RightOf" "eDP-1"
EndSection

Section "Monitor"
        Identifier "DP-1"
        Option "RightOf" "eDP-1"
EndSection

The last line was an attempt at trying the hypothesis that maybe the HDMI
adapter is detected as a DP output early in the detection, throwing something
off.

This configuration file however has not had the desired effect.

If there are any other logs I should post, or anything I should try to fix the
issue (that doesn't have a significant chance of locking me out of the machine
-- this is a productivity machine after all) I'd be happy to try it.


References:
[1]
https://blog.martin-graesslin.com/blog/2016/07/multi-screen-woes-in-plasma-5-7/

-- 
You are receiving this mail because:
You are watching all bug changes.

Reply via email to