Skip to content

Installation

CaptSilver edited this page Jun 9, 2026 · 4 revisions

Installation

Pick the path that matches your distro.


Arch Linux (AUR)

The simplest install. This project is published on the AUR as wallpaper-engine-kde-plugin-new-fork.

yay -S wallpaper-engine-kde-plugin-new-fork
# or
paru -S wallpaper-engine-kde-plugin-new-fork

⚠️ Do not install wallpaper-engine-kde-plugin-git — that AUR package points at the original catsout repo, not this project. If you have it, remove it first:

yay -R wallpaper-engine-kde-plugin-git

After install, restart Plasma:

systemctl --user restart plasma-plasmashell.service

Then continue to First-Run Setup.


Arch - build from source

sudo pacman -S --needed base-devel clang llvm cmake ninja extra-cmake-modules \
    vulkan-headers vulkan-icd-loader plasma-workspace libplasma kconfig kcoreaddons \
    kpackage knotifications kcrash kglobalaccel ki18n kxmlgui qt6-base qt6-declarative \
    qt6-webchannel qt6-webengine mpv lz4 freetype2 libpulse gst-libav

Fedora — build from source

Fedora needs RPM Fusion enabled and the bundled ffmpeg-free swapped for full ffmpeg first.

# Add RPM Fusion repos (required for ffmpeg/mpv)
sudo dnf install -y \
    https://mirrors.rpmfusion.org/free/fedora/rpmfusion-free-release-$(rpm -E %fedora).noarch.rpm \
    https://mirrors.rpmfusion.org/nonfree/fedora/rpmfusion-nonfree-release-$(rpm -E %fedora).noarch.rpm

# Replace ffmpeg-free with full ffmpeg
sudo dnf swap -y ffmpeg-free ffmpeg --allowerasing
sudo dnf install -y ffmpeg-devel --allowerasing

# Plugin build dependencies
sudo dnf install cmake extra-cmake-modules clang vulkan-headers \
    plasma-workspace-devel libplasma-devel kf6-plasma-devel kf6-kcoreaddons-devel \
    kf6-kpackage-devel kf6-kconfig-devel kf6-knotifications-devel kf6-kcrash-devel \
    kf6-kglobalaccel-devel kf6-ki18n-devel qt6-qtbase-devel qt6-qtbase-private-devel \
    qt6-qtdeclarative-devel qt6-qtwebchannel-devel freetype-devel pulseaudio-libs-devel \
    mpv-libs-devel lz4-devel gstreamer1-libav

Then continue with the generic build steps.

On immutable Fedora derivatives (Bazzite, Silverblue, Kinoite) you should use the RPM workflow instead — see Building an RPM.


Generic build from source

Build and install:

# Clone the repo
git clone https://github.com/captsilver/wallpaper-engine-kde-plugin.git
cd wallpaper-engine-kde-plugin

# Pull submodules (the scene renderer lives in src/ as a submodule)
git submodule update --init --force --recursive

# Configure + build
cmake -B build -S . -DCMAKE_BUILD_TYPE=Release
cmake --build build

# Install system-wide
sudo cmake --install build

# Reload Plasma
systemctl --user restart plasma-plasmashell.service

💡 To install for the current user only, skip sudo cmake --install and instead copy the QML plugin into ~/.local/share/plasma/wallpapers/com.github.captsilver.wallpaperEngineKde/ — see the RPM section for the exact copy command.


Building an RPM (Fedora / Bazzite / rpm-ostree)

If you run an immutable Fedora derivative like Bazzite or Silverblue, you'll want an RPM you can layer with rpm-ostree install — layered packages survive ostree updates, hand-copied files don't.

git clone https://github.com/captsilver/wallpaper-engine-kde-plugin.git
cd wallpaper-engine-kde-plugin

# Install build dependencies from spec
sudo dnf builddep ./rpm/wek.spec

# Initialise submodules
git submodule update --init --force --recursive

# Use tmpfs for the build dir (much faster than disk)
sudo mount -t tmpfs tmpfs ~/rpmbuild/BUILD

# Build the RPM
rpmbuild --define="commit $(git rev-parse HEAD)" \
    --define="reporoot $(pwd)" \
    --undefine=_disable_source_fetch \
    -ba ./rpm/wek.spec

sudo umount ~/rpmbuild/BUILD

# Install on rpm-ostree (Bazzite, Silverblue, Kinoite, etc.)
rpm-ostree install ~/rpmbuild/RPMS/x86_64/wallpaper-engine-kde-plugin-qt6-*.rpm

# Reboot for layered packages to apply
systemctl reboot

On non-ostree Fedora you can use sudo dnf install ~/rpmbuild/RPMS/x86_64/wallpaper-engine-kde-plugin-qt6-*.rpm and skip the reboot.

Continue to First-Run Setup.

Clone this wiki locally