Bug 371819

Summary: Plasma looses my panel position and wallpaper on each reboot, 4 monitors
Product: [Plasma] plasmashell Reporter: Tuxik <tuxenergy>
Component: generic-multiscreenAssignee: Aleix Pol <aleixpol>
Severity: normal CC: bvbfan, kde, notmart, plasma-bugs
Priority: NOR    
Version: 5.8.2   
Target Milestone: 1.0   
Platform: Other   
OS: Linux   
Latest Commit: Version Fixed In:

Description Tuxik 2016-10-29 10:16:22 UTC
Hi. When I saw 'LTS' keyword in Plasma 5 release, I thought, maybe now it is usable and a bit stable. I reinstalled my system and switched from stable 4.14.4. Seems was bad idea. 

I have 4 monitors on GTX660. 
Every time I reboot/shutdown from Plasma, I loose wallpaper on the monitor, that is only working on bios bootup (the rest three powers on after KMS). Also, my main panel moves to that monitor, however it was on my 'primary' monitor, as defined in system settings. And this happens every reboot. 

Please help save my settings.
Kernel 4.7.10
plasma-meta-5.8.2 from kde-overlay, Gentoo

P.S. Guys, I love KDE and will never switch from it, but please, don't do unstable release more marked as 'stable' and don't use all people as testers. You loose all followers. 'plasma is not crashing?' nobody believes. Please don't repeat kde4 and kde5 mistakes. Focus on stability.
Comment 1 Anthony Fieroni 2016-10-30 07:20:33 UTC
Provide also Qt version.
Comment 2 Tuxik 2016-10-31 08:25:11 UTC
Qt version 5.6.1
Comment 3 Marco Martin 2016-10-31 12:48:51 UTC
does this happens also if you kill and restart the plasmashell process from a terminal as opposed to restarting the whole session?
Comment 4 Marco Martin 2016-11-09 14:59:53 UTC
Git commit b8d3e09b3687082037a6d280d2032617121ae5e5 by Marco Martin.
Committed on 09/11/2016 at 14:54.
Pushed by mart into branch 'Plasma/5.8'.

make sure all outputs are known

at startup, if a screen id is missing from the screenpool mapping
containment::screen() will return -1 for a moment in the startup
phase even if it has a valid lastScreen

populate mappings of eventual missing stuff at screenpool ctor

make sure destroyed containments don't get assigned a view

reviewed-by: David Edmundson
Related: bug 372099, bug 371858, bug 371991, bug 371734

M  +11   -0    shell/screenpool.cpp
M  +7    -1    shell/shellcorona.cpp

Comment 5 David Edmundson 2016-11-10 10:28:49 UTC
Git commit 8a472f17ce11f3b79d740cdc21096d82b8683f3d by David Edmundson.
Committed on 10/11/2016 at 10:28.
Pushed by davidedmundson into branch 'Plasma/5.8'.

Avoid connecting to screen changed signals twice

load() can be called multiple times; either from setShell or
loadLookAndFeelDefaultLayout. We still only want addOutput once when a
screen is added

Reviewers: #plasma, apol

Reviewed By: apol

Subscribers: plasma-devel

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D3320
Related: bug 372099, bug 371858, bug 371734

M  +3    -3    shell/shellcorona.cpp

Comment 6 David Edmundson 2016-11-10 12:03:45 UTC
Git commit 7154fb681adc73c482e862febc7ad008f77058dd by David Edmundson.
Committed on 10/11/2016 at 12:03.
Pushed by davidedmundson into branch 'Plasma/5.8'.

Load screenpool at the same time as we connect to screenchanged signals

Otherwise we have a gap during load (waiting querying kactivities))
between screen pool being created and us connecting to the screen
changed signals, which in turn are used to update screen pool.

In particular the primary screen can get out of sync between the current
state and the screen pool.

Test Plan: Based on Christopher Feck's research and initial patch

Reviewers: #plasma

Subscribers: mart, rwooninck, fvogt, cfeck, plasma-devel

Tags: #plasma

Differential Revision: https://phabricator.kde.org/D3319
Related: bug 372099, bug 371858, bug 371734

M  +1    -0    shell/autotests/screenpooltest.cpp
M  +8    -0    shell/screenpool.cpp
M  +1    -0    shell/screenpool.h
M  +3    -1    shell/shellcorona.cpp

Comment 7 Janek Bevendorff 2016-11-18 11:51:17 UTC

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