catsout / wallpaper-engine-kde-plugin

A kde wallpaper plugin integrating wallpaper engine

Home Page:https://store.kde.org/p/1475528/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

plasma 6 support ?

Fluxy05 opened this issue · comments

hello i just wanted to know if this plugin will be available in plasma 6
,thank you

I'm curious as well. One of the best KDE plugins ever!
Totally look forward to installing it again for Plasma 6.

Migrate to KDE Plasma 6 There is an unmerged request, also check out this fork.

I can't get that fork to build.

/home/joel/Build/wallpaper-engine-kde-plugin/src/backend_mpv/MpvBackend.cpp:37:14: fatal error: QX11Info: No such file or directory
37 | # include // IWYU pragma: keep
| ^~~~~~~~~~
compilation terminated.

I have the required dependencies for Qt5, but for some reason it isn't going. QX11Info, and qtx11extras in general were removed in Qt6, so not sure what needs to happen on the code side to make this work.

@fxzjshm can you advise?

I was just looking for plasma 6 support after an update and found this. Great plugin. Please keep it alive.

I can't get that fork to build.

/home/joel/Build/wallpaper-engine-kde-plugin/src/backend_mpv/MpvBackend.cpp:37:14: fatal error: QX11Info: No such file or directory 37 | # include // IWYU pragma: keep | ^~~~~~~~~~ compilation terminated.

I have the required dependencies for Qt5, but for some reason it isn't going. QX11Info, and qtx11extras in general were removed in Qt6, so not sure what needs to happen on the code side to make this work.

@fxzjshm can you advise?

i build that fork successfully with qt5 , but make install_pkg error
image

@Crono141 related code is

#if (QT_VERSION < QT_VERSION_CHECK(6, 0, 0))
#    include <QX11Info> // IWYU pragma: keep
#endif

which should not be used if compiling with Qt 6, that's strange.

@zjypls do not use the fork with Qt 5 because the package structure and QML code is not compatible with Qt 5, just use the original version.

this fork work good with plasma 6 on my Arch now 😃
image
although run make install_pkg on build directory still give error output:

kf.package: Invalid metadata for package structure "Plasma/Wallpaper"
Package type "Plasma/Wallpaper" not found
kf.package: Invalid metadata for package structure "Plasma/Wallpaper"
kf.package: Cannot set a path in a package without structure "/home/z/Documents/GitHub/wallpaper-engine-kde-plugin/plugin"
kf.package: Invalid metadata for package structure "Plasma/Wallpaper"
Error:plugin com.github.casout.wallpaperEngineKde not install 。
make[3]: *** [CMakeFiles/install_pkg.dir/build.make:70:CMakeFiles/install_pkg] Error 2
make[2]: *** [CMakeFiles/Makefile2:667:CMakeFiles/install_pkg.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:674:CMakeFiles/install_pkg.dir/rule] Error 2
make: *** [Makefile:221:install_pkg] Error 2

but i copy the every file in plugin folder to my local plugin folder like:

cp -r ../plugin/* ~/.local/share/plasma/wallpapers/wallpaper-engine-kde-plugin/

and install the fork build with qt6,it works good😃

this fork work good with plasma 6 on my Arch now 😃 image although run make install_pkg on build directory still give error output:

kf.package: Invalid metadata for package structure "Plasma/Wallpaper"
Package type "Plasma/Wallpaper" not found
kf.package: Invalid metadata for package structure "Plasma/Wallpaper"
kf.package: Cannot set a path in a package without structure "/home/z/Documents/GitHub/wallpaper-engine-kde-plugin/plugin"
kf.package: Invalid metadata for package structure "Plasma/Wallpaper"
Error:plugin com.github.casout.wallpaperEngineKde not install 。
make[3]: *** [CMakeFiles/install_pkg.dir/build.make:70:CMakeFiles/install_pkg] Error 2
make[2]: *** [CMakeFiles/Makefile2:667:CMakeFiles/install_pkg.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:674:CMakeFiles/install_pkg.dir/rule] Error 2
make: *** [Makefile:221:install_pkg] Error 2

but i copy the every file in plugin folder to my local plugin folder like:

cp -r ../plugin/* ~/.local/share/plasma/wallpapers/wallpaper-engine-kde-plugin/

and install the fork build with qt6,it works good😃

what did you use to make it build? mine can't get past
make: *** [Makefile:136: all] Error 2

what did you use to make it build? mine can't get past
make: *** [Makefile:136: all] Error 2

@queenbiscuit311

do you mean build tool ? version output like this :

$ cmake --version
cmake version 3.28.3
$ gcc -v
gcc version 13.2.1 20230801 (GCC)

and run

cmake .. -DUSE_PLASMAPKG=ON -DCMAKE_BUILD_TYPE=Release -DBUILD_QML=ON -DQT_MAJOR_VERSION=6
make -j 15

on build directory , my directory like :
image

what did you use to make it build? mine can't get past
make: *** [Makefile:136: all] Error 2

@queenbiscuit311

do you mean build tool ? version output like this :

$ cmake --version
cmake version 3.28.3
$ gcc -v
gcc version 13.2.1 20230801 (GCC)

and run

cmake .. -DUSE_PLASMAPKG=ON -DCMAKE_BUILD_TYPE=Release -DBUILD_QML=ON -DQT_MAJOR_VERSION=6
make -j 15

on build directory , my directory like : image

these instructions do in fact allow it to build, but for me its just a black screen oddly enough

these instructions do in fact allow it to build, but for me its just a black screen oddly enough

cmake or your compiler give some other message ? , like include error or symbol not found

There's some of the usual compiler warnings but according to the logs everything compiled 100% successfully. make install_pkg gives same error as yours but when i copy it manually it doesnt work

There's some of the usual compiler warnings but according to the logs everything compiled 100% successfully. make install_pkg gives same error as yours but when i copy it manually it doesnt work

have you install the libraries you build ? my library install in there:
image
and , you should that mean you install it successfully , and choose a wallpaper , but your desktop just a black ? i find out that it seem not work with qtmediaplayer , this make desktop just a black , i change it to mpv in settings
image

its less that desktop is black and more that it appears to just be busted entirely. here's what i'm seeing
image

let me double check the library actually

its less that desktop is black and more that it appears to just be busted entirely. here's what i'm seeing image

oh , it looks so strange , i have got the same situation before, because i just copy the metadata.json to the folder

cp GitHub/wallpaper-engine-kde-plugin/plugin/metadata.json ~/.local/share/plasma/wallpapers/com.github.casout.wallpaperEngineKde/

and then i fixed it by move the all old files to a backup folder , and copy the new files to that local folder

mv ~/.local/share/plasma/wallpapers/com.github.casout.wallpaperEngineKde/* ~/backup/wallper-old
cp GitHub/wallpaper-engine-kde-plugin/plugin/* ~/.local/share/plasma/wallpapers/com.github.casout.wallpaperEngineKde -r

this make it work well

Seems for Qt6 there are additional dependents. I had to install QT6-kpackage-devel and qt6-qtbase-private-devel to get it to build. With Catsout's new qt6 branch, it built fine, make install_pkg reported it worked, and make install reported it worked. However, the plugin does NOT show up in the KDE Wallpaper picker.

This is QT6, using the cmake command
cmake .. -DUSE_PLASMAPKG=ON -DCMAKE_BUILD_TYPE=Release -DBUILD_QML=ON -DQT_MAJOR_VERSION=6

There's some of the usual compiler warnings but according to the logs everything compiled 100% successfully. make install_pkg gives same error as yours but when i copy it manually it doesnt work

have you install the libraries you build ? my library install in there: image and , you should that mean you install it successfully , and choose a wallpaper , but your desktop just a black ? i find out that it seem not work with qtmediaplayer , this make desktop just a black , i change it to mpv in settings image

okay so i notived that when i run sudo make install it doesnt actually install the library files and they dont seem to be present in the build files either. going to try to see if i can find them

edit: got library still not working unfortunately

image
i found an error message, but not sure what to do about it

edit: just found out that im really dumb and still had aur package for plasma 5 build installed. let me see if i can fix it by unisntalling that

image i found an error message, but not sure what to do about it

edit: just found out that im really dumb and still had aur package for plasma 5 build installed. let me see if i can fix it by unisntalling that

this seem to say that your qml module lost ? this is what my qml module folder like :
image

Okay i figured it out. first i had to uninstall plasma5-wallpapers-wallpaper-engine-git from aur, then I had to build, run sudo make install, but instead of what you did I needed to run

cp -r ../plugin/* ~/.local/share/plasma/wallpapers/com.github.casout.wallpaperEngineKde

The json file and javascript programs inside the plugin expect the program to be in a directory with a specific name and it doesn't work if you name it something else. not sure why it worked for you without doing this. either way it's fully operational now!

image

Looks like the procedure is as follows:

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

cd wallpaper-engine-kde-plugin

git submodule update --init

mkdir build && cd build

cmake .. -DUSE_PLASMAPKG=ON -DCMAKE_BUILD_TYPE=Release -DBUILD_QML=ON -DQT_MAJOR_VERSION=6

make -j$(nproc)

sudo make install

mkdir ~/.local/share/plasma/wallpapers/com.github.casout.wallpaperEngineKde

cp -r ../plugin/* ~/.local/share/plasma/wallpapers/com.github.casout.wallpaperEngineKde

Also this means that the directory coded into the plugin is misspelled lol

I think you forgot to git submodule update --init before making your build directory. Otherwise it builds and installs fine. But I am still stuck when I open it:
image
I have double checked and I already have qmlwebmodule and qtwebsockets for qt6 installed.

I think you forgot to git submodule update --init before making your build directory. Otherwise it builds and installs fine. But I am still stuck when I open it:
image
I have double checked and I already have qmlwebmodule and qtwebsockets for qt6 installed.

which distro are you on?

(sorry for sending this again github sent this twice then when I deleted one of the duplicates it deleted both)

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

Hasn't this been merged into the official branch?
also has anyone gotten the AUR package (plasma6-wallpapers-wallpaper-engine-git) to work?

Everyone, make sure to install the new qt6 packages.
For Fedora (replace other distros commands qt5 -> qt6, x11 package was missing for me):
sudo dnf install vulkan-headers plasma-workspace-devel kf6-plasma-devel gstreamer1-libav lz4-devel mpv-libs-devel python3-websockets qt6-qtbase-private-devel qt6-qtwebchannel-devel qt6-qtwebsockets-devel cmake

cmake .. -DUSE_PLASMAPKG=ON -DCMAKE_BUILD_TYPE=Release -DBUILD_QML=ON -DQT_MAJOR_VERSION=6

I get this error when running that on Fedora:

-- Could NOT find KF6Package (missing: KF6Package_DIR)
-- Could NOT find KF6Package: found neither KF6PackageConfig.cmake nor kf6package-config.cmake 
CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
  Could NOT find KF6 (missing: Package) (Required is at least version
  "5.68.0")
Call Stack (most recent call first):
  /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE)
  /usr/share/ECM/find-modules/FindKF6.cmake:93 (find_package_handle_standard_args)
  CMakeLists.txt:34 (find_package)

cmake .. -DUSE_PLASMAPKG=ON -DCMAKE_BUILD_TYPE=Release -DBUILD_QML=ON -DQT_MAJOR_VERSION=6

I get this error when running that on Fedora:

-- Could NOT find KF6Package (missing: KF6Package_DIR)
-- Could NOT find KF6Package: found neither KF6PackageConfig.cmake nor kf6package-config.cmake 
CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
  Could NOT find KF6 (missing: Package) (Required is at least version
  "5.68.0")
Call Stack (most recent call first):
  /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE)
  /usr/share/ECM/find-modules/FindKF6.cmake:93 (find_package_handle_standard_args)
  CMakeLists.txt:34 (find_package)

You need kf6-kpackage-devel.x86_64 and qt6-qtbase-private-devel.x86_64 as well.

which distro are you on?

(sorry for sending this again github sent this twice then when I deleted one of the duplicates it deleted both)

Nobara 39, steam deck. I installed qt6 dependencies per @frozht 's post, and rebuilt, but still have the qml error message in the wallpaper picker. I also tried rebuilding from catsout's repository since he's made several commits today, but get errors in cmake:

CMake Error: The INTERFACE_QT_MAJOR_VERSION property of "Qt6::Qml" does
not agree with the value of QT_MAJOR_VERSION already determined
for "WallpaperEngineKde".

CMake Error: The INTERFACE_QT_MAJOR_VERSION property of "Qt6::Gui" does
not agree with the value of QT_MAJOR_VERSION already determined
for "mpvbackend".

CMake Error: The INTERFACE_QT_MAJOR_VERSION property of "Qt6::Gui" does
not agree with the value of QT_MAJOR_VERSION already determined
for "wescene-renderer-qml".

which distro are you on?
(sorry for sending this again github sent this twice then when I deleted one of the duplicates it deleted both)

Nobara 39, steam deck. I installed qt6 dependencies per @frozht 's post, and rebuilt, but still have the qml error message in the wallpaper picker. I also tried rebuilding from catsout's repository since he's made several commits today, but get errors in cmake:

CMake Error: The INTERFACE_QT_MAJOR_VERSION property of "Qt6::Qml" does
not agree with the value of QT_MAJOR_VERSION already determined
for "WallpaperEngineKde".

CMake Error: The INTERFACE_QT_MAJOR_VERSION property of "Qt6::Gui" does
not agree with the value of QT_MAJOR_VERSION already determined
for "mpvbackend".

CMake Error: The INTERFACE_QT_MAJOR_VERSION property of "Qt6::Gui" does
not agree with the value of QT_MAJOR_VERSION already determined
for "wescene-renderer-qml".

I manage to install the plugin in nobara 39. cloning this repo but switching to qt6 branch.
Then in src/CMakeLists.txt remove Qt5:

find_package(QT NAMES Qt6 REQUIRED COMPONENTS Core)

Then in plugin/contents/ui/Pyext.qml fix the typo from casout to catsout:

readonly property string file: "plasma/wallpapers/com.github.catsout.wallpaperEngineKde/contents/pyext.py"

I was able to build and install with those fixes, but I still have the same qml message when I go to select a wallpaper.

Did you use "cmake .. -DUSE_PLASMAPKG=ON -DCMAKE_BUILD_TYPE=Release -DBUILD_QML=ON -DQT_MAJOR_VERSION=6" or the new instruction on the readme:

cmake -B build -S . -GNinja -DUSE_PLASMAPKG=ON
cmake --build build
cmake --install build

I used the new instructions.
Including the cmake --build build --target install_pkg

worked for me using the new instructions

just make sure to use sudo for the cmake --install build otherwise it will fail due to permissions

Well, turns out it was operator error. I had qt6-websockets-devel installed, but it was the i686 build, not x86_64. Installed that and my weird error went away.

That said, there is still something awry. When I went to pick my steam library from the GUI, it hung a LONG time, and then there was a crash message on the main window (behind the folder picker). Unfortunately, the critical part of the error was chopped off. That said, I was able to work around it by getting the full path of the Steam install, and pasting it into the folder selector after the crash. After I closed the window and reopened it, the wallpapers populated and I was able to choose one, and they work.

Thanks for the assists, everyone.

which distro are you on?
(sorry for sending this again github sent this twice then when I deleted one of the duplicates it deleted both)

Nobara 39, steam deck. I installed qt6 dependencies per @frozht 's post, and rebuilt, but still have the qml error message in the wallpaper picker. I also tried rebuilding from catsout's repository since he's made several commits today, but get errors in cmake:

CMake Error: The INTERFACE_QT_MAJOR_VERSION property of "Qt6::Qml" does
not agree with the value of QT_MAJOR_VERSION already determined
for "WallpaperEngineKde".

CMake Error: The INTERFACE_QT_MAJOR_VERSION property of "Qt6::Gui" does
not agree with the value of QT_MAJOR_VERSION already determined
for "mpvbackend".

CMake Error: The INTERFACE_QT_MAJOR_VERSION property of "Qt6::Gui" does
not agree with the value of QT_MAJOR_VERSION already determined
for "wescene-renderer-qml".

I manage to install the plugin in nobara 39. cloning this repo but switching to qt6 branch. Then in src/CMakeLists.txt remove Qt5:

find_package(QT NAMES Qt6 REQUIRED COMPONENTS Core)

Then in plugin/contents/ui/Pyext.qml fix the typo from casout to catsout:

readonly property string file: "plasma/wallpapers/com.github.catsout.wallpaperEngineKde/contents/pyext.py"

Hilariously, I tried almost everything listed here and it still doesn't work. I tried both repos from catsout and fxzjshm. It seems to give me a new error every time. I have all the necessary packages installed too. I installed using the instructions on the qt6 repo by catsout and the instructions from @queenbiscuit311, and it didn't help. I don't really get it. It seems to get stuck on the cmake .. -DUSE_PLASMAPKG=ON -DCMAKE_BUILD_TYPE=Release -DBUILD_QML=ON -DQT_MAJOR_VERSION=6 (or the catsout qt6 repo equivalent) command most often, and if that succeeds, then the next will fail for some bizarre reason.

For configuring,

cmake .. -DQT_MAJOR_VERSION=6 -DUSE_PLASMAPKG=OFF

For installing,

Noticed that plasmapkg2 is now a wrapper of kpackagetool5, consider

kpackagetool6 -i plugin/ || kpackagetool6 -u plugin/

for installing and upgrading;
or if still not working, maybe just -DUSE_PLASMAPKG=OFF.

so you can either use kpackagetool6 -i plugin/ || kpackagetool6 -u plugin/, or make install when -DUSE_PLASMAPKG=OFF

Didn't noticed the change in this repo, should have been fixed by 98bf9ff

For configuring,

cmake .. -DQT_MAJOR_VERSION=6 -DUSE_PLASMAPKG=OFF

For installing,

Noticed that plasmapkg2 is now a wrapper of kpackagetool5, consider

kpackagetool6 -i plugin/ || kpackagetool6 -u plugin/

for installing and upgrading;
or if still not working, maybe just -DUSE_PLASMAPKG=OFF.

@fxzjshm, I used cmake .. -DQT_MAJOR_VERSION=6 -DUSE_PLASMAPKG=OFF in the build directory and it worked fine.

make install doesn't work and gives this error:
image

@HAL703 make then make install, for some reason install doesn't automatically build the project.

It works! I forgot to do make, my bad. Can't believe make install doesn't automatically build a project though. I'll update here if I have any more issues! There are a few black screens here and there but I assume those are incompatible wallpapers.

cmake .. -DUSE_PLASMAPKG=ON -DCMAKE_BUILD_TYPE=Release -DBUILD_QML=ON -DQT_MAJOR_VERSION=6

I get this error when running that on Fedora:

-- Could NOT find KF6Package (missing: KF6Package_DIR)
-- Could NOT find KF6Package: found neither KF6PackageConfig.cmake nor kf6package-config.cmake 
CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
  Could NOT find KF6 (missing: Package) (Required is at least version
  "5.68.0")
Call Stack (most recent call first):
  /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE)
  /usr/share/ECM/find-modules/FindKF6.cmake:93 (find_package_handle_standard_args)
  CMakeLists.txt:34 (find_package)

You need QT6-kpackage-devel and qt6-qtbase-private-dev as well.

Couldn't find QT6-kpackage-devel, installed the following:

sudo dnf install kf6-kpackage-devel.x86_64
sudo dnf install qt6-qtbase-private-devel.x86_64

Editing the following line in plugin/contents/ui/Pyext.qml did NOT fix it for me:

readonly property string file: "plasma/wallpapers/com.github.catsout.wallpaperEngineKde/contents/pyext.py"

Managed to build with:

cmake .. -DUSE_PLASMAPKG=ON -DCMAKE_BUILD_TYPE=Release -DBUILD_QML=ON -DQT_MAJOR_VERSION=6

make

sudo make install

Then copied the plugin files to:

mkdir ~/.local/share/plasma/wallpapers/com.github.casout.wallpaperEngineKde

cp -r ../plugin/* ~/.local/share/plasma/wallpapers/com.github.casout.wallpaperEngineKde

That fixed it.

My bad. I had to recall the package name by memory, and got it a little mixed up. Will edit my comment.

That line in plugin/contents/ui/Pyext.qml needs to updated to read:
readonly property string file: "plasma/wallpapers/com.github.ca**t**sout.wallpaperEngineKde/contents/pyext.py"

with a "T" in "catsout", missing in the original

My bad. I had to recall the package name by memory, and got it a little mixed up. Will edit my comment.

That line in plugin/contents/ui/Pyext.qml needs to updated to read: readonly property string file: "plasma/wallpapers/com.github.catsout.wallpaperEngineKde/contents/pyext.py"

with a "T" in "catsout", missing in the original

Yea, that's what I did, I should've put that in the comment.
However, for me, that didn't work. The wallpaperEngine option wouldn't show up in the selector, even if I had the folder ~/.local/share/plasma/wallpapers/com.github.catsout.wallpaperEngineKde with the correct name as well.

I had to use casout in both the pyext.py line and as the actual folder name.
It's working now, anyways.

CMake Error: The INTERFACE_QT_MAJOR_VERSION property of "Qt6::Qml" does
not agree with the value of QT_MAJOR_VERSION already determined
for "WallpaperEngineKde".

CMake Error: The INTERFACE_QT_MAJOR_VERSION property of "Qt6::Gui" does
not agree with the value of QT_MAJOR_VERSION already determined
for "mpvbackend".

CMake Error: The INTERFACE_QT_MAJOR_VERSION property of "Qt6::Gui" does
not agree with the value of QT_MAJOR_VERSION already determined
for "wescene-renderer-qml".
CMake Error: The INTERFACE_QT_MAJOR_VERSION property of "Qt6::Qml" does
not agree with the value of QT_MAJOR_VERSION already determined
for "WallpaperEngineKde".

CMake Error: The INTERFACE_QT_MAJOR_VERSION property of "Qt6::Gui" does
not agree with the value of QT_MAJOR_VERSION already determined
for "mpvbackend".

CMake Error: The INTERFACE_QT_MAJOR_VERSION property of "Qt6::Gui" does
not agree with the value of QT_MAJOR_VERSION already determined
for "wescene-renderer-qml".

me too

CMake Error: The INTERFACE_QT_MAJOR_VERSION property of "Qt6::Qml" does
not agree with the value of QT_MAJOR_VERSION already determined
for "WallpaperEngineKde".

CMake Error: The INTERFACE_QT_MAJOR_VERSION property of "Qt6::Gui" does
not agree with the value of QT_MAJOR_VERSION already determined
for "mpvbackend".

CMake Error: The INTERFACE_QT_MAJOR_VERSION property of "Qt6::Gui" does
not agree with the value of QT_MAJOR_VERSION already determined
for "wescene-renderer-qml".

I had got the same error before ,I think it is seem to be caused by the src/CMakeLists.txt line 1 :

find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Core)

The find_package functions seem to use Qt5 instead of Qt6 , although I have both Qt5 and 6 installed . And these errors don't stop cmake from generating build files in my environment , but it make the expression be true .

QT_VERSION < QT_VERSION_CHECK( 6 , 0 , 0 )

It causes the project to incorrectly contain Qt5 files , and them are removed by in Qt6 , this will cause some compile error
image

I just delete Qt5 in src/CMakeLists.txt line 1 , only use Qt6

find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Core)

This make it work well in my environment

this fix helped, thanks alot 💛

~/git/wallpaper-engine-kde-plugin qt6 39s ❯ cmake --build build
[1/1] Linking CXX shared library src/libWallpaperEngineKde.so
FAILED: src/libWallpaperEngineKde.so 
: && /usr/bin/c++ -fPIC -O2 -g -DNDEBUG  -Wl,--exclude-libs,ALL -shared -Wl,-soname,libWallpaperEngineKde.so -o src/libWallpaperEngineKde.so src/CMakeFiles/WallpaperEngineKde.dir/WallpaperEngineKde_autogen/mocs_compilation.cpp.o src/CMakeFiles/WallpaperEngineKde.dir/plugin.cpp.o src/CMakeFiles/WallpaperEngineKde.dir/MouseGrabber.cpp.o src/CMakeFiles/WallpaperEngineKde.dir/PluginInfo.cpp.o  src/backend_mpv/libmpvbackend.a  src/backend_scene/libwescene-renderer-qml.a  -lmpv  /usr/lib/libQt6Quick.so.6.6.2  /usr/lib/libQt6QmlModels.so.6.6.2  /usr/lib/libQt6Qml.so.6.6.2  /usr/lib/libQt6Network.so.6.6.2  /usr/lib/libQt6OpenGL.so.6.6.2  /usr/lib/libQt6Gui.so.6.6.2  /usr/lib/libGLX.so  /usr/lib/libOpenGL.so  /usr/lib/libQt6Core.so.6.6.2  src/backend_scene/third_party/glad/libglad.a  src/backend_scene/src/libwescene-renderer.a  src/backend_scene/src/Audio/libwpAudio.a  src/backend_scene/src/Looper/libwpLooper.a  src/backend_scene/src/VulkanRender/libwpVulkanRender.a  src/backend_scene/src/Vulkan/libwpVulkan.a  src/backend_scene/third_party/glslang/glslang/libglslang.a  -lspirv-reflect-static  /lib/libvulkan.so  src/backend_scene/third_party/glslang/SPIRV/libSPIRV.a  src/backend_scene/third_party/glslang/glslang/libMachineIndependent.a  src/backend_scene/third_party/glslang/glslang/OSDependent/Unix/libOSDependent.a  src/backend_scene/third_party/glslang/glslang/libGenericCodeGen.a  src/backend_scene/src/RenderGraph/libwpRGraph.a  src/backend_scene/src/Scene/libwpScene.a  src/backend_scene/src/Particle/libwpParticle.a  src/backend_scene/src/Scene/libwpScene.a  src/backend_scene/src/Particle/libwpParticle.a  src/backend_scene/src/Timer/libwpTimer.a  src/backend_scene/src/Utils/libwpUtils.a  -llz4  -ldl && cd /home/matrikslee/git/wallpaper-engine-kde-plugin/build/src && /usr/bin/cmake -E copy /home/matrikslee/git/wallpaper-engine-kde-plugin/src/qmldir /home/matrikslee/git/wallpaper-engine-kde-plugin/build/src/qmldir
/usr/bin/ld: 找不到 -lspirv-reflect-static: 没有那个文件或目录
collect2: 错误:ld 返回 1
ninja: build stopped: subcommand failed.

build from the latest qt6 branch and readme gives me a error like above, there is anyone can tell me how to fix? thanks!

I found the solution: delete the OPTION() command lines from src/plasma6-wallpapers-wallpaper-engine-git/src/backend_scene/third_party/SPIRV-Reflect/CMakeLists.txt

OPTION(SPIRV_REFLECT_STATIC_LIB     "Build a SPIRV-Reflect static library" OFF)
OPTION(SPIRV_REFLECT_BUILD_TESTS    "Build the SPIRV-Reflect test suite" OFF)
OPTION(SPIRV_REFLECT_ENABLE_ASSERTS "Enable asserts for debugging" OFF)
OPTION(SPIRV_REFLECT_ENABLE_ASAN    "Use address sanitization" OFF)

build from the latest qt6 branch and readme gives me a error like above, there is anyone can tell me how to fix? thanks!

Fixed dad1870

commented
~/git/wallpaper-engine-kde-plugin qt6 39s ❯ cmake --build build
[1/1] Linking CXX shared library src/libWallpaperEngineKde.so
FAILED: src/libWallpaperEngineKde.so 
: && /usr/bin/c++ -fPIC -O2 -g -DNDEBUG  -Wl,--exclude-libs,ALL -shared -Wl,-soname,libWallpaperEngineKde.so -o src/libWallpaperEngineKde.so src/CMakeFiles/WallpaperEngineKde.dir/WallpaperEngineKde_autogen/mocs_compilation.cpp.o src/CMakeFiles/WallpaperEngineKde.dir/plugin.cpp.o src/CMakeFiles/WallpaperEngineKde.dir/MouseGrabber.cpp.o src/CMakeFiles/WallpaperEngineKde.dir/PluginInfo.cpp.o  src/backend_mpv/libmpvbackend.a  src/backend_scene/libwescene-renderer-qml.a  -lmpv  /usr/lib/libQt6Quick.so.6.6.2  /usr/lib/libQt6QmlModels.so.6.6.2  /usr/lib/libQt6Qml.so.6.6.2  /usr/lib/libQt6Network.so.6.6.2  /usr/lib/libQt6OpenGL.so.6.6.2  /usr/lib/libQt6Gui.so.6.6.2  /usr/lib/libGLX.so  /usr/lib/libOpenGL.so  /usr/lib/libQt6Core.so.6.6.2  src/backend_scene/third_party/glad/libglad.a  src/backend_scene/src/libwescene-renderer.a  src/backend_scene/src/Audio/libwpAudio.a  src/backend_scene/src/Looper/libwpLooper.a  src/backend_scene/src/VulkanRender/libwpVulkanRender.a  src/backend_scene/src/Vulkan/libwpVulkan.a  src/backend_scene/third_party/glslang/glslang/libglslang.a  -lspirv-reflect-static  /lib/libvulkan.so  src/backend_scene/third_party/glslang/SPIRV/libSPIRV.a  src/backend_scene/third_party/glslang/glslang/libMachineIndependent.a  src/backend_scene/third_party/glslang/glslang/OSDependent/Unix/libOSDependent.a  src/backend_scene/third_party/glslang/glslang/libGenericCodeGen.a  src/backend_scene/src/RenderGraph/libwpRGraph.a  src/backend_scene/src/Scene/libwpScene.a  src/backend_scene/src/Particle/libwpParticle.a  src/backend_scene/src/Scene/libwpScene.a  src/backend_scene/src/Particle/libwpParticle.a  src/backend_scene/src/Timer/libwpTimer.a  src/backend_scene/src/Utils/libwpUtils.a  -llz4  -ldl && cd /home/matrikslee/git/wallpaper-engine-kde-plugin/build/src && /usr/bin/cmake -E copy /home/matrikslee/git/wallpaper-engine-kde-plugin/src/qmldir /home/matrikslee/git/wallpaper-engine-kde-plugin/build/src/qmldir
/usr/bin/ld: 找不到 -lspirv-reflect-static: 没有那个文件或目录
collect2: 错误:ld 返回 1
ninja: build stopped: subcommand failed.

build from the latest qt6 branch and readme gives me a error like above, there is anyone can tell me how to fix? thanks!

I found the solution: delete the OPTION() command lines from src/plasma6-wallpapers-wallpaper-engine-git/src/backend_scene/third_party/SPIRV-Reflect/CMakeLists.txt

OPTION(SPIRV_REFLECT_STATIC_LIB     "Build a SPIRV-Reflect static library" OFF)
OPTION(SPIRV_REFLECT_BUILD_TESTS    "Build the SPIRV-Reflect test suite" OFF)
OPTION(SPIRV_REFLECT_ENABLE_ASSERTS "Enable asserts for debugging" OFF)
OPTION(SPIRV_REFLECT_ENABLE_ASAN    "Use address sanitization" OFF)

This actually fixed my plugins with the same problem of not finding libWallpaperEngineKde.so as well (fresh EOS install), although you need to run cmake with sudo for them to work, thank you so much for fixing it!

I am trying to build on a different machine and following the build instructions from the readme. Cloned the repo about an hour ago. Still had to install the missing packages manually, identified above. After that it built the whole thing until the last step. I'm running into a similar problem as @matrikslee. Here's my error:

[131/131] Linking CXX shared library src/libWallpaperEngineKde.so
FAILED: src/libWallpaperEngineKde.so
: && /usr/lib64/ccache/c++ -fPIC -O2 -g -DNDEBUG  -Wl,--exclude-libs,ALL -shared -Wl,-soname,libWallpaperEngineKde.so -o src/libWallpaperEngineKde.so src/CMakeFiles/WallpaperEngineKde.dir/WallpaperEngineKde_autogen/mocs_compilation.cpp.o src/CMakeFiles/WallpaperEngineKde.dir/plugin.cpp.o src/CMakeFiles/WallpaperEngineKde.dir/MouseGrabber.cpp.o src/CMakeFiles/WallpaperEngineKde.dir/PluginInfo.cpp.o  src/backend_mpv/libmpvbackend.a  src/backend_scene/libwescene-renderer-qml.a  -lmpv  /usr/lib64/libQt6Quick.so.6.6.2  /usr/lib64/libQt6QmlModels.so.6.6.2  /usr/lib64/libQt6Qml.so.6.6.2  /usr/lib64/libQt6Network.so.6.6.2  /usr/lib64/libQt6OpenGL.so.6.6.2  /usr/lib64/libQt6Gui.so.6.6.2  /usr/lib64/libGLX.so  /usr/lib64/libOpenGL.so  /usr/lib64/libQt6Core.so.6.6.2  src/backend_scene/third_party/glad/libglad.a  src/backend_scene/src/libwescene-renderer.a  src/backend_scene/src/Audio/libwpAudio.a  src/backend_scene/src/Looper/libwpLooper.a  src/backend_scene/src/VulkanRender/libwpVulkanRender.a  src/backend_scene/src/Vulkan/libwpVulkan.a  src/backend_scene/third_party/glslang/glslang/libglslang.a  -lspirv-reflect-static  /lib64/libvulkan.so  src/backend_scene/third_party/glslang/SPIRV/libSPIRV.a  src/backend_scene/third_party/glslang/glslang/libMachineIndependent.a  src/backend_scene/third_party/glslang/glslang/OSDependent/Unix/libOSDependent.a  src/backend_scene/third_party/glslang/glslang/libGenericCodeGen.a  src/backend_scene/src/RenderGraph/libwpRGraph.a  src/backend_scene/src/Scene/libwpScene.a  src/backend_scene/src/Particle/libwpParticle.a  src/backend_scene/src/Scene/libwpScene.a  src/backend_scene/src/Particle/libwpParticle.a  src/backend_scene/src/Timer/libwpTimer.a  src/backend_scene/src/Utils/libwpUtils.a  -llz4  -ldl && cd /home/joel/Build/wallpaper-engine-kde-plugin/build/src && /usr/bin/cmake -E copy /home/joel/Build/wallpaper-engine-kde-plugin/src/qmldir /home/joel/Build/wallpaper-engine-kde-plugin/build/src/qmldir
/usr/bin/ld: cannot find -lspirv-reflect-static: No such file or directory
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed

Based on catsout's comment I assumed this was fixed. Am I mistaken?

  1. I managed to make it work here with some tips, but the mpv option doesn't appear for me.
  2. I have some wallpapers with black screens.

Screenshot_20240309_135042

@Crono141
Please test with a new commit, it seems I made a mistake.

Scenes seem to not work on the latest commit I just get a black screen saying "Plugin lib not found" am I missing a dependency or something?

Scenes seem to not work on the latest commit I just get a black screen saying "Plugin lib not found" am I missing a dependency or something?

I did not encounter errors while building the installation, this is my step:

git clone https://github.com/fxzjshm/wallpaper-engine-kde-plugin.git
cd wallpaper-engine-kde-plugin
git submodule update --init --force --recursive
cmake -B build -S . -DUSE_PLASMAPKG=ON -DCMAKE_BUILD_TYPE=Release -DBUILD_QML=ON -DQT_MAJOR_VERSION=6
vim src/CMakeLists.txt
 find_package(QT NAMES Qt6 REQUIRED COMPONENTS Core)

cmake --build build
sudo cmake --install build
cmake --build build --target install_pkg
reboot

commented

@AXMIRN Thank you so much, I finally got it to work using your guide

@sudoskys is that using the qt6 branch? I'm assuming that's going to merge into master eventually, right @catsout?

Ive tried the AUR, Compiled from source (the qt6 branch) and tried the fxzjshm fork and can only get backgrounds of type video to work, so no scenes..

do others also have this issue?
are scenes just generally unsupported by this plugin?

Using the latest commits, I got web and scene to work. I don't have any videos in my library to test with, so I can't confirm that. If it helps, I used the build instructions from AXMIRN and am on KDE neon with Plasma 6.0.2.

commented

@everypizza1 You can try it out with this one, it's fairly popular and requires the WebView: https://steamcommunity.com/sharedfiles/filedetails/?id=824548506

I've tested the web wallpaper @codenyte suggested and a video wallpaper (https://steamcommunity.com/sharedfiles/filedetails/?id=1059450186) and both have worked.

commented

That's awesome, unfortunately I'm not so lucky and it doesn't work on my system, although I used the same install instructions.

I can say after removing the test build an installing the aur build it work well as long as you pick mkv if you pick qt it will crash an you have to remove it from that config. but more web ones work now its amazing great work! honestly.
"had to shrink it down to 10 meg but you can get the point"

WE.mp4

https://steamcommunity.com/sharedfiles/filedetails/?id=2994709115 still wont work but i think it has to much going on.

I've just tried again on KDE neon Developer Edition, and Web wallpapers will not work. There was possibly a package on my old instillation that made it work, I'll look into that later.

I've just tried again on KDE neon Developer Edition, and Web wallpapers will not work. There was possibly a package on my old instillation that made it work, I'll look into that later.

are you on nvidia by any chance? i've never gotten web to work on there even on plasma 5, i need my igpu enabled. if i set nvidia gpu as main gpu web wallpapers immediately stop working

Scenes seem to not work on the latest commit I just get a black screen saying "Plugin lib not found" am I missing a dependency or something?

I could install the plugin with your guide, but some wallpapers cant play:

image

Got it working fine, some warnings during build, but it works fine.

Nvidia 550.54.14
Nobara 39 KDE
Kde Plasma: 6.0.2

Note: Readme.md instructions didn't work for me.

imagen

Videocaptura.de.pantalla_20240324_121340.webm
commented

This wallpaper is crashing the whole plasmashell.

https://steamcommunity.com/sharedfiles/filedetails/?id=3173418061

Is that Plasma 6-specific?

This wallpaper is crashing the whole plasmashell.

https://steamcommunity.com/sharedfiles/filedetails/?id=3173418061

wallpapers just do that sometimes unless this worked on plasma 5

So after a bit of light testing. I can say web type wallpapers are not working on wayland at least with arch an nvidia. They work fine in x11 though here's one of the WP to test https://steamcommunity.com/sharedfiles/filedetails/?id=1217267289

`System:
  Kernel: 6.8.5-1-cachyos arch: x86_64 bits: 64 compiler: gcc v: 13.2.1
  Desktop: KDE Plasma v: 6.0.3 tk: Qt v: N/A info: frameworks v: 6.0.0
    wm: kwin_x11 vt: 2 dm: SDDM Distro: Garuda base: Arch Linux
Machine:
  Type: Desktop Mobo: ASUSTeK model: PRIME X570-PRO v: Rev X.0x
CPU:
  Info: model: AMD Ryzen 7 3700X bits: 64 type: MT MCP arch: Zen 2 gen: 3
 
Graphics:
  Device-1: NVIDIA GM204 [GeForce GTX 980] vendor: Gigabyte driver: nvidia
    v: 550.67 alternate: nouveau,nvidia_drm non-free: 545.xx+ status: current`

Everyone, make sure to install the new qt6 packages. For Fedora (replace other distros commands qt5 -> qt6, x11 package was missing for me): sudo dnf install vulkan-headers plasma-workspace-devel kf6-plasma-devel gstreamer1-libav lz4-devel mpv-libs-devel python3-websockets qt6-qtbase-private-devel qt6-qtwebchannel-devel qt6-qtwebsockets-devel cmake

it worked ,thank you so much for this.

Attempting to run the last cmake --build build --target install_pkg command on Fedora 40 yields the following error:

[1/1] cd /home/jack/Repos/wallpaper-engine-kde-plugin && /bin/sh -c "/usr/bin/plasmapkg2 -i ./plugin 2>/dev/null || /usr/bin/plasmapkg2 -u ./plugin"
FAILED: CMakeFiles/install_pkg /home/jack/Repos/wallpaper-engine-kde-plugin/build/CMakeFiles/install_pkg 
cd /home/jack/Repos/wallpaper-engine-kde-plugin && /bin/sh -c "/usr/bin/plasmapkg2 -i ./plugin 2>/dev/null || /usr/bin/plasmapkg2 -u ./plugin"
kf.package: Invalid metadata for package structure "Plasma/Wallpaper"
Package type "Plasma/Wallpaper" not found
kf.package: Invalid metadata for package structure "Plasma/Wallpaper"
kf.package: Cannot set a path in a package without structure "/home/jack/Repos/wallpaper-engine-kde-plugin/plugin"
kf.package: Invalid metadata for package structure "Plasma/Wallpaper"
Error: Plugin com.github.casout.wallpaperEngineKde is not installed.
ninja: build stopped: subcommand failed.