Waypaper Engine is a Linux port of the popular Windows app Wallpaper Engine.
Customize your desktop with beautiful, animated wallpapers created by the community.
⚠️ Disclaimer:
This project is in a very immature state and is not ready for general use.
- Many features are incomplete or unimplemented.
- Expect bugs, crashes, and breaking changes at any time.
- Nothing is guaranteed to work reliably.
If you're trying it out, please consider it a preview and not a fully functional application. Contributions and feedback are welcome as we continue to improve!
- Rendering through the
wlr_layer_shell protocol
:
Handles wallpaper rendering on supported Wayland compositors seamlessly. Tested on Hyprland and KWin. - Wallpapers discovery and deserialization:
Supports extracting and interpreting Wallpaper Engine proprietary formats for textures and other assets. - Simple UI for choosing a wallpaper:
A basic user interface is available with search functionality but lack advanced options
- Video wallpapers:
Basic playback functionality is implemented usingvideo_rs
and a homemade renderer usingOpenGL
, but stability needs improvement. - Multiscreen support:
Works in basic scenario, needs more testing for exotic setups. Fully implemented on daemon side, but the UI currently don't refresh monitor list on hotplug and needs to be restarted
- Customization and advanced settings:
Settings for selecting WE installation directory, fps cap, animation speed, etc - IPC:
A way to communicate with the daemon without the UI to integrate the app in your bash scripts, startup scripts, or automation apps of your choice - Scenes and Web wallpapers:
More advanced wallpaper types, involving 3D real-time rendering or web display
- X11 compatibility
The project is focused exclusively on Wayland for modern compositors; X11 will not be supported. - Application wallpapers:
Wallpapers involving execution of windows.exe
files are not in scope of this project - Interactive wallpapers:
Wallpapers requiring user interaction or advanced scripting won’t be implemented. (Might be supported later but this is not a priority)
- 🖼️ Bring Wallpaper Engine to Linux !
- 🌐 Access a vast library of community-made wallpapers from the Wallpaper Engine workshop
- ⚡ Written in Rust — lightweight, reliable, and blazingly fast
- ✅ Designed with correctness in mind and a focus on avoiding memory leaks.
- 🔧 Easy to configure and use (coming soon)
- Rust >1.79
- A wayland compositor supporting the wlr_layer_shell protocol (tested on Hyprland and KWin)
You’ll need a valid copy of Wallpaper Engine, available for purchase and installation through the official Linux Steam client.
Work In Progess
The app is split in two binaries : the daemon (service) and the UI. The daemon handles setting up the wallpaper and runs independently, even after you close the UI. This means you can enjoy animated wallpapers while saving system resources by not keeping the UI open !
To start the daemon, run:
cargo run --bin waypaper_engine_daemon --release
To start the UI, run:
cargo run --bin waypaper_engine_ui --release
Important: Always start the daemon before launching the UI. Currently, the app requires Wallpaper Engine to be installed from Steam in the default directory
WIP
Contributions are welcome! If you'd like to contribute, just make a PR.
For any questions or feedback, feel free to fill a GitHub issue.