wallpaper-engine-kde-plugin icon indicating copy to clipboard operation
wallpaper-engine-kde-plugin copied to clipboard

plasma 6 support ?

Open Fluxy05 opened this issue 4 months ago • 73 comments

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

Fluxy05 avatar Feb 29 '24 10:02 Fluxy05

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

xxhinotorixx avatar Feb 29 '24 19:02 xxhinotorixx

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

lgdsgd2000 avatar Mar 02 '24 06:03 lgdsgd2000

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 <QX11Info> // 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?

Crono141 avatar Mar 04 '24 00:03 Crono141

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

hydranmenace avatar Mar 06 '24 20:03 hydranmenace

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

zjypls avatar Mar 07 '24 03:03 zjypls

@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.

fxzjshm avatar Mar 07 '24 07:03 fxzjshm

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😃

zjypls avatar Mar 07 '24 11:03 zjypls

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

queenbiscuit311 avatar Mar 07 '24 12:03 queenbiscuit311

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

zjypls avatar Mar 07 '24 12:03 zjypls

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

queenbiscuit311 avatar Mar 07 '24 12:03 queenbiscuit311

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

zjypls avatar Mar 07 '24 12:03 zjypls

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

queenbiscuit311 avatar Mar 07 '24 12:03 queenbiscuit311

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

zjypls avatar Mar 07 '24 12:03 zjypls

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

queenbiscuit311 avatar Mar 07 '24 13:03 queenbiscuit311

let me double check the library actually

queenbiscuit311 avatar Mar 07 '24 13:03 queenbiscuit311

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

zjypls avatar Mar 07 '24 13:03 zjypls

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

Crono141 avatar Mar 07 '24 13:03 Crono141

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

queenbiscuit311 avatar Mar 07 '24 13:03 queenbiscuit311

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

queenbiscuit311 avatar Mar 07 '24 13:03 queenbiscuit311

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

zjypls avatar Mar 07 '24 14:03 zjypls

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

queenbiscuit311 avatar Mar 07 '24 14:03 queenbiscuit311

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.

Crono141 avatar Mar 07 '24 15:03 Crono141

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)

queenbiscuit311 avatar Mar 07 '24 15:03 queenbiscuit311

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?

TeamBattino avatar Mar 07 '24 15:03 TeamBattino

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

frozht avatar Mar 07 '24 16:03 frozht

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)

frozht avatar Mar 07 '24 16:03 frozht

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.

Crono141 avatar Mar 07 '24 20:03 Crono141

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".

Crono141 avatar Mar 07 '24 20:03 Crono141

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"

N3gD0r avatar Mar 07 '24 21:03 N3gD0r

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

Crono141 avatar Mar 07 '24 21:03 Crono141