Hi — I’ve been working on AnisPaper, an experimental live-wallpaper stack for KDE Plasma 6 / Wayland.
The idea is simple: keep the heavy rendering out of plasmashell. A small Plasma wallpaper plugin (AnisPaper Frame) mostly shows frames over shared memory; a daemon and isolated processes handle Scene / video / web.
It’s aimed at people who like animated wallpapers but don’t want a bad Workshop pack taking the desktop down with it.
What works today (experimental)
Wallpaper Engine Scene path (Workshop via your own Steam + Wallpaper Engine install)
Video and Web wallpapers
Multi-monitor
Portable AppImage on GitHub Releases (plus a tarball)
Where the wallpapers come from / Steam: AnisPaper doesn’t ship a Workshop of its own. For Scene wallpapers it uses content you already own via Steam + Wallpaper Engine (Workshop items on your machine). Separately it can also run video and web wallpapers without that. Nothing Valve/WE-affiliated; we just read local Workshop assets when you point us at them.
Multi-Activity + two screens: I run it on two monitors myself. Dual-monitor is supported; Activities each get their own wallpaper, so 10–20 Activities × 2 screens would mean many independent render paths. I haven’t stress-tested that many Activities at once, still experimental. On my box (Ryzen 7 5700G, RX 6600, 32 GB RAM) with wallpapers up, games like Smite feel fine; AnisPaper sits around ~4% CPU and ~800 MB RAM or less. Heavy Scene wallpapers on a big Activity farm would still add up (isolation helps plasmashell, not free cycles). For that case I’d start with video or one Scene at a time.
Happy to receive support, or any sort of issues, its still a work in progress but im trying my best to upgrade it <3
I think I’m slowly starting to understand – Steam has some animated wallpapers confusingly called Workshops or Scene wallpapers?
And if I understand correctly, AnisPaper can display the following (by using different backends):
Workshop / Scene wallpapers – from Steam
video files on the PC/laptop’s disk itself
video files somewhere on the internet
As some early feedback: it may make sense to explain these concepts better for those who are not already familiar with these words. And where one can get such animated wallpapers.
Perhaps it would make sense to just animate the wallpapers in the active Activity, and freeze (I think you call it “game mode”?) all the others?
Wallpaper Engine is an app only on Steam, which is an engine (duh) with some effects and rendering capabilities. Only working on Windows and sometimes through Proton on Linux if you get a DE plugin to integrate it. Last time I checked, the only plugin for Plasma 6 I found was not really working.
From what I understand, AnisPaper seems to have a reimplementation of that engine and thus is aiming to be compatible with the animated wallpaper format it uses.
The Steam Workshop is a place when you can submit user-generated content for games and apps (mods, maps, skins, …) and in the case of Wallpaper Engine, it is the animated wallpaper themselves, some of them which are called Scenes (because of their possible dynamic/interactive aspects). So it would be used as a source for them.
Thanks hook (and stlnb for the Wallpaper Engine / Workshop clarification).
Quick reality check on the freeze idea: today AnisPaper maps one wallpaper per output, shared across Activities. Plasma can still load extra Frame instances on other Activities, but they show the same SHM stream; freezing “inactive Activities” would not pause a separate renderer, because that separate wallpaper-per-Activity path does not exist yet.
Per-Activity wallpapers (different wallpaper per Activity + output) plus pausing what is not visible (reusing gaming-mode pause) is on the roadmap as a future feature. Until then, virtual desktops keep sharing the current Activity wallpaper, and gaming mode is the main “stop spending GPU” switch.
I’m not sure I follow (sorry, I’m not really a programmer).
But I am fairly certain Plasma has wallpaper per Activity (and screen) as default. What’s more, you can have a different wallpaper plugin in each Activity.
Plasma itself already lets each Activity (and each screen) use its own wallpaper plugin and settings. What I meant is only about AnisPaper’s control side today: the app/daemon picks one wallpaper per monitor and pushes that stream to every AnisPaper Frame on that monitor. So if Activity A and Activity B both use AnisPaper Frame on the same screen, they currently show the same live content, not two different AnisPaper wallpapers.
The bigger goal of AnisPaper is stability: putting heavy animated wallpapers inside plasmashell often crashes or wedges the desktop. We keep the renderer in separate processes and only feed frames into a thin Frame plugin, so Plasma stays up even when a Workshop scene misbehaves. Workshop/Scene is also just the easy way to grab animated ones without hunting MP4s one by one.
Per-Activity wallpapers (different wallpaper per Activity, pause what’s not visible) is still future work. Until then you can mix plugins (AnisPaper on one Activity, a static image on another).