platform integration problem
avttrue opened this issue · comments
Build system: Linux KDE Neon, wayland
Test system: Linux KDE Neon, wayland, X11
cqtdeployer -bin MyApp -extraLibs "libb2,libxcb-cursor" -enablePlugins multimedia
When executing a MyApp.sh
file from DistributionKit
directory, a number of error messages are displayed in the console. The main problem I noticed is the incorrect functionality of file dialogs and some deviations in GUI styles.
Including string export QT_QPA_PLATFORM=xcb
in MyApp.sh
file eliminates the "qt.qpa.wayland:..." messages but does not solve the problem in file dialogs.
Error messages:
qt.qpa.wayland: Failed to load client buffer integration: "wayland-egl"
qt.qpa.wayland: Available client buffer integrations: QList()
...
kf.windowsystem: Could not find any platform plugin
...
kf.kio.core: couldn't create worker: "Неизвестный протокол «file»."
kf.kio.core: couldn't create worker: "Неизвестный протокол «file»."
hm, looks as bug o cqtdeployer.
because your distribution missed 2 Wayland plugins.
@avttrue can you try force to enable missed plugins for test ?
-enablePlugins "multimedia,wayland-decoration-client,wayland-graphics-integration-client"
@avttrue can you try force to enable missed plugins for test ?
-enablePlugins "multimedia,wayland-decoration-client,wayland-graphics-integration-client"
The message no longer appears
qt.qpa.wayland: ...
But these messages remained, and the problems associated with them.
The first access to the menu:
kf.windowsystem: Could not find any platform plugin
Calling the file dialog:
kf.kio.core: couldn't create worker: "Неизвестный протокол «file»."
kf.kio.core: couldn't create worker: "Неизвестный протокол «file»."
As for the problems I had in mind. Here's what's expected:
Снимок экрана_20240309_124223
Снимок экрана_20240309_124328
And here is how it is displayed when running through the DistributionKit:
Add please the "wayland-graphics-integration-server" plugin too
-enablePlugins "multimedia,wayland-decoration-client,wayland-graphics-integration-client,wayland-graphics-integration-server"
Add please the "wayland-graphics-integration-server" plugin too
-enablePlugins "multimedia,wayland-decoration-client,wayland-graphics-integration-client,wayland-graphics-integration-server"
No changes:
cqtdeployer -bin test_TextEdit -extraLibs "libb2,libxcb-cursor" -enablePlugins "multimedia,wayland-decoration-client,wayland-graphics-integration-client,wayland-graphics-integration-server" -verbose 3 >&verboselog.txt
Unfortunately, I don't know what exactly is missing from your distribution. If you manage to figure it out—either through the usual method of trying out plugins or Qt libraries—please describe it in this post, and I will assign this task to you.
I think I found the problematic plugins. Without these plugins, that problems do not appear. Need to test it more. Perhaps these plugins are missing something additionally.
plugins/1$ dir -R -h
.:
platformthemes styles wayland-decoration-client./platformthemes:
KDEPlasmaPlatformTheme6.so libqgtk3.so libqxdgdesktopportal.so./styles:
breeze6.so oxygen6.so./wayland-decoration-client:
libbradient.so
- Problematic plugins:
platformthemes, styles, wayland-decoration-client
- The
wayland-graphics-integration-server
plugin is probably not needed. The absence of this plugin does not affect anything. - The message displayed on X11
Failed to open VDPAU backend libvdpau_va_gl.so: cannot open shared object file: No such file or directory
, but I don't have such a library. I don't know if this library is necessary. - The final command for my distribution kit at this moment:
cqtdeployer -bin MyApp -extraLibs "libb2,libxcb-cursor,libvdpau_va_gl" -enablePlugins "multimedia,wayland-graphics-integration-client,wayland-graphics-integration-server" -disablePlugins "platformthemes,styles,wayland-decoration-client"
- The main problem was that at some stage an errors occurred when accessing plugins responsible for GUI styles and themes.
I will still test on other systems, but at this moment the distribution kit is working.
About the multimedia, wayland-graphics-integration-client,
plugins. At current time, these plugins deployed automatically.
So you can skip it.
I will close this issue. Because issues is founded inner Qt libraries/ and all cqtdeployer issues is fixed.