This guide covers building Better Blur DX manually from source. Use this method if your distribution doesn’t have pre-built packages or if you want to customize the build.
Prerequisites
Better Blur DX requires:
CMake
Extra CMake Modules
Plasma 6 (versions 6.5 or 6.6)
Qt 6
KDE Frameworks 6
KWin development packages
C++ compiler (GCC or Clang)
Distribution-Specific Dependencies
See the installation pages for your distribution for exact dependency commands:
Or continue with the generic build instructions below.
Building
Clone the Repository
Clone the Better Blur DX source code: git clone https://github.com/xarblu/kwin-effects-better-blur-dx
cd kwin-effects-better-blur-dx
Create Build Directory
Create a separate build directory:
Configure with CMake
Configure the build: cmake .. -DCMAKE_INSTALL_PREFIX=/usr
This builds for the standard Wayland KWin. cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DBETTERBLUR_X11=ON
The -DBETTERBLUR_X11=ON flag is required to build for X11. X11 support is deprecated and not actively tested.
The install prefix should match your system’s Qt plugin path. Use /usr for most distributions, or /usr/local for custom installations.
Compile
Build the effect using all available CPU cores: This will compile the plugin and configuration modules.
Install
Install the effect to your system: This installs the plugin files to the Qt plugins directory.
Enable the Effect
After installation:
Open System Settings > Desktop Effects
Disable any existing blur effects
Enable Better Blur DX
Build Options
Customize the build with these CMake options:
X11 Support
Debug Build
Release with Debug Info
Custom Install Prefix
Verbose Build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr -DBETTERBLUR_X11=ON
System Upgrades
Critical : After upgrading Plasma or KWin, you must rebuild the effect.The effect is compiled against a specific KWin version and will stop working if KWin is updated. After system upgrades: cd kwin-effects-better-blur-dx
rm -rf build # Important: Remove old build directory
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr
make -j$( nproc )
sudo make install
Then restart KWin by logging out and back in.
Always remove the build directory when rebuilding to avoid CMake cache issues.
Fedora Kinoite
On Fedora Kinoite and other immutable distributions, the effect must be built in a container and packaged as an RPM:
Enter Container
Create or enter a build container: toolbox create -c builder
toolbox enter builder
Or use distrobox: distrobox create -n builder -i fedora:latest
distrobox enter builder
Install Dependencies
Inside the container: sudo dnf -y install git cmake extra-cmake-modules gcc-g++ \
kf6-kwindowsystem-devel plasma-workspace-devel libplasma-devel \
qt6-qtbase-private-devel qt6-qtbase-devel cmake kwin-devel \
kf6-knotifications-devel kf6-kio-devel kf6-kcrash-devel \
kf6-ki18n-devel kf6-kguiaddons-devel libepoxy-devel \
kf6-kglobalaccel-devel kf6-kcmutils-devel kf6-kconfigwidgets-devel \
kf6-kdeclarative-devel kdecoration-devel wayland-devel libdrm-devel \
rpm-build
Build and Package
Clone, build, and create RPM: git clone https://github.com/xarblu/kwin-effects-better-blur-dx
cd kwin-effects-better-blur-dx
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr
make -j$( nproc )
cpack -V -G RPM
exit # Exit container
Install RPM
Back on the host system: sudo rpm-ostree install kwin-effects-better-blur-dx/build/kwin-better-blur-dx.rpm
systemctl reboot
Fedora Kinoite requires a reboot to apply rpm-ostree installations.
Updating to Latest Version
To update to the latest development version:
cd kwin-effects-better-blur-dx
git pull
rm -rf build
mkdir build
cd build
cmake .. -DCMAKE_INSTALL_PREFIX=/usr
make -j$( nproc )
sudo make install
Restart KWin by logging out and back in.
Uninstalling
To remove Better Blur DX:
cd kwin-effects-better-blur-dx/build
sudo make uninstall
If you no longer have the build directory:
Clone the repository again
Run the build commands
Then run sudo make uninstall
Troubleshooting
CMake Configuration Fails
If CMake can’t find required packages:
# Check CMake error output for missing packages
cmake .. -DCMAKE_INSTALL_PREFIX=/usr
# Install missing development packages for your distribution
# Refer to distribution-specific installation pages
Compilation Errors
If compilation fails:
Clean build :
rm -rf build
mkdir build
cd build
Check compiler version :
g++ --version # Should be at least GCC 11
Verify KWin version :
kwin_wayland --version # Should be 6.5 or 6.6
Effect Not Loading
If the effect doesn’t appear in System Settings:
Verify installation :
# Check plugin file exists (path may vary)
ls /usr/lib/qt6/plugins/kwin/effects/plugins/libbetterblur.so
ls /usr/lib64/qt6/plugins/kwin/effects/plugins/libbetterblur.so
Check KWin logs :
journalctl --user -u plasma-kwin_wayland.service -f
Restart KWin : Log out and back in, or:
kwin_wayland --replace & # Wayland
kwin_x11 --replace & # X11
Plugin Path Issues
If the plugin installs to the wrong location:
# Find your Qt plugin path
qtpaths6 --plugin-dir
# Adjust CMAKE_INSTALL_PREFIX if needed
cmake .. -DCMAKE_INSTALL_PREFIX=/usr/local
Permission Denied
If you get permission errors during installation:
# Ensure you're using sudo for installation
sudo make install
# Or install to a user directory
cmake .. -DCMAKE_INSTALL_PREFIX= $HOME /.local
make -j$( nproc )
make install # No sudo needed
Advanced Configuration
Building with Clang
To use Clang instead of GCC:
export CC = clang
export CXX = clang ++
cmake .. -DCMAKE_INSTALL_PREFIX=/usr
make -j$( nproc )
Parallel Builds
Control the number of parallel jobs:
# Use specific number of cores
make -j4
# Use all cores
make -j$( nproc )
# Use all cores + 1
make -j$( nproc --all +1 )
Installation DESTDIR
For packaging or testing:
make DESTDIR=/tmp/better-blur-install install
Next Steps
Learn how to configure Better Blur DX in the Configuration section.