A lightweight Wayland wallpaper engine featuring smooth, GPU-accelerated parallax / panning effects.
output.mp4
- 🖼️ Real-time wallpaper rendering powered by OpenGL (GLES2)
- 🎯 Smooth, cursor-driven parallax effect
- ⚡ Fast and minimal CLI-based control
- 🧩 Clean daemon + client architecture
Wallrift is composed of two main components:
- Runs as a background service
- Handles rendering via Wayland, EGL, and OpenGL
- Listens for commands over a Unix domain socket
- Sends commands to the daemon
- Used to set wallpapers and adjust parameters
yay -S wallriftgit clone https://github.com/saber-88/wallrift
cd wallrift
mkdir build && cd build
cmake ..
make
⚠️ Note
Shader files must be available at:
/usr/share/wallrift/shaders/Copy the
shaders/directory manually after building.
wallrift-daemonwallrift img /path/to/image.jpgwallrift img ~/wallpapers/bg.jpg speed 0.03| Command | Description |
|---|---|
img <path> |
Set wallpaper image |
speed <value> |
Set parallax speed (0.0 – 1.0) |
- Images are loaded using
stb_image - Uploaded to the GPU as textures
- Cursor movement is interpolated to produce smooth parallax motion
- Horizontal movement is driven by cursor position
- Smooth interpolation eliminates abrupt transitions
- Best suited for wallpapers wider than screen resolution
- Lower speed values provide more fluid motion
- Wayland
- EGL
- OpenGL ES 2.0
- stb_image
Wallrift uses a Unix domain socket for IPC:
/tmp/wallrift.sock
- Use wide (ultrawide-style) wallpapers for best results
- Wallpaper collection: https://github.com/saber-88/walls
- Recommended companion tool: https://github.com/saber-88/swifty
- Memory optimization
- Smooth transitions
- Multi-monitor support
- Animated wallpapers
- Config file support