Bug 370180

Summary: Containments rearranged upon reconnect
Product: [Plasma] plasmashell Reporter: rndbit
Component: generic-multiscreenAssignee: Plasma Bugs List <plasma-bugs>
Status: RESOLVED DUPLICATE    
Severity: major CC: andrius, beojan, david.cortes.rivera, ericsbinaryworld, germano.massullo, jakubby, jan.claussen10, kirys, Landgraf132, mrmazda, nate, openmindead, plasma-bugs, postix, sheldonl
Priority: VHI    
Version: 5.16.5   
Target Milestone: 1.0   
Platform: Arch Linux   
OS: Linux   
See Also: https://bugs.kde.org/show_bug.cgi?id=356225
Latest Commit: Version Fixed In:
Sentry Crash Report:

Description rndbit 2016-10-06 06:59:26 UTC
When i upgraded to 5.8 all widgets/panels from my left (primary) monitor get moved to the right (secondary) monitor after reboot. Secondary monitor is not even on. Some widget settings also reset like panel being able to go behind window.

Reproducible: Always

Steps to Reproduce:
1. Place widgets/panels on the primary (left) screen
2. Reboot


Actual Results:  
Widgets/panels end up on secondary monitor that is also turned off.

Expected Results:  
Widgets should remain on the screen they were placed on.

Similar issue existed on 5.7, however it was the other way around: widgets/panels moved to secondary screen were moved back to primary screen upon reboot.

Screens are placed one next to another:
[DVI-0 2560x1080][VGA-0 1920x1080]
Comment 1 rndbit 2016-10-07 08:29:44 UTC
Okay guys i value all the hard work you put in but this is simply nuts. To avoid this bug i disabled my (right) screen. You know what happened after reboot? All my widgets gone. Guess where they end up. That is right - on the second screen! I had to enable screen again, turn it on and get back widgets to primary screen. Not only this breaks multiscreen support - there is no way to get out of this. Fix is needed most urgently. Not sure how many people have patience to deal with these kind of things...
Comment 2 rndbit 2016-10-07 09:09:59 UTC
Switching from Archlinux testing repositories to stable fixes issue apparently.
Comment 3 rndbit 2016-10-09 09:30:28 UTC
Victory sounded too soon. Next day issue is back. Not sure what made it go away briefly. Tried rebooting with secondary monitor both on and off - same result. This is very frustrating.
Comment 4 rndbit 2016-10-18 07:56:14 UTC
Using 5.8.1 at the moment, this no longer happens for multiple days, which is great. However secondary monitor upon boot always has wallpaper reset and cashew displayed and i have to turn it off every time. Could this be same problem and be like failing to save configs somehow?
Comment 5 Andrius Štikonas 2016-10-19 13:19:12 UTC
I think I have the same issue.
Comment 6 Andrius Štikonas 2016-10-19 13:20:16 UTC
Plasma panel also jumps to the wrong screen when I run
kquitapp5 plamashell && plasmashell
Comment 7 beojan 2016-12-15 13:04:52 UTC
I see the same issue, only it happens after locking and unlocking the screen.
Comment 8 beojan 2016-12-15 13:05:53 UTC
(In reply to beojan from comment #7)
> I see the same issue, only it happens after locking and unlocking the screen.

But only after leaving it for a while it seems, so I can't just lock and unlock again to get things back the way they were.
Comment 9 Sheldon 2018-03-18 22:32:44 UTC
Same thing happens to me. I turn monitors on/off (I have 3) and widgets/panels move between the 3 of them as if plasma forgot which screen was which. I love KDE, but the multi-monitor support is very unstable.
Comment 10 Sheldon 2018-03-18 22:33:39 UTC
Oh.. and I'm on KDE Neon
plasma-desktop 5.12.3-0neon+16.04+xenial+build84
Comment 11 JordanL 2018-05-22 09:15:30 UTC
I also have this issue on Kubuntu 18.04. I "got around" it by just adding exactly the same panel config to each screen. Which works for now, but I'll be moving to a different distro and DE soon if this isn't fixed, because it seems to be causing other issues such as this one: https://bugs.kde.org/show_bug.cgi?id=394532

My setup:
* Kubuntu 18.04 64-bit, all updates as of 21-MAY-2018
* Nvidia GTX 980Ti, using proprietary driver nvidia-driver-390 (390.48)
* Two 4k monitors connected via DisplayPort
* The right-hand screen is set as the primary screen (in Plasma settings and in NVidia settings)
Comment 12 Germano Massullo 2019-10-04 20:33:44 UTC
Is this bug still happening on newer Plasma versions?
Comment 13 JordanL 2019-10-05 10:35:32 UTC
I'm not experiencing it on reboot. Only when the screens turn off and back on.
Comment 14 Bug Janitor Service 2019-10-20 04:33:09 UTC
Dear Bug Submitter,

This bug has been in NEEDSINFO status with no change for at least
15 days. Please provide the requested information as soon as
possible and set the bug status as REPORTED. Due to regular bug
tracker maintenance, if the bug is still in NEEDSINFO status with
no change in 30 days the bug will be closed as RESOLVED > WORKSFORME
due to lack of needed information.

For more information about our bug triaging procedures please read the
wiki located here:
https://community.kde.org/Guidelines_and_HOWTOs/Bug_triaging

If you have already provided the requested information, please
mark the bug as REPORTED so that the KDE team knows that the bug is
ready to be confirmed.

Thank you for helping us make KDE software even better for everyone!
Comment 15 Christoph Feck 2019-10-22 00:55:14 UTC
Please also state which Plasma version you tested.
Comment 16 Christoph Feck 2019-10-22 00:58:03 UTC
Changing version according to bug 377561 comment 10.
Comment 17 Nate Graham 2021-08-16 21:40:03 UTC
*** Bug 389096 has been marked as a duplicate of this bug. ***
Comment 18 Nate Graham 2021-08-16 21:41:19 UTC
What seems to be happening is that the mapping of containments to screens is getting corrupted. This could cause the screens to show different panels/widgets/wallpapers from what they are supposed to show, or to show no panels/wallpapers/widgets at all.
Comment 19 Nate Graham 2021-08-16 21:41:31 UTC
*** Bug 415898 has been marked as a duplicate of this bug. ***
Comment 20 Nate Graham 2021-08-16 21:49:27 UTC
*** Bug 440088 has been marked as a duplicate of this bug. ***
Comment 21 Nate Graham 2021-08-16 21:52:09 UTC
Most likely the same root cause as Bug 391531 and Bug 356225.
Comment 22 Nate Graham 2021-08-16 22:41:10 UTC
*** Bug 365775 has been marked as a duplicate of this bug. ***
Comment 23 Nate Graham 2021-08-16 22:42:31 UTC
*** Bug 433317 has been marked as a duplicate of this bug. ***
Comment 24 Nate Graham 2021-08-16 23:13:36 UTC
*** Bug 434094 has been marked as a duplicate of this bug. ***
Comment 25 Nate Graham 2022-08-04 21:45:00 UTC
People who are affected: can you open your ~/.config/plasmashellrc file and paste everything under [ScreenConnectors]?

I'm starting to suspect that basically all of these issues are caused by Bug 450068.
Comment 26 Felix Miata 2022-08-05 06:41:57 UTC
# grep -A4 tors ~/.config/plasmashellrc
[ScreenConnectors]
0=HDMI-0
1=DVI-I-1
2=DVI-0

# ls -1 /sys/class/drm/ca*
card0
card0-DVI-I-1
card0-HDMI-A-1
card0-VGA-1
# grep onnec /var/log/Xorg.0.log
[    30.768] (II) RADEON(0): Output HDMI-0 connected
[    30.768] (II) RADEON(0): Output DVI-0 connected
[    30.768] (II) RADEON(0): Output VGA-0 disconnected
# inxi -GSxxz --vs
inxi 3.3.20-00 (2022-07-27)
System:
  Kernel: 5.18.12-1-default arch: x86_64 bits: 64 compiler: gcc v: 12.1.1
    Desktop: KDE Plasma v: 5.25.3 tk: Qt v: 5.15.5 wm: kwin_x11 dm: 1: KDM
    2: XDM Distro: openSUSE Tumbleweed 20220802
Graphics:
  Device-1: AMD Cedar [Radeon HD 5000/6000/7350/8350 Series] vendor: PC
    Partner / Sapphire driver: radeon v: kernel arch: TeraScale-2 pcie:
    speed: 5 GT/s lanes: 16 ports: active: DVI-I-1,HDMI-A-1 empty: VGA-1
    bus-ID: 01:00.0 chip-ID: 1002:68f9
  Display: x11 server: X.Org v: 21.1.4 with: Xwayland v: 22.1.3
    compositor: kwin_x11 driver: X: loaded: radeon
    unloaded: fbdev,modesetting,vesa gpu: radeon display-ID: :0 screens: 1
  Screen-1: 0 s-res: 3840x1200 s-dpi: 120
  Monitor-1: DVI-I-1 mapped: DVI-0 pos: right model: NEC EA243WM
    res: 1920x1200 dpi: 94 diag: 612mm (24.1")
  Monitor-2: HDMI-A-1 mapped: HDMI-0 pos: primary,left model: Samsung
    res: 1920x1080 dpi: 305 diag: 184mm (7.2")
  OpenGL: renderer: AMD CEDAR (DRM 2.50.0 / 5.18.12-1-default LLVM 14.0.6)
    v: 3.3 Mesa 22.1.3 compat-v: 3.1 direct render: Yes

<display swap, and display driver swap, while logged out>

# grep -A4 tors ~/.config/plasmashellrc
[ScreenConnectors]
0=HDMI-0
1=DVI-I-1
2=DVI-0

# ls -1 /sys/class/drm/ca*
card0
card0-DVI-I-1
card0-HDMI-A-1
card0-VGA-1
# grep onnec /var/log/Xorg.0.log
[   447.994] (II) modeset(0): Output HDMI-1 connected
[   447.994] (II) modeset(0): Output DVI-I-1 connected
[   447.994] (II) modeset(0): Output VGA-1 disconnected
# inxi -GSxxz --vs
inxi 3.3.20-00 (2022-07-27)
System:
  Kernel: 5.18.12-1-default arch: x86_64 bits: 64 compiler: gcc v: 12.1.1
    Desktop: KDE Plasma v: 5.25.3 tk: Qt v: 5.15.5 wm: kwin_x11 dm: 1: KDM
    2: XDM Distro: openSUSE Tumbleweed 20220802
Graphics:
  Device-1: AMD Cedar [Radeon HD 5000/6000/7350/8350 Series] vendor: PC
    Partner / Sapphire driver: radeon v: kernel arch: TeraScale-2 pcie:
    speed: 5 GT/s lanes: 16 ports: active: DVI-I-1,HDMI-A-1 empty: VGA-1
    bus-ID: 01:00.0 chip-ID: 1002:68f9
  Display: x11 server: X.Org v: 21.1.4 with: Xwayland v: 22.1.3
    compositor: kwin_x11 driver: X: loaded: modesetting gpu: radeon
    display-ID: :0 screens: 1
  Screen-1: 0 s-res: 3520x1200 s-dpi: 120
  Monitor-1: DVI-I-1 pos: right model: NEC EA243WM res: 1920x1200 dpi: 94
    diag: 612mm (24.1")
  Monitor-2: HDMI-A-1 mapped: HDMI-1 pos: primary,left model: Dell P2012H
    res: 1600x900 dpi: 92 diag: 508mm (20")
  OpenGL: renderer: AMD CEDAR (DRM 2.50.0 / 5.18.12-1-default LLVM 14.0.6)
    v: 3.3 Mesa 22.1.3 compat-v: 3.1 direct render: Yes
#

<host switch>
# grep -A4 tors ~/.config/plasmashellrc
[ScreenConnectors]
0=DP-1
1=HDMI2
2=HDMI-2
3=HDMI1
4=HDMI-1
5=DVI-0

# ls -1d /sys/class/drm/c*
/sys/class/drm/card1
/sys/class/drm/card1-DP-1
/sys/class/drm/card1-DP-2     # home of VGA crtc
/sys/class/drm/card1-HDMI-A-1
/sys/class/drm/card1-HDMI-A-2     # in fact: DVI
/sys/class/drm/card1-HDMI-A-3
# grep onnec /var/log/Xorg.0.log
[    56.638] (II) modeset(0): Output HDMI-1 connected
[    56.638] (II) modeset(0): Output HDMI-2 connected     # in fact: DVI
[    56.638] (II) modeset(0): Output DP-1 connected
[    56.638] (II) modeset(0): Output HDMI-3 disconnected
[    56.638] (II) modeset(0): Output DP-2 disconnected     # home of VGA crtc
# inxi -GSxxz --vs
inxi 3.3.20-00 (2022-07-27)
System:
  Kernel: 5.18.12-1-default arch: x86_64 bits: 64 compiler: gcc v: 12.1.1
    Desktop: KDE Plasma v: 5.25.3 tk: Qt v: 5.15.5 wm: kwin_x11 dm: 1: TDM
    2: XDM Distro: openSUSE Tumbleweed 20220802
Graphics:
  Device-1: Intel HD Graphics 630 vendor: Gigabyte driver: i915 v: kernel
    arch: Gen-9.5 ports: active: DP-1,HDMI-A-1,HDMI-A-2 empty: DP-2,HDMI-A-3
    bus-ID: 00:02.0 chip-ID: 8086:5912
  Display: x11 server: X.Org v: 21.1.3 compositor: kwin_x11 driver: X:
    loaded: modesetting unloaded: fbdev,vesa alternate: intel gpu: i915
    display-ID: :0 screens: 1
  Screen-1: 0 s-res: 2560x3720 s-dpi: 120
  Monitor-1: DP-1 pos: primary,bottom model: Acer K272HUL res: 2560x1440
    dpi: 109 diag: 686mm (27")
  Monitor-2: HDMI-A-1 mapped: HDMI-1 pos: middle model: Samsung
    res: 1920x1080 dpi: 305 diag: 184mm (7.2")
  Monitor-3: HDMI-A-2 mapped: HDMI-2 pos: primary,top model: NEC EA243WM
    res: 1920x1200 dpi: 94 diag: 612mm (24.1")
  OpenGL: renderer: Mesa Intel HD Graphics 630 (KBL GT2) v: 4.6 Mesa 22.1.3
    direct render: Yes
#

FWIW, my observations likely some pertinent:
DP-1, DVI-I-1, eDP-1, HDMI-1 LVD-1, & VGA-1 are first xrandr output names for
the following couplings:
1-AMD GPU with modesetting DIX
2-Intel GPU with modesetting DIX
3-NVidia GPU with nouveau DDX & with modesetting DIX

Intel DDX, Radeon DDX & AMDGPU DDX drivers start xrandr count @0.
Intel DDX driver omits xrandr hyphens.

Intel DDX, Radeon DDX & AMDGPU DDX drivers indicate DisplayPort instead of DP.

I have not determined what situations replace DVI-I-1 with DVI-A-1 or DVI-D-1.

Multi-Stream Transport (MST) & docks make a mess of xrandr name predictability.
Comment 27 postix 2022-08-05 08:30:22 UTC
(In reply to Nate Graham from comment #25)
> People who are affected: can you open your ~/.config/plasmashellrc file and paste everything under [ScreenConnectors]?

I'm not affected regularly by this bug but quiet recently the all widgets and the wallpaper of two secondary screens just swapped places:

```
[ScreenConnectors]
0=DisplayPort-1
1=HDMI-2
2=HDMI-A-2
3=DP-1
4=HDMI-A-1
5=:0.0
6=HDMI-A-0
```
Comment 28 Felix Miata 2022-08-06 01:11:44 UTC
Following shows that on NVidia GPU, xrandr output names are the same with modesetting DIX and nouveau DDX:
# grep -A3 tors ~/.config/plasmashellrc
[ScreenConnectors]
0=DP-1
1=DP-2

# ls -1d /sys/class/drm/c*
/sys/class/drm/card0
/sys/class/drm/card0-DP-1
/sys/class/drm/card0-DP-2
# grep onnec /var/log/Xorg.0.log
[    70.746] (II) NOUVEAU(0): Output DP-1 connected
[    70.746] (II) NOUVEAU(0): Output DP-2 connected
# inxi -GSxxz --vs
inxi 3.3.20-00 (2022-07-27)
System:
  Kernel: 5.18.15-1-default arch: x86_64 bits: 64 compiler: gcc v: 12.1.1
    Desktop: KDE Plasma v: 5.25.3 tk: Qt v: 5.15.5 wm: kwin_x11 dm: SDDM
    Distro: openSUSE Tumbleweed 20220804
Graphics:
  Device-1: NVIDIA GF119 [NVS 310] vendor: Hewlett-Packard driver: nouveau
    v: kernel arch: Fermi pcie: speed: 2.5 GT/s lanes: 16 ports:
    active: DP-1,DP-2 empty: none bus-ID: 01:00.0 chip-ID: 10de:107d
  Display: x11 server: X.Org v: 21.1.4 compositor: kwin_x11 driver: X:
    loaded: nouveau unloaded: fbdev,modesetting,vesa alternate: nv,nvidia
    gpu: nouveau display-ID: :0 screens: 1
  Screen-1: 0 s-res: 4480x1440 s-dpi: 120
  Monitor-1: DP-1 pos: primary,left model: Acer K272HUL res: 2560x1440
    dpi: 109 diag: 686mm (27")
  Monitor-2: DP-2 pos: right model: NEC EA243WM res: 1920x1200 dpi: 94
    diag: 612mm (24.1")
  OpenGL: renderer: NVD9 v: 4.3 Mesa 22.1.4 direct render: Yes
#

<log out; switch from nouveau DDX to modesetting DIX; login>

# grep -A3 tors ~/.config/plasmashellrc
[ScreenConnectors]
0=DP-1
1=DP-2

# ls -1d /sys/class/drm/c*
/sys/class/drm/card0
/sys/class/drm/card0-DP-1
/sys/class/drm/card0-DP-2
# grep onnec /var/log/Xorg.0.log
[  1291.308] (II) modeset(0): Output DP-1 connected
[  1291.308] (II) modeset(0): Output DP-2 connected
# inxi -GSxxz --vs
inxi 3.3.20-00 (2022-07-27)
System:
  Kernel: 5.18.15-1-default arch: x86_64 bits: 64 compiler: gcc v: 12.1.1
    Desktop: KDE Plasma v: 5.25.3 tk: Qt v: 5.15.5 wm: kwin_x11 dm: SDDM
    Distro: openSUSE Tumbleweed 20220804
Graphics:
  Device-1: NVIDIA GF119 [NVS 310] vendor: Hewlett-Packard driver: nouveau
    v: kernel arch: Fermi pcie: speed: 2.5 GT/s lanes: 16 ports:
    active: DP-1,DP-2 empty: none bus-ID: 01:00.0 chip-ID: 10de:107d
  Display: x11 server: X.Org v: 21.1.4 compositor: kwin_x11 driver: X:
    loaded: modesetting gpu: nouveau display-ID: :0 screens: 1
  Screen-1: 0 s-res: 4480x1440 s-dpi: 120
  Monitor-1: DP-1 pos: primary,left model: Acer K272HUL res: 2560x1440
    dpi: 109 diag: 686mm (27")
  Monitor-2: DP-2 pos: right model: NEC EA243WM res: 1920x1200 dpi: 94
    diag: 612mm (24.1")
  OpenGL: renderer: NVD9 v: 4.3 Mesa 22.1.4 direct render: Yes
#
Comment 29 Kirys 2022-08-06 10:59:47 UTC
[ScreenConnectors]
0=HDMI1
1=DP1-2
2=DP1-1
3=DP-2
4=DP-3

but actually I have just 3 monitors
Comment 30 Felix Miata 2022-08-07 06:52:24 UTC
# grep -A4 tors ~/.config/plasmashellrc
[ScreenConnectors]
0=DP-1
1=DisplayPort-0
2=DP-2

# ls -1d /sys/class/drm/c*
/sys/class/drm/card0
/sys/class/drm/card0-DP-1
/sys/class/drm/card0-DP-2
# grep onnec /var/log/Xorg.0.log
[    16.112] (II) modeset(0): Output DP-1 connected
[    16.112] (II) modeset(0): Output DP-2 connected
# inxi -GSxxz --vs
inxi 3.3.20-00 (2022-07-27)
System:
  Kernel: 5.18.16-200.fc36.x86_64 arch: x86_64 bits: 64 compiler: gcc
    v: 2.37-27.fc36 Desktop: KDE Plasma v: 5.25.4 tk: Qt v: 5.15.5 wm: kwin_x11
    dm: 1: KDM 2: XDM Distro: Fedora release 36 (Thirty Six)
Graphics:
  Device-1: AMD RV620 PRO [Radeon HD 3470] vendor: Dell C120D driver: radeon
    v: kernel arch: TeraScale pcie: speed: 2.5 GT/s lanes: 16 ports:
    active: DP-1,DP-2 empty: none bus-ID: 01:00.0 chip-ID: 1002:95c0
  Display: x11 server: X.Org v: 1.20.14 with: Xwayland v: 22.1.3
    compositor: kwin_x11 driver: X: loaded: modesetting unloaded: fbdev,vesa
    gpu: radeon display-ID: :0 screens: 1
  Screen-1: 0 s-res: 4240x1440 s-dpi: 120
  Monitor-1: DP-1 pos: primary,left model: Acer K272HUL res: 2560x1440
    dpi: 109 diag: 686mm (27")
  Monitor-2: DP-2 pos: right model: Lenovo L2251x Wide res: 1680x1050
    dpi: 90 diag: 559mm (22")
  OpenGL: renderer: AMD RV620 (DRM 2.50.0 / 5.18.16-200.fc36.x86_64 LLVM
    14.0.0) v: 3.3 Mesa 22.1.4 compat-v: 3.0 direct render: Yes
#
Comment 31 Nate Graham 2022-08-08 15:34:01 UTC
Thanks for the data, everyone. Based on what I can see there, you're all experiencing the same basic issue of connector IDs being volatile, especially for DisplayPort monitors. This is a design issue that needs to be fixed by changing the mapping of monitor to desktop to use something more stable. This work has started to be scoped out, and may optimistically land in Plasma 5.26. If not that, then 5.27.

*** This bug has been marked as a duplicate of bug 450068 ***