we-layerd is a Rust daemon for running Wallpaper Engine wallpapers on Wayland through the native wallpaper-engine-renderer library.
wallpaper-engine-renderer submodulectl status and doctor diagnostics for the native runtimewe-gui, for workshop browsing and config generationInitialize the bundled renderer submodule and build the workspace:
git submodule update --init --recursive
cargo build --workspace --release
WE_LAYERD_INSTALL_PREFIX=/usr cargo build --workspace --release
For this repository itself:
sudo pacman -S --needed \
rustup gcc cmake pkgconf git \
wayland wayland-protocols libxkbcommon \
gtk3 xdotool
For the renderer build:
sudo pacman -S --needed \
vulkan-headers vulkan-icd-loader mesa libglvnd \
gstreamer gst-plugins-base-libs \
lz4 pango fontconfig freetype2 \
directx-shader-compiler cef
Notes:
BUILD_WEWEB=ON is forced during the upstream configure step.gtk3 is needed by the current tray/GUI stack on Linux.directx-shader-compiler satisfies the upstream DXC probe used by the renderer submodule.cargo xtask install follows the prefix recorded by the build. The default build prefix is ~/.local.
cargo xtask install
sudo cargo xtask install --prefix /usr
DESTDIR="$pkgdir" cargo xtask install --prefix /usr
Installed layout:
$prefix/bin/we-layerd
$prefix/bin/we-gui
$prefix/lib/libwallpaper-engine-renderer.so
$prefix/lib/we-cef-helper
$prefix/share/gnome-shell/extensions/we-layerd@aromatic/
Start from:
cp config.example.toml ~/.config/we-layerd/config.toml
The important paths are:
renderer.library_pathrenderer.sourcerenderer.assets_pathrenderer.cache_pathLeave renderer.library_path = "" to enable automatic lookup.
See docs/CONFIGURATION.md for the config model.
we-layerd ctl stop
we-layerd ctl pause
we-layerd ctl resume
we-layerd ctl reload
we-layerd ctl status
we-layerd doctor --config ~/.config/we-layerd/config.toml
$ claude mcp add we-layerd \
-- python -m otcore.mcp_server <graph>