I encountered this error and application theming ceased to work.
The libqt6ct.so plugin is compiled against incompatible Qt version (6.10.1).
If you encounter this, cleanbuild the package (makepkg -Cfi). qt6-base may have updated.
| Git Clone URL: | https://aur.archlinux.org/qt6ct-kde.git (read-only, click to copy) |
|---|---|
| Package Base: | qt6ct-kde |
| Description: | Qt 6 Configuration Utility, patched to work correctly with KDE applications |
| Upstream URL: | https://www.opencode.net/trialuser/qt6ct |
| Licenses: | BSD |
| Conflicts: | qt6ct |
| Provides: | qt6ct |
| Submitter: | ilya-fedin |
| Maintainer: | ilya-fedin |
| Last Packager: | ilya-fedin |
| Votes: | 48 |
| Popularity: | 6.00 |
| First Submitted: | 2023-11-08 18:16 (UTC) |
| Last Updated: | 2025-11-01 12:27 (UTC) |
I encountered this error and application theming ceased to work.
The libqt6ct.so plugin is compiled against incompatible Qt version (6.10.1).
If you encounter this, cleanbuild the package (makepkg -Cfi). qt6-base may have updated.
It took me way to long to discover this package and to find out that with this KDE apps are behaving correctly (aka, dark theme) when instructed too. I was previously using vanilla qt6ct (on hyprland) where it looked fine (dark) but opening Dolphin would still pick light. I actually couldn't quite figure out why it behaved the way it did. Till an AI (google ai search out of all places) hinted me to qt6ct-kde to fix the very issue i was facing. And be darned, it actually works! It's annoying that KDE apps take a different route then vanilla Qt apps. I refuse to use portals, i blacklisted them as it always breaks things for me (but i tried, and it wasn't working at all with portals either). I would assume that running KDE apps in a non KDE environment would do a best effort way to work as proper as possible. Oh well this works, thank you so much for this package!
@bbaovanc the only other way is installing decoration plugins for Qt and choosing one with QT_WAYLAND_DECORATION. No KDE decoration plugin exists though since KDE is based on server-side decorations. The only ones I'm aware of are the gnome plugin in qt6-wayland package, the material plugin in liri-qtintegration-git package and the adwaita plugin in qadwaitadecorations-qt6 package.
@ilya-fedin I guess so. I'll update if I figure out a different solution, otherwise I don't want to clutter this channel too much.
@bbaovanc I guess you just need to configure it to server side decorations?
@ilya-fedin I probably should've said only Niri, I misremembered it happening on Hyprland. Niri, at least, doesn't use server side decorations by default, and using it I can see that Qt apps are drawing their own CSDs:
screenshot of sqlitebrowser on left, transmission-qt on right
Left is sqlitebrowser (Qt5), and right is transmission-qt (Qt6).
@bbaovanc KDE has only server side decorations. If I'm not mistaken, those compositors are tiling and you shouldn't have decorations at all?
Is it possible to get KDE/Breeze style client-side decoration buttons when running in native Wayland? I'm using Niri or Hyprland, and trying to get Qt programs to just use Breeze theme so they look like KDE, but the minimize/maximize/close buttons have very barebones icons. I tried changing icon theme but it doesn't seem to be related to that.
KColorScheme 6.21 switches from xdg-desktop-portal to QStyleHints::colorScheme for light/dark theme detection which should allow qt6ct-kde to choose the right Breeze variant when a KColorScheme-compatible color scheme isn't set.
@gpepi please get a backtrace via gdb or coredumpctl debug with debuginfod enabled
Pinned Comments
ilya-fedin commented on 2023-11-08 18:17 (UTC) (edited on 2025-03-04 14:40 (UTC) by ilya-fedin)
Some user guide:
My patchset contains multiple fixes/features in comparison to vanilla qt6ct:
It's important to set a KDE color scheme (marked as
(KColorScheme)in the list) for proper theming of KDE apps.Additionally, if one wants KDE dialogs, this could be reached either with plasma-integration or xdg-desktop-portal (both work with vanilla qt6ct, too).
To get them with plasma-integration:
To get them with xdg-desktop-portal-kde:
kde, see https://wiki.archlinux.org/title/XDG_Desktop_Portal#ConfigurationHow to ensure that session dbus instance is running correctly when using xinit (DMs should already do the right thing for you):
for f in /etc/X11/xinit/xinitrc.d/?*.shloop from /etc/X11/xinit/xinitrc to your .xinitrcsystemctl --user status dbusand the service is running. You shouldn't enable the service, it should be activated by dbus.socket.In case of Wayland, you may need to integrate your WM with systemd (that's what one of the scripts in /etc/X11/xinit/xinitrc.d does for X11): https://github.com/swaywm/sway/wiki#gtk-applications-take-20-seconds-to-start