Plasma 6 Wallpaper plugin to play videos on your Desktop/Lock Screen
demo.mp4
If you enjoy using the plugin consider sponsoring or donating to support the maintenance of this and my other projects.
Help/Support/Discussion about my projects
Expand
- Play a single video or slideshow of videos
- Enable/disable video sound
- Lock screen support
- Playback
- Speed
- Alternative speed
- Volume control
- Random order
- Timer
- Resume last video on startup
- Cross-fade transition between videos (Beta)
- Pause Video conditions
- Maximized or fullscreen window
- Active window
- Window is present
- Never
- Based on active Desktop Effect (e.g overview, show desktop)
- Screen is Off/Locked
- Blur
- Conditions
- Maximized or fullscreen window
- Active window
- Window is present
- Video is paused
- Always
- Never
- Based on active Desktop Effect (e.g overview, show desktop)
- Radius
- Animation duration
- Conditions
- Blur background when playing videos in their original proportions
- Battery mode (threshold)
- Pauses video
- Disables Blur
- Per monitor windows detection
- Day-night switch, assign videos based on different conditions
- Plasma style (day, night)
- Plasma's Day-Night cycle (sunrise, sunset, day, night) requires building from source
- Custom times (sunrise, sunset, day, night)
yay -S plasma6-wallpapers-smart-video-wallpaper-rebornOr your preferred AUR helper
Maintained by me at https://aur.archlinux.org/packages/plasma6-wallpapers-smart-video-wallpaper-reborn
Install instructions: https://software.opensuse.org//download.html?project=home%3Aluisbocanegra&package=plasma-smart-video-wallpaper-reborn
Maintained with @pallaswept and me at https://build.opensuse.org/package/show/home:luisbocanegra/plasma-smart-video-wallpaper-reborn
Use dnf to install plasma-smart-video-wallpaper-reborn: sudo dnf in plasma-smart-video-wallpaper-reborn. The package will, by default, install ffmpeg-free if it isn't installed which should work for most videos. In case of issues, follow the instructions to install additional codecs from RPMfusion.
This package is not maintained by me and may not be up-to-date with the latest release.
-
First, install these dependencies or the equivalents for your distribution, depending on the distribution or how you configured your system these may already be installed. They are required for video playback.
-
Arch Linux
sudo pacman -S qt6-multimedia qt6-multimedia-ffmpeg --needed
-
Fedora
sudo dnf install qt6-multimedia
-
Debian
sudo apt install libqt6multimedia6 qml6-module-qtmultimedia
On some distributions qt6-multimedia-ffmpeg is included with qt6-multimedia
-
-
Right click on the Desktop > Desktop and Wallpaper > Get New Plugins
-
Search for "Smart Video Wallpaper Reborn" by luis-bocanegra and install it.
Install these dependencies or the equivalents for your distribution
git gcc cmake extra-cmake-modules libplasma qt6-multimedia qt6-multimedia-ffmpegClone and install
git clone https://github.com/luisbocanegra/plasma-smart-video-wallpaper-reborn
cd plasma-smart-video-wallpaper-reborn
./install.sh- Right click on the Desktop > Desktop and Wallpaper
- Change Wallpaper type to "Smart Video Wallpaper Reborn"
- Add your videos
- Apply
- Go to System settings > Screen Locking > Configure Appearance...
- Change Wallpaper type to "Smart Video Wallpaper Reborn"
- Add your videos
- Apply
Note
This requires that either you or you distribution have switched from SDDM to Plasma Login Manager. You can check if that's the case by running systemctl is-enabled plasmalogin, it should return enabled.
If it returns disabled or not-found search for how to do this in your distribution documentation, instructions for Arch, instructions for Fedora.
You also need administrator (root) privileges to be able to do this
-
Edit
/etc/plasmalogin.conf(create it if it does not exist) as follows:[Greeter] WallpaperPluginId=luisbocanegra.smart.video.wallpaper.reborn
Save the changes
-
Your video files need to be in a directory that allows other users to see them, which includes the
plasmaloginuser, you can create one like this:sudo mkdir /srv/shared sudo chmod 777 /srv/shared
Copy your videos to that directory and make sure they are readable by other users, running
ls -l /srv/sharedshould show the video files permission as-rw-r--r--. In most distributions that will be the case by default, if not, runfind /srv/shared -type f -exec chmod 644 {} +.The directory
/srv/sharedis just a suggestion, you can use other location as long as the files are readable by theplasmaloginuser:find /srv/shared -type f -exec sudo -u plasmalogin test -r {} \;
-
Go to System Settings > Login Screen > Configure Appearance and add your videos from
/srv/sharedthen apply the changes.
To be able to play most video files, you may need to install additional packages from your distribution
- Arch Linux (ArchWiki - Codecs and containers - Video codecs)
- Fedora (RPM Fusion repo)
- openSUSE (Packman repositories)
- Gentoo (Gentoo Wiki - Media container formats)
Tip
Hardware video acceleration makes it possible for the video card to decode/encode video, thus offloading the CPU and saving power.
First, verify acceleration you can install and run nvtop, it will show a decoding usage when Hardware acceleration is working:
If nvtop is not available you can use:
intel_gpu_topfrom intel-gpu-tools for Intel GPU using thei915driver (video engine)gputopfor Intel GPU using thexedriver (video column)nvidia-smi dmonfor Nvidia GPU (dec column)amdgpu_top --smifor AMD GPU (dec column)
If there is no decoding usage you will have to enable video acceleration in your system
- Arch Linux (ArchWiki - Hardware video acceleration)
- Fedora (Fedora Project Wiki - Video decoding)
- Debian (Debian Wiki - HardwareVideoAcceleration)
- Gentoo (Gentoo Wiki - VA-API)
Depending on your configuration, the GPU doing the hardware decoding may not be the one you want.
Go to the wallpaper plugin configuration > Advanced tab and set one of the following options according to your hardware:
Intel only or paired with another vendor GPU
- FFmpeg + VA-API acceleration backend + iHD VA-API driver
- FFmpeg + Quick Sync acceleration backend
- FFmpeg + Vulkan acceleration backend if Intel is the primary renderer or the other GPU does not support it
AMD only or paired with another vendor GPU
- FFmpeg + VA-API acceleration backend + radeonsi VA-API driver
- FFmpeg + Vulkan acceleration backend if AMD is the primary renderer or the other GPU does not support it
NVIDIA only or paired with another vendor GPU
- FFmpeg + cuda acceleration backend
- FFmpeg + Vulkan acceleration backend if NVIDIA is the primary renderer or the other GPU does not support it
Note
For VA-API to be forced on a specific GPU vendor, their kernel module must be loaded first, see #142-issuecomment-5729323309
When using the Vulkan acceleration backend, if all GPUs support it, the one rendering your desktop will be used for video decoding, you can see which one it is running dbus-send --print-reply --session --dest=org.kde.KWin --type=method_call /KWin org.kde.KWin.supportInformation | grep -i renderer
Important
These settings only apply to the Desktop and Lock screen, for them to also work on the Login Screen copy $HOME/.config/plasma-workspace/env/luisbocanegra.smart.video.wallpaper.reborn.sh to /etc/profile.d/ or copy its contents to /etc/environment
In case of crash loop switch to a TTY (Ctr + Alt + one of your F1-F12 keys) and remove the videos from the Desktop, Lock Screen and Login Screen configuration using the following command:
sudo sed -i 's/^VideoUrls=.*$/VideoUrls=/g' $HOME/.config/plasma-org.kde.plasma.desktop-appletsrc $HOME/.config/kscreenlockerrc /etc/plasmalogin.confThen reboot your system.
Try disabling hardware textures conversion
- Open the wallpaper settings
- Go to the Advanced tab
- Enable the option Disable hardware textures conversion
- Log out and back in
Switch to GStreamer as Qt Media backend
-
Install the media codecs and qt6-multimedia and gstreamer packages if you don't have them:
openSUSE
sudo zypper install opi opi codecs sudo zypper install qt6-multimedia gstreamer-plugins-libav
Arch
sudo pacman -S qt6-multimedia qt6-multimedia-gstreamer gst-libav --needed
If you need extra codecs see https://wiki.archlinux.org/title/GStreamer
PRs to expand this list are welcome :)
-
Open the wallpaper settings
-
Go to the Advanced tab and change Media backend to GStreamer
-
Log out and back in to apply the changes
-
Run
journalctl -f > journal.txtandsudo dmesg -wHT > dmesg.txtin separate terminals -
While both commands are running switch from the Image wallpaper plugin to video wallpaper and reproduce the issue
-
Then stop both commands
-
If needed, remove the plugin configuration (see removal instructions above)
-
Get your system information from
kinfocommand or from System settings > About this System -
Save the file from here as test.qml. Run the test qml with from terminal:
QT_MESSAGE_PATTERN="%{if-debug}[D] %{endif}%{if-info}[I] %{endif}%{if-warning}[W] %{endif}%{if-critical}[E] %{endif}%{if-fatal}[F] %{endif}%{time [hh:mm:ss.zzz]}: %{appname}: %{if-category}%{category}:%{endif} %{file}:%{line}:%{function}: %{message}" QT_FFMPEG_DEBUG=1 QSG_INFO=1 QT_DEBUG_PLUGINS=1 QT_LOGGING_RULES="qml.debug=true;*.ffmpeg.*=true;*.multimedia.*=true" qml test.qml 2> qml_video_test_log.txt
qmlexecutable may beqml6,qml-qt6or/usr/lib/qt6/bin/qmlplease confirm is Qt 6 one with--versionThe test file play some public test videos from internet. If it doesn't fail immediately, try clicking the pause/next buttons a bunch of times.
-
Run
lspci -k | grep -EA3 'VGA|3D|Display' > lspci.txt -
Create a new new issue describing the problem and how to reproduce, provide the requested information and the
qml_video_test_log.txt,journal.txt,dmesg.txtfiles
See Translations
- This project a rewrite based on adhec/Smart Video Wallpaper and PeterTucker/smartER-video-wallpaper projects.
- ccatterina's script to manage translations
- Brand icons from Simple Icons
- Day-night icons from Google LLC. / Pictogrammers

