For as long as I remember using the lock-screen of XFCE (which is only 2 years) on EndeavourOS (Arch) I have the following problem.
I have two displays and a receiver. Locking the system and turning a display/receiver off makes you able to see the contents of the desktop.
My system is almost always running the latest updates and only ever lags behind 2-3 weeks.
My system is almost always running the latest updates and only ever lags behind 2-3 weeks.
So I guess you're using xfce4-screensaver 4.18.2? It looks like #58 (closed) but it would be something else, since the fix for #58 (closed) is in 4.18.2. I can't reproduce this issue anyway, so I must be missing something...
To be a bit more specific what happens. I turn the display power off of one display, wait for 5 seconds and then I can see the desktop on my display that is still on; this is probably triggered by the desktop resolution changing.
The displays in question are connected via DP and behave a bit different when powered off compared to my HDMI receiver?
When init_rand15 is called, it always re-creates the monitors. This caused my xfce4-screensaver always to leak the screen content for several seconds after the screen woke up from power-saving mode.
Meanwhile I have re-worked my patch to keep the monitors if they are unchanged. Nevertheless, it was only the trigger for the bug. Maybe this helps to debug it.
Edit: adding/removing monitors probably also triggers init_rand15 which re-initializes the gtk-monitor objects.
Its merged in the master; but you haven't released a new tag yet. The only way for me to test this right now would be to build the project myself?; or wait for a new version.
To build it, I just clone the repo and follow the build instructions or should I download one of the linked files in the readme?
I tested it, the last step the "make install" I ran as sudo. Next I verified that the modified date of xfce4-screensaver said 10 februari in /usr/bin. Then I rebooted the machine just to make sure. Sadly this does not seem to fix the problem for me.
I locked my pc and then turned off my left screen. As you can see, the desktop and the very secret document is visible.
It is however related to what you stated that it only happens after the resolution of the desktop changes.
It is however related to what you stated that it only happens after the resolution of the desktop changes.
This could explain the problem, as there's no change of resolution in my case. I'd have to see how I could reproduce that...
I don't promise to be able to plug all the holes in this matter, I think the real solution is what was done for Wayland: a protocol that leaves it up to the compositor to leave the session locked in case of problems (especially if the screensaver crashes). But I'll try to have another look (although I'm not sure it will be for 4.18.3).
I have tried changing the resolution with or without connecting/disconnecting a monitor while the screensaver is active or on the lock screen, without succeeding in reproducing the problem. So I'm afraid I won't be able to make much progress on this in the foreseeable future, unfortunately
Are there things I can do this to test and log it to help solve it? A little detail I only use the screensaver when I use the lockscreen.
I will also try to see if I can replicate the issue on my other system (a laptop) that runs PopOS.
Well, you can always attach a file giving the output of xfce4-screensaver --debug, I'll have a look at it, but without being able to reproduce the problem it generally doesn't get you very far...
I can't reproduce it on my Dell laptop with an external screen Dell U2515H connect via USB-C (DP). However, that system is running PopOS and the version of xfce4-screensaver is 4.16.0.
Are there any specific configuration files that might influence what happens when a screen is powered off or disconnected (not limited to the screensaver config). It might be there is something wrong with my configuration.
Are there any specific configuration files that might influence what happens when a screen is powered off or disconnected
Not that I'm aware of at Xfce level. xfsettingsd can do certain things at this point, depending on the configuration in xfce4-display-settings (displays channel in xfconf).
Just in case: are you sure of the version of xfce4-screensaver used on the machine where the bug occurs? Do you have two versions installed in parallel after building git-master?
EDIT: Ah, probably you're sure :)
Next I verified that the modified date of xfce4-screensaver said 10 februari in /usr/bin.
The version is indeed still the same as the one I build. It might be some weird display combination?
I have the following displays, from left to right, the center is the primary:
Dell U2518D - LG UltraGear 34GK950F - Sony STR-DN1080
DP - DP - HDMI
2560x1440 - 3440x1440 - 640x480
60hz - 144hz - 60hz
When I lock the screen and power of my Dell display it happens. When I have some more time I'll see what other combinations when turning of displays trigger it.
As you might have guessed I'm quite busy at the moment, so I hope I can get back with some results this weekend.
I'm running xfce4-screensaver 4.18.2 and have what appears to be the same issue.
Laptop's display is 1920x1080, external display (via HDMI) is 1920x1200. In my case it's the external display is set to primary in xfce4-settings - Display. The settings show that the laptop display refreshes at 60.02 Hz, the external display at 59.95 Hz.
I do/see the following:
log in
plug in external display
suspend
resume
at this point the lock screen dialog is showing on the laptop screen
unplug secondary display
lock screen dialog disappears and is replaced by desktop
mouse pointer is there, but I can't interact with the desktop, the session is still locked
if I enter my password and press ENTER, the session unlocks and I can interact.
Modified sequence, unplug before resuming:
log in
plug in secondary display
suspend
unplug secondary display
resume
the lock screen dialog shows briefly on the laptop display
lock dialog disappears and is replaced by desktop
session still locked
I can unlock by entering my password
If I plug in the external display again at step 8 then the lock screen dialog reappears again (on the laptop display, which is the same as what happens if I don't unplug at any point).
I can't reproduce that either. Note that this issue has received a patch that fixes at least part of the problem, so maybe you wouldn't be able to reproduce this with git master.
Also, since suspending is involved, it could be that this is (in part) a duplicate of #1 (see if disabling the xfwm4 compositor changes anything in particular).
Anyway, I'll wait until this weekend to see if @Nighteyes's additional information allows me to complete the fix, and then I'll release 4.18.3.
I did some further testing; now only with two displays. I have narrowed the problem down, it is really a specific edge case because it works fine in most cases.
The edge case is. Have the following setup, where the smaller display is left and larger display is right:
smaller resolution - bigger resolution
Then turn the smaller resolution display off. With turning off I mean removing the display cable from the gpu to make sure.
Only in this setup it triggers the bug. I could replicate the bug with the following setups:
Sony Receiver - Dell Display
Sony Receiver - LG Display
Dell Display - LG Display
The smaller display should have a smaller native resolution, at least that helped me trigger the bug the most reliable because some displays (the DP ones) go back to their native resolution.
I really can't reproduce that. I only have two monitors though, one of which is the laptop monitor, so maybe that's why. In any case I've just done plenty of testing to resolve an X11 error in !28 (merged), so if I could reproduce the problem I think I'd have managed it by now.
So I'll probably release 4.18.3 despite this, but not tonight :)
I'm seeing somewhat different behavior. For me, the external display, the one I unplug, is the larger one (in terms of resolution), and it doesn't matter whether it's set up to display a left- or right-hand portion of the desktop or, it now seems, whether it's set as the primary display or not.
I've also replicated the issue with the 'Lock Screen' action button instead of 'Suspend' (also an action button -- I experience the lid issue, too, but for that reason I've gotten into the habit of always using the action button whether or not I intend to close the lid).
This all still on 4.18.2, as I've tried to update to git master, but have so far stumbled at getting libtool installed and working.