An enhanced background/wallpaper service with live shader support for COSMIC DE.
Disclaimer: This project extends the functionality of cosmic-bg with live shader wallpapers. When set up correctly, cosmic-session will run GlowBerry instead of cosmic-bg.
recording-2026-02-02_18-33-39.mp4
- Live GPU-rendered shader wallpapers (WGSL)
- Static image wallpapers and solid colors
- Per-display configuration
- Power saving options (pause/reduce FPS on battery)
- Settings application for easy configuration
Build and install with just:
just
just installThis installs GlowBerry to ~/.local/bin/glowberry and creates a symlink at ~/.local/bin/cosmic-bg pointing to it. No sudo required.
- just
- cargo / rustc (install from https://rustup.rs/)
- libwayland-dev
- libxkbcommon-dev
- mold
- pkg-config
GlowBerry works by intercepting cosmic-session's call to cosmic-bg. The installer creates a symlink at ~/.local/bin/cosmic-bg that points to ~/.local/bin/glowberry. Since ~/.local/bin is searched before /usr/bin in PATH, cosmic-session will run GlowBerry instead.
Important
For this to work, ~/.local/bin must appear before /usr/bin in your PATH. You can verify this by running:
echo $PATH | tr ':' '\n' | grep -n binEnable GlowBerry (you may need to restart for this to take effect):
glowberry-switch enableDisable GlowBerry (restore original cosmic-bg):
glowberry-switch disableCheck current status:
glowberry-switch statusYou can also enable/disable GlowBerry from the settings application (glowberry-settings). Open the settings drawer and toggle "Use GlowBerry as default". You may need to restart to clean up old cosmic-bg and use GlowBerry properly.
If you prefer to set it up manually:
# Enable GlowBerry
ln -sf ~/.local/bin/glowberry ~/.local/bin/cosmic-bg
pkill cosmic-bg # Restart the service
# Disable GlowBerry
rm ~/.local/bin/cosmic-bg
pkill glowberry # Restart the serviceShader wallpapers are WGSL files. GlowBerry searches for shaders in XDG data directories:
~/.local/share/glowberry/shaders/(user-local, installed by default)- Directories listed in
$XDG_DATA_DIRS(e.g./usr/share/glowberry/shaders/)
Example shaders are included in the examples/ directory and installed automatically by just install.
To install additional shaders manually:
cp my_shader.wgsl ~/.local/share/glowberry/shaders/just uninstallIf you previously installed GlowBerry system-wide (with sudo just install to /usr/), first disable the old override, then remove the legacy files:
scripts/disable-glowberry-legacy.sh
sudo just uninstall-legacyWith the right shader, your desktop can be a glowing berry.