Live GPU shaders as your wallpaper. Yes, really.
neowall_demo.mp4
neowall_mouse.mp4
NeoWall renders Shadertoy shaders directly on your desktop. Wayland, X11, multi-monitor, 60fps, ~2% CPU.
neowall # That's it. You now have an animated wallpaper.Pre-built binaries:
Download from Releases:
# Arch, Debian/Ubuntu, or Fedora
tar -xzf neowall-linux-x86_64-*.tar.gz
sudo mv neowall /usr/local/bin/Arch (AUR):
yay -S neowall-gitBuild from source:
git clone https://github.com/1ay1/neowall && cd neowall
meson setup build && ninja -C build
sudo ninja -C build installDependencies
# Debian/Ubuntu
sudo apt install build-essential meson ninja-build libwayland-dev \
libgles2-mesa-dev libpng-dev libjpeg-dev wayland-protocols \
libx11-dev libxrandr-dev
# Arch
sudo pacman -S base-devel meson ninja wayland mesa libpng libjpeg-turbo \
wayland-protocols libx11 libxrandr
# Fedora
sudo dnf install gcc meson ninja-build wayland-devel mesa-libGLES-devel \
libpng-devel libjpeg-turbo-devel wayland-protocols-devel \
libX11-devel libXrandr-develLives at ~/.config/neowall/config.vibe
Shader wallpaper:
default {
shader retro_wave.glsl
shader_speed 0.8
}
Image slideshow:
default {
path ~/Pictures/Wallpapers/
duration 300
transition glitch
}
Multi-monitor:
output {
DP-1 { shader matrix_rain.glsl }
HDMI-A-1 { path ~/Pictures/ duration 600 }
}
neowall # start
neowall kill # stop
neowall next # next wallpaper
neowall pause # pause
neowall resume # resume
neowall list # show cycle
neowall set 3 # jump to index 3
neowall current # what's playing?30+ included. Some highlights:
| Vibe | Shaders |
|---|---|
| ๐ Synthwave | retro_wave synthwave neonwave_sunrise |
| ๐ Nature | ocean_waves aurora sunrise moon_ocean |
| ๐ป Cyber | matrix_rain matrix_real glowing_triangles |
| ๐ฎ Abstract | fractal_land plasma mandelbrot |
| ๐ Space | star_next starship_reentry cross_galactic_ocean |
Use any Shadertoy shader:
- Copy code from shadertoy.com
- Save to
~/.config/neowall/shaders/cool.glsl - Config:
shader cool.glsl - Done
GLEditor โ live shader editor that exports directly to NeoWall. Write, preview, one-click install.
yay -S gleditor-gitโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
โ NeoWall Daemon โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Config Parser โ Event Loop โ Shaders โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ Wayland (layer-shell) โ X11 (EWMH) โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโค
โ EGL / OpenGL 3.3 โ
โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ
- Pure C, single binary
- GPU does the work, CPU chills
- timerfd/signalfd โ no busy loops
- Same code runs everywhere
| NeoWall | swww | mpvpaper | hyprpaper | |
|---|---|---|---|---|
| Live shaders | โ | โ | โ | โ |
| Shadertoy | โ | โ | โ | โ |
| Videos | โ | GIFs | โ | โ |
| Images | โ | โ | โ | โ |
| X11 | โ | โ | โ | โ |
| Wayland | โ | โ | โ | โ |
| Interactive | โ | โ | โ | โ |
NeoWall = only Linux tool for live GPU shader wallpapers.
- KDE Plasma: Desktop icons might hide. Use a dock.
- No video wallpapers: Use mpvpaper for that.
meson setup build --buildtype=debug
ninja -C build
./build/neowall -f -vPRs welcome: shaders, bug fixes, docs, testing.
MIT โ do whatever you want.
Bugs ยท Chat ยท โญ Star if cool