{"id":15035056,"url":"https://github.com/catsout/wallpaper-engine-kde-plugin","last_synced_at":"2025-05-14T13:06:22.597Z","repository":{"id":37447165,"uuid":"311088918","full_name":"catsout/wallpaper-engine-kde-plugin","owner":"catsout","description":"A kde wallpaper plugin integrating wallpaper engine","archived":false,"fork":false,"pushed_at":"2024-11-03T05:36:00.000Z","size":5371,"stargazers_count":2069,"open_issues_count":165,"forks_count":86,"subscribers_count":33,"default_branch":"main","last_synced_at":"2025-04-09T11:01:52.540Z","etag":null,"topics":["kde","live-wallpaper","video-wallpaper","wallpaper-engine"],"latest_commit_sha":null,"homepage":"https://store.kde.org/p/1475528/","language":"QML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/catsout.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-11-08T15:08:36.000Z","updated_at":"2025-04-07T02:28:50.000Z","dependencies_parsed_at":"2023-01-29T14:01:21.800Z","dependency_job_id":"2ecf9dee-9ed4-43f0-81a4-28eccbddd6bd","html_url":"https://github.com/catsout/wallpaper-engine-kde-plugin","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/catsout%2Fwallpaper-engine-kde-plugin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/catsout%2Fwallpaper-engine-kde-plugin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/catsout%2Fwallpaper-engine-kde-plugin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/catsout%2Fwallpaper-engine-kde-plugin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/catsout","download_url":"https://codeload.github.com/catsout/wallpaper-engine-kde-plugin/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254149953,"owners_count":22022851,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["kde","live-wallpaper","video-wallpaper","wallpaper-engine"],"created_at":"2024-09-24T20:27:21.423Z","updated_at":"2025-05-14T13:06:21.059Z","avatar_url":"https://github.com/catsout.png","language":"QML","funding_links":[],"categories":["Uncategorized","QML","Customizations"],"sub_categories":["Uncategorized","Linux"],"readme":"# Wallpaper Engine for Kde\nA wallpaper plugin integrating [wallpaper engine](https://store.steampowered.com/app/431960/Wallpaper_Engine) into kde wallpaper setting.  \n\n## Todo\n- move scene to separate process\n\n## Note\n- Known issues:\n  - Some scene wallpapers may **crash** your KDE.  \n    Remove `WallpaperSource` line in `~/.config/plasma-org.kde.plasma.desktop-appletsrc` and restart KDE to fix.  \n  - Mouse long press (to enter panel edit mode) is broken on desktop.\n  - Screen Locking is not supported, please not use this plugin in screen locking.  \n- Support **scene(2d)**,**video**,**web** wallpaper types\n- Requires *Wallpaper Engine* installed on steam\n- Requires C++20(gcc 10+)\n- Requires Python 3.5+\n- Requires Qt 5.13+ for playing video(no mpv), or mpv instead  \n- Requires Vulkan 1.1+, Opengl [External Memory Object](https://www.khronos.org/registry/OpenGL/extensions/EXT/EXT_external_objects.txt) extension\n- Requires [vulkan driver](https://wiki.archlinux.org/title/Vulkan#Installation) installed  \nIf you are using amd, please choose RADV driver.  \n\n## Install\n\nGentoo:\n```sh\nsudo emerge -av eselect-repository\nsudo eselect repository enable gig\nsudo emerge -av kde-misc/wallpaper-engine-kde-plugin\n```\n\n#### Dependencies\nDebian:  \n```sh\nsudo apt install build-essential libvulkan-dev plasma-workspace-dev gstreamer1.0-libav \\\nliblz4-dev libmpv-dev python3-websockets qtbase5-private-dev \\\nlibqt5x11extras5-dev \\\nqml-module-qtwebchannel qml-module-qtwebsockets cmake\n```  \n\nFedora:  \n```sh\n# Please add \"RPM Fusion\" repo first\nsudo dnf install vulkan-headers plasma-workspace-devel kf5-plasma-devel gstreamer1-libav \\\nlz4-devel mpv-libs-devel python3-websockets qt5-qtbase-private-devel libplasma-devel \\\nqt5-qtx11extras-devel qt5-qtwebchannel-devel qt5-qtwebsockets-devel cmake\n```\n\nArch:  \n```sh\nsudo pacman -S extra-cmake-modules plasma-framework5 gst-libav ninja \\\nbase-devel mpv python-websockets qt5-declarative qt5-websockets qt5-webchannel vulkan-headers cmake\n```\n\nVoid:  \n```sh\nsudo xbps-install -S extra-cmake-modules plasma-framework \\\ngst-libav base-devel mpv python3-websockets qt5-declarative qt5-websockets \\\nqt5-webchannel plasma-workspace-devel mpv-devel liblz4-devel Vulkan-Headers cmake\n```\n\nopenSUSE:\n```sh\n# You'll need to add the Packman repository first\nsudo zypper in vulkan-devel plasma-framework-devel plasma5-workspace-devel \\\nlibqt5-qtwebsockets-devel mpv-devel python310-websockets \\\nlibqt5-qtx11extras-devel liblz4-devel gstreamer-plugins-libav \\\nlibqt5-qtbase-private-headers-devel cmake extra-cmake-modules\n```\n\nFedora Kinoite:  \nsee [install via rpm-ostree](rpm)\n\n#### Note for kde store\nStill need to run commands below to get scene and mpv work.  \nEvery time you receive update in discover, you should run these commands to update.  \n\n#### Build and Install\n```sh\n# Download source\ngit clone https://github.com/catsout/wallpaper-engine-kde-plugin.git\ncd wallpaper-engine-kde-plugin\n\n# Download submodule\ngit submodule update --init --force --recursive\n\n# Configure, build and install\n# 'USE_PLASMAPKG=ON': using kpackagetool tool to install plugin\ncmake -B build -S . -GNinja -DUSE_PLASMAPKG=ON\ncmake --build build\ncmake --install build\n\n# Install package (ignore if USE_PLASMAPKG=OFF for system-wide installation)\ncmake --build build --target install_pkg\n```\n#### Uninstall\n1. remove files that list in `wallpaper-engine-kde-plugin/build/install_manifest.txt`\n2. `kpackagetool6 -t Plasma/Wallpaper -r com.github.catsout.wallpaperEngineKde`\n\n## Usage\n1. *Wallpaper Engine* installed on Steam\n2. Subscribe to some wallpapers on the Workshop\n3. Select the *steamlibrary* folder on the Wallpapers tab of this plugin\n\t- The *steamlibrary* which contains the *steamapps* folder\n\t\t- This is usually `~/.local/share/Steam` by default\n\t- *Wallpaper Engine* needs to be installed in this *steamlibrary*\n\n### Restart KDE\nYou need to restart plasmashell after **reinstalling the plugin**  \n`systemctl --user restart plasma-plasmashell.service`  \nIf you are using old kde, you can't run command above, please re-login.  \n\n## Support Status\n### Scene:\nScene wallpapers are supported by vulkan 1.1  \nRequires *Wallpaper Engine* installed for assets(shaders,pictures...)\n\n#### standalone\nOnly for testing and debug  \nRequires glfw  \n```\n# git clone and init submodule\ncd src/backend_scene/standalone_view\nmkdir build \u0026\u0026 cd build\ncmake .. -DCMAKE_BUILD_TYPE=Release -DBUILD_QML=ON\nmake -j$nproc\n\n./sceneviewer --help\n```\n\n#### open-source libraries\n[argparse](https://github.com/p-ranav/argparse) - Command line argument parser  \n[stb](https://github.com/nothings/stb) - Image loading  \n[vog/sha1](https://github.com/vog/sha1) - SHA-1  \n[effolkronium/random](https://github.com/effolkronium/random) - Random wrapper for modern C++   \n[miniaudio](https://github.com/mackron/miniaudio) - Audio loading and playback  \n[nlohmann/json](https://github.com/nlohmann/json) - Json parsing  \n[Eigen](https://eigen.tuxfamily.org/index.php) - Math operations  \n[glad](https://github.com/Dav1dde/glad) - Opengl loader  \n[glslang](https://github.com/KhronosGroup/glslang) - Glsl to Spv  \n[SPIRV-Reflect](https://github.com/KhronosGroup/SPIRV-Reflect) - C/C++ reflection API for SPIR-V bytecode  \n[VulkanMemoryAllocator](https://github.com/GPUOpen-LibrariesAndSDKs/VulkanMemoryAllocator) - Vulkan memory allocation library  \n#### supported\n- [x] Layer\n\t- [x] Image\n\t- [x] Composition / Fullscreen\n\t- [ ] Text\n- [x] Effect\n    - [x] Basic\n\t- [x] Mouse position with delay\n\t- [x] Parallax\n    - [x] Depth Parallax\n\t- [x] ColorBlendMode\n\t- [x] PBR light\n\t- [ ] Global bloom\n- [x] Camera\n\t- [x] Zoom\n\t- [ ] Shake\n\t- [ ] Fade / Path\n- [x] Audio\n\t- [x] Loop\n\t- [ ] Random\n\t- [ ] Visualization\n- [x] Particle System\n\t- [x] Renderers\n\t- [x] Emitters\n\t\t- [ ] Duration \n\t- [x] Initializers\n\t- [x] Operators\n\t- [x] Control Points\n        - [ ] Mouse Follow\n\t- [x] Children\n    - [ ] Audio Response\n- [x] Puppet warp\n- [ ] 3D model\n- [ ] Timeline animations\n- [ ] Scenescript  \n- [ ] User Properties\n\n### Web\nBasic web apis are supported, but the audio api does not send data for now.  \n#### no webgl\nWebEngineView in plasmashell can't init opengl.  \nSome wallpaper using webgl may not work, and performance may be bad.   \n\n### Video HWdecode  \n#### QtMultimedia\nThe default video backend of this plugin.  \nIt's using GStreamer to play video.  \n[hwdecode](https://wiki.archlinux.org/title/GStreamer#Hardware_video_acceleration) for GStreamer\n\n#### Mpv\nNeed to compile the plugin lib.  \nThe config is set to `hwdec=auto`, and is not configurable for now.  \n\n## Acknowledgments\n- [RePKG](https://github.com/notscuffed/repkg)\n- [RenderDoc](https://renderdoc.org/)\n- [NVIDIA Nsight Graphics](https://developer.nvidia.com/nsight-graphics)\n- [learnopengl.com](https://learnopengl.com/)\n- [SaschaWillems/Vulkan](https://github.com/SaschaWillems/Vulkan)\n- All the open-source libraries mentioned above\n\n## Preview\n![](https://cdn.pling.com/img/0/e/e/9/23b2aefba63630c7eb723afc202cdaaa2809d32d8a2ddca03b9fec8f82de62d721cd.jpg)\n![](https://images.pling.com/img/00/00/60/17/66/1475528/screenshot-20220402-1822442.png)\n![](https://images.pling.com/img/00/00/60/17/66/1475528/screenshot-20220401-1121383.png)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcatsout%2Fwallpaper-engine-kde-plugin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcatsout%2Fwallpaper-engine-kde-plugin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcatsout%2Fwallpaper-engine-kde-plugin/lists"}