68
submitted 10 months ago by [email protected] to c/[email protected]

Wayland does not support screen savers: it does not have any provision that allows screen savers to even exist in any meaningful way. If you value screen savers, that's kind of a problem.

Adding screen savers to Wayland is not simply a matter of "port the XScreenSaver daemon", because under the Wayland model, screen blanking and locking should not be a third-party user-space app; much of the logic must be embedded into the display manager itself. This is a good thing! It is a better model than what we have under X11.

But that means that accomplishing that task means not just writing code, but engaging with whatever passes for a standards body or design committee in the Wayland world, and that is... how shall I put this... not something that I personally feel highly motivated to do.

all 24 comments
sorted by: hot top controversial new old
[-] [email protected] 43 points 10 months ago

Who even uses screensavers anymore? Just set the screen to turn off after a set amount of time.

[-] [email protected] 20 points 10 months ago

a visible locking screen saver on idle workstations is a requirement in many places.

[-] [email protected] 16 points 10 months ago

AFAIK screen locking is already possible and widely implemented; it's just being handled by the display manager (? I think that that's the right term). It's just that you can't install anything that provides a fancy animation, if I understand correctly.

[-] [email protected] 8 points 10 months ago

Yes and my screen locks when the screen turns off, don't need useless graphics bouncing around.

[-] [email protected] 8 points 10 months ago* (last edited 7 months ago)

[This comment has been deleted by an automated system]

[-] [email protected] 10 points 10 months ago

With the increasing popularity of OLED displays, screensavers might make a comeback. Although I still think OLED displays aren't worth it.

[-] [email protected] 25 points 10 months ago

It's not gonna be better than turning the screen off.

[-] [email protected] 1 points 10 months ago

Oleds have built in hardware screen saver

[-] [email protected] 8 points 10 months ago

jwz addressed this, actually, by responding, "Who hurt you?"

[-] [email protected] 36 points 10 months ago* (last edited 10 months ago)

There's already a wayland protocols extension in "testing", called ext-session-lock-v1 [1]. Sway, river and other wlroots compositors already support it.

The ext-session-lock-v1 protocol is significantly more robust than previous client-side Wayland screen locking approaches. Importantly, the screenlocker crashing does not cause the session to be unlocked. [2]

[1] https://wayland.app/protocols/ext-session-lock-v1

[2] https://github.com/ifreund/waylock

[-] [email protected] 17 points 10 months ago

Oh no!

Anyways...

[-] [email protected] 14 points 10 months ago

Right so just installed xscreensaver - automatic blanking and locking is indeed broken BUT it does display all the pretty animations just fine! (at least on Sway)
Don't really have time to mess around with it but maybe try figuring out which mechanism is used for screen locking in your environment (in Sway's case it's swayidle) and get it to start xscreensaver right before calling the real locker program?
BTW you can get xscreensaver-settings to come up by unsetting the WAYLAND_DISPLAY variable:

env --unset=WAYLAND_DISPLAY xscreensaver-settings

Philosophical BS: I don't think it's correct to say that Wayland doesn't support screen savers, but rather that it doesn't support XScreenSaver, or, more accurately, the mechanisms it uses for screen locking and idle-detection.
As others have pointed out, equivalent functionality has already been implemented and is used by various screen lockers. What appears to be missing is something to take this functionality, and display an animation instead of just locking the screen.
I noticed that all of XScreenSaver's animations are actually separate binaries in /usr/lib/screensaver/ so we basically need a locker that speaks Wayland's locking protocol, but also takes and runs those binaries in full screen mode.
Or maybe XScreenSaver's dev can be convinced to add support once the protocols are stable?

[-] [email protected] 3 points 10 months ago* (last edited 7 months ago)

[This comment has been deleted by an automated system]

[-] [email protected] 5 points 10 months ago

Other than rumors that HiDPI stuff works better on Wayland (which only affects me on my laptop since I was stupid enough to buy a 4k one), I've seen no real reason to switch away from X. It's always just worked for me, and has since the 90s.

Maybe I'll reevaluate again in another decade. Perhaps Wayland will be finished by then.

[-] [email protected] 7 points 10 months ago

Its more secure. It is way better on multiple displays already. It is actually maintained. Windows are not just random things but there is actually a system behind it. Programs need manual portal permission to spy on you. No app can register your keystrokes or film your desktop.

"Dont ask yourself IF it works, but HOW it works" - Peter stuge

[-] [email protected] 3 points 10 months ago

Did he say that because the answer to IF it worked was no?

[-] [email protected] 1 points 10 months ago

He was referring to proprietary BIOSes that work for sure but suck. Coreboot on the other hand also works but doesnt suck

[-] [email protected] 3 points 10 months ago

So, we're going to have to struggle with every single X11 feature until Wayland is done ? Still no native network transparency either ? Last I checked you couldn't even control dpms monitor standby with xset and there was no equivalent.

[-] [email protected] 9 points 10 months ago
  • "Screensaver" isn't a feature of X - it's functionality provided by XScreenSaver which uses X mechanisms to detect user inactivity, lock the screen and display an animation.
    Equivalent mechanisms exist in Wayland, but XScreenSaver doesn't have logic to interact with them. This can be solved by either teaching XScreenSaver how to talk to these new mechanisms (difficult as it was developed for X from the ground up) or implementing something new.
  • Network transparency already exists (and has for some time) in the form of waypipe.
  • xset isn't a feature of X - it's a utility to control it. Since Wayland compositors aren't X, it makes sense for them to be controlled differently.
[-] [email protected] 9 points 10 months ago* (last edited 10 months ago)

Last I checked you couldn't even control dpms monitor standby with xset and there was no equivalent.

xset is xorg. The equivalent depends on your compositor, e.g. kscreen-doctor --dpms off for KDE Plasma and swaymsg "output * dpms off" for Sway.

[-] [email protected] 0 points 10 months ago

So every window manager now needs to implement tools to control power management ? That seems very uneconomical.

[-] [email protected] 8 points 10 months ago

I personally actually prefer a not finished but clean system, rather than a "it works, somehow, I guess" system

this post was submitted on 04 Sep 2023
68 points (87.8% liked)

Linux

45523 readers
1310 users here now

From Wikipedia, the free encyclopedia

Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).

Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.

Rules

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

founded 5 years ago
MODERATORS