Windows moving off 2nd screen after screenlock (sometimes??)
On my main machine I have two monitors connected; after the upgrade to xfce in Fedora 34, (and possibly a switch to using xfce4-screensaver from xscreensaver??? see other bugs), I'm seeing windows move from my 2nd screen to my main screen during screenlock, most of the time. (but not all)
xfce4-power-manager-4.16.0-2.fc34.x86_64 on Fedora 34 xfce4-screensaver-4.16.0-2.fc34.x86_64
[dg@dalek ~]$ xrandr
Screen 0: minimum 320 x 200, current 5760 x 2160, maximum 16384 x 16384
DisplayPort-0 connected 3840x2160+0+0 (normal left inverted right x axis y axis) 621mm x 341mm
3840x2160 60.00*+ 29.98
...
DVI-D-0 connected 1920x1080+3840+1080 (normal left inverted right x axis y axis) 477mm x 268mm
1920x1080 60.00*+
(The 4k is a Dell S2817Q, the HD is Iiyama Prolite PLE2208HDS)
(I think I've also seen this on my work laptop with a slightly different config; the same Dell is the external 2nd monitor on the laptop [on HDMI] and the builtin display. But if it is happening it's much rarer on there.)
I'm suspecting perhaps the HD monitor is powersaving to the point where it's disappearing too well??
Looking in /var/log/Xorg.0.log ; egrep -i 'allocat|EDID' /var/log/Xorg.0.log I see what looks like some redetection??
[ 8.446] (II) AMDGPU(0): EDID for output DisplayPort-0
[ 8.446] (II) AMDGPU(0): EDID Version: 1.4
[ 8.446] (II) AMDGPU(0): Number of EDID sections to follow: 1
[ 8.446] (II) AMDGPU(0): EDID (in hex):
[ 8.446] (II) AMDGPU(0): EDID for output HDMI-A-0
[ 8.447] (II) AMDGPU(0): EDID for output DVI-D-0
[ 8.447] (II) AMDGPU(0): EDID Version: 1.3
[ 8.447] (II) AMDGPU(0): EDID (in hex):
[ 16.610] (II) AMDGPU(0): EDID vendor "IVM", prod id 22026
[ 16.610] (II) AMDGPU(0): Using EDID range info for horizontal sync
[ 16.610] (II) AMDGPU(0): Using EDID range info for vertical refresh
[ 144.910] (II) AMDGPU(0): EDID vendor "IVM", prod id 22026
[ 5698.911] (II) AMDGPU(0): EDID vendor "IVM", prod id 22026
[ 5699.062] (II) AMDGPU(0): Allocate new frame buffer 1920x1080
[ 5699.519] (II) AMDGPU(0): EDID vendor "IVM", prod id 22026
[ 5699.525] (II) AMDGPU(0): Allocate new frame buffer 5760x2160
[ 11646.914] (II) AMDGPU(0): EDID vendor "IVM", prod id 22026
[ 11647.071] (II) AMDGPU(0): Allocate new frame buffer 1920x1080
[ 11647.521] (II) AMDGPU(0): EDID vendor "IVM", prod id 22026
[ 11647.527] (II) AMDGPU(0): Allocate new frame buffer 5760x2160
[ 15144.103] (II) AMDGPU(0): EDID vendor "IVM", prod id 22026
[ 15144.252] (II) AMDGPU(0): Allocate new frame buffer 1920x1080
[ 15144.723] (II) AMDGPU(0): EDID vendor "IVM", prod id 22026
[ 15144.730] (II) AMDGPU(0): Allocate new frame buffer 5760x2160
[ 21364.798] (II) AMDGPU(0): EDID vendor "IVM", prod id 22026
[ 21364.868] (II) AMDGPU(0): Allocate new frame buffer 1920x1080
[ 21365.509] (II) AMDGPU(0): EDID vendor "IVM", prod id 22026
[ 21365.517] (II) AMDGPU(0): Allocate new frame buffer 5760x2160
[ 21698.315] (II) AMDGPU(0): EDID vendor "IVM", prod id 22026
[ 21698.405] (II) AMDGPU(0): Allocate new frame buffer 1920x1080
[ 21699.020] (II) AMDGPU(0): EDID vendor "IVM", prod id 22026
[ 21699.026] (II) AMDGPU(0): Allocate new frame buffer 5760x2160
[ 22035.077] (II) AMDGPU(0): EDID vendor "IVM", prod id 22026
[ 22035.167] (II) AMDGPU(0): Allocate new frame buffer 1920x1080
[ 22035.782] (II) AMDGPU(0): EDID vendor "IVM", prod id 22026
[ 22035.791] (II) AMDGPU(0): Allocate new frame buffer 5760x2160
I tried capturing dbus session data and hmm, there's a lot of it, I noticed:
method call time=1617387761.085473 sender=:1.31 -> destination=:1.8 serial=330 path=/org/xfce/Xfconf; interface=org.xfce.Xfconf; member=SetProperty
string "displays"
string "/ActiveProfile"
variant string "Default"
error time=1617387761.085492 sender=:1.8 -> destination=:1.34 error_name=org.xfce.Xfconf.Error.PropertyNotFound reply_serial=2330
string "Property "/backdrop/screen0/monitorDVI-D-0/workspace1/backdrop-cycle-timer" does not exist on channel "xfce4-desktop""
--
method call time=1617387761.688739 sender=:1.31 -> destination=:1.8 serial=338 path=/org/xfce/Xfconf; interface=org.xfce.Xfconf; member=SetProperty
string "displays"
string "/ActiveProfile"
variant string "e6581af7a0cda1a123950c465d3c8f1a5bd6acfa"
(Note that they're very close together)