gSlapper is a drop-in replacement for mpvpaper that plays both videos and static images. It uses GStreamer instead of libmpv: one pipeline decodes for all monitors, frames reach the GPU without copies, and memory stays flat over long sessions on any compositor, including NVIDIA where mpvpaper leaks.
# Video wallpaper
gslapper -o "loop" DP-1 /path/to/video.mp4
# Static image wallpaper
gslapper -o "fill" DP-1 /path/to/image.jpg
# All monitors
gslapper -o "loop" '*' /path/to/video.mp4Full documentation available at: https://nomadcxx.github.io/gSlapper/
- Play videos (MP4, MKV, WebM) and images (JPEG, PNG, WebP, GIF)
- Fade transitions between images
- Multi-monitor support
- IPC control via Unix socket (pause, resume, change wallpaper)
- Scaling modes: fill, stretch, original, panscan
- Lower CPU, RAM, and GPU use than mpvpaper on any Wayland compositor
yay -S gslapperPrebuilt packages are attached to every release:
# Debian 13 (also Ubuntu 25.x)
sudo apt install ./gslapper_<version>_debian13_amd64.deb
# Ubuntu 24.04
sudo apt install ./gslapper_<version>_ubuntu24.04_amd64.deb
# Fedora 42+
sudo dnf install ./gslapper-<version>-1.fedora42.x86_64.rpmgit clone https://github.com/Nomadcxx/gSlapper.git
cd gSlapper
meson setup build --prefix=/usr/local
ninja -C build
sudo ninja -C build installgit clone https://github.com/Nomadcxx/gSlapper.git
cd gSlapper
nix build
./result/bin/gslapper --helpFor development:
nix developSee Nix Installation Guide for system integration options.
GPL-3.0 License - see LICENSE
