Heavy customization is important to me on the Linux desktop. This project has given me a lot more faith in Wayland than 5 years of hearing debates about it.
From my understanding, the security decisions around things like screen locking are the source of many of the pain points holding back X11 users from wayland.. Things like xtest(send input events from random sources), screen grabbing/video recording(allowing another app to see the contents of another window from a potentially different security domain), focus grabbing, input sniffing, are all difficult on wayland, specifically because they are serious security issues on X11, especially in light of a modern understanding of the risk profile.
Yes, many of Wayland's problems come down to particular ideas about security at the expense of functionality. But IMHO screen locking is a rare exception because the overly restrictive approach is actually fairly reasonable here, and the set of features to (not) implement is smaller.
Thanks for your idea! I think it is totally possible to implement a screensaver with the ext-session-lock protocol. I will try to explore this idea when I have time in the next few months :)
Do you have a Ko-fi?
'cause I would really enjoy that screensaver.
I adore this project on its own merits too because using the memory values in an emulated game is something that has fascinated me since Twitch Plays Pokémon integrated their Twitch display!
For use with vintage computers that use CRTs? If not, what kind of oddball display / use-case do you have, where it would be better to play a screensaver than to follow the usual modern flow of display dim -> display black -> display sleep -> computer lock -> [maybe] computer sleep?
One of the great strengths of Linux, and one of the things that draws new people in, is the custizability and making the system your own to whatever degree you want. That a "modern" display manager doesn't let you have a screensaver and people try to cover up for it with "you're just trying to use your system wrong. Be normal and use your system like we say is normal" is embarassing.
I think that's a little dramatic. Screen savers originally served a purpose, and it's not unreasonable to be unaware that some people see them are customization.
If you think it's embarrassing, you're welcome to contribute a working implementation or pay someone else to do it. Otherwise, I don't see how it's embarrassing.
What modern display manager doesn't let you? In KDE the screensaver is merged into the screen locker settings, you can pick any "wallpaper plugin" which includes slideshows, video, or animation if you plug in e.g. https://store.kde.org/p/2143912 or https://store.kde.org/p/2194089
Some hardcore Greenpeace types might argue that this is a special case where such a person is literally using their system "wrong" — as in unethically. In the sense that they are deliberately wasting [i.e. "turning into waste heat"] a nontrivial amount of power, by keeping however-many monitors they use always powered on, never allowing any of them to enter sleep.
It's a sort of attitude that isn't really that problematic when one person does it; but becomes problematic if it becomes a popular thing to do.
Anyone here who lived through the 1990s might remember that the ENERGY STAR certification initiative — that today measures all sorts of things — began specifically to grade computer monitors on their ability to be put into a low-power sleep state by software control.
Everyone back then loved the computer personalization aspect of screensavers — I had After Dark installed myself! — and what resulted was an energy-waste tragedy-of-the-commons of a large-enough scale that the EPA had to get involved.
If there's one thing I never tire of, it's someone telling me that I don't need something or how I'm doing it wrong. I would love a screensaver that scrubs my OLED pixels.
Turning dim and black as soon as possible is actually the best for an OLED. A traditional screensaver is a net negative. The built-in fancy-mitigation systems are also probably better than any intermittent fancy screensaver (without the ability to analyze the panel wear to be corrected directly), but at least that's angling towards something better than a loss.
Of course, screensavers are still plain fun. That's justification enough to set one if you want.
I use Wayland! I like it a lot and I think that it's a sensible way to take window management in the 21st century. However, it's clearly not _mature_ yet (which is understandable - it's very new!). My use case specifically is a bit unusual:
1. I'm on an NVIDIA graphics card - this struggles a lot, I won't lie, and it's really odd issues which are difficult to track down.
2. I'm running Deskflow for virtual KVM - this is using literally someone's hand-rolled attempt to hack Wayland to make it work - it manages the most important element: my keyboard and mouse are shared between my Linux desktop and my MacBook - but much of the incidental functionality, most notably copy-pasting and repeating held keys, doesn't work at all. Mod keys seem a bit fucky as well.
That said, I'm committed - am excited to see the tech honed in the coming years.
For me the real conundrum was SwayWM vs KDE Wayland rather than any X.org session; I really felt like SwayWM was a good upgrade from i3wm and gave me a better desktop session with much less hacks. Hope to see wlroots push forward and support some of the newer Wayland protocols, it has started to fall behind a little bit, but I think it's good for alternative desktops.
Root is definitely required to inject inputs at the kernel level using uinput, which I think is what you would hope, ignoring the fact that the typical Linux desktop still has a lot of other low hanging fruit to fix in terms of security.
Anyway though, the "standard" way to do automatic clicking and typing on Wayland is via the RemoteDesktop portal, named such because it is used with ScreenCast to support use cases like VNC and RDP servers. Despite the poor choice of name, it gives a general API for sending inputs programmatically.
This does require at least a one-time permission grant for an application to use, but at least on KDE it is possible for the permission to persist across runs.
I'm sure everyone is unenthused about having to deal with another way to do things, but it's at least decently straightforward... You could certainly invoke this from a quick Python script I reckon.
(There's also libei but it's kind of a mess imo and I don't know if it is well-supported yet.)
The reason Wayland users might be more likely to opt into telemetry is because they see Wayland as "developing" and therefore needing that user data for development purposes. I have no idea what the incidence would actually be, but there is certainly a potential selection bias in there.
Nothing solid. It would be entertaining if it were the opposite. But unless we have a really good reason to think we know which way it leans, the unknown unknown means I wouldn't want to trust the numbers.
Cool kids don't allow telemetry. I think that any software whose userbase isn't totally oblivious will have severe selection effects if you use data obtained by spying.
If the cool kids are so cool, they should learn to distinguish transparent opt-in telemetry from invasive opt-out telemetry. Unfortunately, being "cool" doesn't get your needs represented, so it's really not always in your best interests to never opt in.
¹ It always seems to be just around the next corner. Sixteen years on, it would be nice if we could have feature parity.
But jwz (XScreenSaver's creator and maintainer) doesn't give me much hope: https://www.jwz.org/blog/2025/07/xscreensaver-wayland-and-lo...
I adore this project on its own merits too because using the memory values in an emulated game is something that has fascinated me since Twitch Plays Pokémon integrated their Twitch display!
If you think it's embarrassing, you're welcome to contribute a working implementation or pay someone else to do it. Otherwise, I don't see how it's embarrassing.
It's a sort of attitude that isn't really that problematic when one person does it; but becomes problematic if it becomes a popular thing to do.
Anyone here who lived through the 1990s might remember that the ENERGY STAR certification initiative — that today measures all sorts of things — began specifically to grade computer monitors on their ability to be put into a low-power sleep state by software control.
Everyone back then loved the computer personalization aspect of screensavers — I had After Dark installed myself! — and what resulted was an energy-waste tragedy-of-the-commons of a large-enough scale that the EPA had to get involved.
I use steam deck with TV as a media PC and it's OLED, I don't want to lock a media PC nor want to display a static picture on it.
Of course, screensavers are still plain fun. That's justification enough to set one if you want.
It's fun.
You should also post here: https://news.ycombinator.com/item?id=44837981
1. I'm on an NVIDIA graphics card - this struggles a lot, I won't lie, and it's really odd issues which are difficult to track down. 2. I'm running Deskflow for virtual KVM - this is using literally someone's hand-rolled attempt to hack Wayland to make it work - it manages the most important element: my keyboard and mouse are shared between my Linux desktop and my MacBook - but much of the incidental functionality, most notably copy-pasting and repeating held keys, doesn't work at all. Mod keys seem a bit fucky as well.
That said, I'm committed - am excited to see the tech honed in the coming years.
https://blogs.kde.org/2025/03/15/this-week-in-plasma-file-tr...
For me the real conundrum was SwayWM vs KDE Wayland rather than any X.org session; I really felt like SwayWM was a good upgrade from i3wm and gave me a better desktop session with much less hacks. Hope to see wlroots push forward and support some of the newer Wayland protocols, it has started to fall behind a little bit, but I think it's good for alternative desktops.
Anyway though, the "standard" way to do automatic clicking and typing on Wayland is via the RemoteDesktop portal, named such because it is used with ScreenCast to support use cases like VNC and RDP servers. Despite the poor choice of name, it gives a general API for sending inputs programmatically.
https://docs.flatpak.org/en/latest/portal-api-reference.html...
This does require at least a one-time permission grant for an application to use, but at least on KDE it is possible for the permission to persist across runs.
I'm sure everyone is unenthused about having to deal with another way to do things, but it's at least decently straightforward... You could certainly invoke this from a quick Python script I reckon.
(There's also libei but it's kind of a mess imo and I don't know if it is well-supported yet.)
It's entirely the point of moving to Wayland for many.
That is a significant caveat.
Wayland in Raspberry Pi OS (labwc)
Wayland in Debian: Bookworm (Sway), Trixie (labwc)