This is a modern UI wrapper for linux-wallpaperengine. This app has most features of linux-wallpaperengine plus some additional features(like compatibility tagging for wallpapers) for a better user experience. Also a shoutout to simple-linux-wallpaperengine-gui, which I referenced for CLI commands.
You need to own and install Wallpaper Engine on Steam. Open Wallpaper Engine via Steam so the wallpapers are downloaded to your system.
You need to go to the linux-wallpaperengine repo page and follow the build instructions to compile and install it. Please read carefully and make sure it supports your OS and configuration — if it doesn't, this app is useless. Wayland works with compositors that support wlr-layer-shell-unstable, while X11 requires XRandr and --screen-root <screen_name> (as shown in xrandr) and currently does not work if a compositor or desktop environment (e.g. GNOME, KDE, Nautilus) is drawing the background.
Verify the installation:
linux-wallpaperengine --helpTest if it is working on your system by applying a wallpaper with the cli. For example (you will need to find your own path to the wallpaper file and the screen name):
linux-wallpaperengine --screen-root DP-2 --bg /home/$USER/.local/share/Steam/steamapps/workshop/content/431960/<wallpaper_id>You might need to create a symlink to make the binary accessible in your $PATH:
# If installed to /opt (common)
sudo ln -sf /opt/linux-wallpaperengine/linux-wallpaperengine /usr/local/bin/linux-wallpaperengine
# Or from a custom build directory
sudo ln -sf /path/to/your/build/linux-wallpaperengine /usr/local/bin/linux-wallpaperengineGrab the latest package from GitHub Releases for your distro.
sudo apt install ./linux-wallpaper-engine_<version>_amd64.debsudo dnf install ./linux-wallpaper-engine-<version>.x86_64.rpmflatpak install --user ./com.github.jagrat7.LinuxWallpaperEngine_stable_x86_64.flatpak# Extract the archive (use your preferred tool: unzip, 7z, etc.)
unzip linux-wallpaper-engine-<version>-linux-x64.zip
# Run the executable
cd linux-wallpaper-engine-linux-x64
./linux-wallpaper-engineRun the app without installing (flakes must be enabled):
nix run github:jagrat7/linux-wallpaper-engineOn NixOS, add the flake as an input:
# flake.nix
{
inputs = {
linux-wallpaper-engine.url = "github:jagrat7/linux-wallpaper-engine";
# ...
}
# your system outputs...
}Then simply consume the package:
# in a NixOS system module...
{ inputs, pkgs, ... }:
{
environment.systemPackages = [
inputs.linux-wallpaper-engine.packages.${pkgs.stdenv.hostPlatform.system}.default
# ...
];
}
# or in a home-manager module...
{ inputs, pkgs, ... }:
{
home.packages = [
inputs.linux-wallpaper-engine.packages.${pkgs.stdenv.hostPlatform.system}.default
# ...
];
}- Wallpaper Gallery — Browse all your Steam Workshop wallpapers in a responsive, animated grid with thumbnails. You can add filters and sorts to make it easier to find the wallpapers you want.

- Playlists (NEW!) — You can create and apply playlists to group wallpapers together and apply them to your monitors.

-
Compatibility/Errors tracking — You can manually tag the wallpapers as compatible or not from the settings or run the compatibility scanner to bulk-tag them, it's not 100% accurate but it will get you close. You can filter out wallpapers with errors or compatibility issues so you don't see them in the gallery.

- Multi-Monitor Support — Detect all connected displays, apply different wallpapers per screen, and view your monitor layout at a glance

- Settings — Comprehensive options to tailor the application to your needs:
- Performance: Manage resource usage with FPS limits, auto-pause on fullscreen, and startup preferences.
- Compatibility: Built-in tool to scan and verify which Steam Workshop wallpapers run natively on Linux.
- Audio: Control master volume, mute rules, and enable audio processing for reactive wallpapers.
- Display: Adjust default scaling, toggle mouse interactions, and manage parallax effects.
- Appearance: Switch themes (Light, Dark, Steam-like) and customize UI elements like the status bar.
- A single installation for both the backend and the UI.
- Make per-wallpaper settings dynamic.
Contributions and feedback are welcome! Checkout Discussions to vote on features, share ideas, or ask questions. You can also open an issue or submit a pull request. See CONTRIBUTING.md for more info.






