Incorrect behavior of some programs using QT on KDE 6, Wayland


I’ve been experiencing some programs not working correctly, when using KDE 6 and Wayland. I think the problem might be related to QT, or something like that, because both of the programs where I’ve found things not working correctly use QT.

The main problem:

the lack of a menu bar. The applications where I’ve encountered this problem lack a button block at the top of the program with most of the functionality. As a result, the functionality of the program becomes limited to the interface buttons only.

Examples of applications in which I have encountered this problem:

  1. HLAM - Model viewer for Half-Life 1 and similar games.
  2. KeePassXC password manager.

Additional problem:

In the HLAM program the window for model viewer is cropped to 1/4 of the size of the viewing area.
I contacted the developer via an issue on Github and he was unable to reproduce this issue.

Additional information:

  • There are no such Problems when using X11.
  • I have an additional distro (Endeavour OS) on a separate SSD - I only use it for testing or something like that. It also runs KDE Plasma 6 and Wayland and uses the Arch package base. So, running those two applications on it, I didn’t find the above problems. So it seems to me that the problem is not in QT or Wayland, but somewhere in Garuda. :thinking:


Kernel: 6.8.1-zen1-1-zen arch: x86_64 bits: 64 compiler: gcc v: 13.2.1
clocksource: tsc avail: hpet,acpi_pm
parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
root=UUID=4f0d418e-e934-494c-a4ff-99fda39dd558 rw rootflags=subvol=@
quiet loglevel=3 ibt=off
Desktop: KDE Plasma v: 6.0.2 tk: Qt v: N/A info: frameworks v: 6.0.0
wm: kwin_wayland vt: 1 dm: SDDM Distro: Garuda base: Arch Linux
Type: Desktop System: HUANANZHI X99 product: N/A v: NALEX
serial: <superuser required>
Mobo: HUANANZHI model: X99-BD4 v: V1.1, NALEX serial: <superuser required>
uuid: <superuser required> UEFI: American Megatrends v: 5.11
date: 11/01/2020
Info: model: Intel Xeon E5-2666 v3 bits: 64 type: MT MCP arch: Haswell
level: v3 note: check built: 2013-15 process: Intel 22nm family: 6
model-id: 0x3F (63) stepping: 2 microcode: 0x49
Topology: cpus: 1x cores: 10 tpc: 2 threads: 20 smt: enabled cache:
L1: 640 KiB desc: d-10x32 KiB; i-10x32 KiB L2: 2.5 MiB desc: 10x256 KiB
L3: 25 MiB desc: 1x25 MiB
Speed (MHz): avg: 3497 high: 3500 min/max: 1200/3500 scaling:
driver: intel_cpufreq governor: performance cores: 1: 3492 2: 3494 3: 3500
4: 3500 5: 3493 6: 3500 7: 3500 8: 3500 9: 3500 10: 3500 11: 3500 12: 3500
13: 3500 14: 3500 15: 3500 16: 3492 17: 3492 18: 3492 19: 3500 20: 3500
bogomips: 115737
Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
Vulnerabilities: <filter>
Device-1: NVIDIA GA104 [GeForce RTX 3070 Ti] driver: nvidia v: 550.67
alternate: nouveau,nvidia_drm non-free: 545.xx+ status: current (as of
2024-02; EOL~2026-12-xx) arch: Ampere code: GAxxx process: TSMC n7 (7nm)
built: 2020-2023 pcie: gen: 2 speed: 5 GT/s lanes: 16 link-max: gen: 4
speed: 16 GT/s ports: active: none off: DP-2,HDMI-A-1 empty: DP-1,DP-3
bus-ID: 03:00.0 chip-ID: 10de:2482 class-ID: 0300
Display: wayland server: v: with: Xwayland v: 23.2.4
compositor: kwin_wayland driver: X: loaded: nvidia unloaded: modesetting
alternate: fbdev,nouveau,nv,vesa gpu: nvidia d-rect: 5047x2389
display-ID: 0
Monitor-1: DP-2 pos: primary,top-left res: 3127x1309 size: N/A modes: N/A
Monitor-2: HDMI-A-1 pos: bottom-r res: 1920x1080 size: N/A modes: N/A
API: EGL v: 1.5 hw: drv: nvidia platforms: device: 0 drv: nvidia device: 2
drv: swrast gbm: drv: nvidia surfaceless: drv: nvidia wayland: drv: nvidia
x11: drv: zink inactive: device-1
API: OpenGL v: 4.6.0 compat-v: 4.5 vendor: nvidia mesa v: 550.67
glx-v: 1.4 direct-render: yes renderer: NVIDIA GeForce RTX 3070 Ti/PCIe/SSE2
memory: 7.81 GiB display-ID: :1.0
API: Vulkan v: 1.3.279 layers: 9 device: 0 type: discrete-gpu name: NVIDIA
GeForce RTX 3070 Ti driver: nvidia v: 550.67 device-ID: 10de:2482
surfaces: xcb,xlib,wayland
Device-1: Intel 8 Series/C220 Series High Definition Audio
driver: snd_hda_intel v: kernel bus-ID: 00:1b.0 chip-ID: 8086:8c20
class-ID: 0403
Device-2: NVIDIA GA104 High Definition Audio driver: snd_hda_intel
v: kernel pcie: gen: 3 speed: 8 GT/s lanes: 16 link-max: gen: 4
speed: 16 GT/s bus-ID: 03:00.1 chip-ID: 10de:228b class-ID: 0403
Device-3: JMTek LLC. USB PnP Audio Device
driver: hid-generic,snd-usb-audio,usbhid type: USB rev: 1.1 speed: 12 Mb/s
lanes: 1 mode: 1.1 bus-ID: 3-10:4 chip-ID: 0c76:1617 class-ID: 0300
serial: <filter>
API: ALSA v: k6.8.1-zen1-1-zen status: kernel-api tools: N/A
Server-1: PipeWire v: 1.0.4 status: active with: 1: pipewire-pulse
status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
4: pw-jack type: plugin tools: pactl,pw-cat,pw-cli,wpctl
Device-1: Realtek RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet
driver: r8169 v: kernel pcie: gen: 1 speed: 2.5 GT/s lanes: 1 port: d000
bus-ID: 06:00.0 chip-ID: 10ec:8168 class-ID: 0200
IF: enp6s0 state: up speed: 1000 Mbps duplex: full mac: <filter>
IF-ID-1: outline-tun0 state: down mac: N/A
Info: services: NetworkManager,systemd-timesyncd
Local Storage: total: 1.61 TiB used: 716.59 GiB (43.4%)
SMART Message: Unable to run smartctl. Root privileges required.
ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: KingSpec model: NX-512
size: 476.94 GiB block-size: physical: 512 B logical: 512 B speed: 31.6 Gb/s
lanes: 4 tech: SSD serial: <filter> fw-rev: SN08381 temp: 39.9 C
scheme: GPT
ID-2: /dev/sda maj-min: 8:0 vendor: Samsung model: SSD 860 EVO 500GB
size: 465.76 GiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
tech: SSD serial: <filter> fw-rev: 4B6Q scheme: MBR
ID-3: /dev/sdb maj-min: 8:16 vendor: Hitachi model: HDS721025CLA682
size: 232.89 GiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
tech: HDD rpm: 7200 serial: <filter> fw-rev: A41A scheme: MBR
ID-4: /dev/sdc maj-min: 8:32 vendor: Patriot model: P210 512GB
size: 476.94 GiB block-size: physical: 512 B logical: 512 B speed: 3.0 Gb/s
tech: SSD serial: <filter> fw-rev: 002 scheme: GPT
ID-1: / raw-size: 476.64 GiB size: 476.64 GiB (100.00%)
used: 133.62 GiB (28.0%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
used: 584 KiB (0.2%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:1
ID-3: /home raw-size: 476.64 GiB size: 476.64 GiB (100.00%)
used: 133.62 GiB (28.0%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
ID-4: /var/log raw-size: 476.64 GiB size: 476.64 GiB (100.00%)
used: 133.62 GiB (28.0%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
ID-5: /var/tmp raw-size: 476.64 GiB size: 476.64 GiB (100.00%)
used: 133.62 GiB (28.0%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:2
Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default) zswap: no
ID-1: swap-1 type: zram size: 31.24 GiB used: 0 KiB (0.0%) priority: 100
comp: zstd avail: lzo,lzo-rle,lz4,lz4hc,842 max-streams: 20 dev: /dev/zram0
System Temperatures: cpu: 33.0 C mobo: N/A
Fan Speeds (rpm): N/A
Memory: total: 32 GiB available: 31.24 GiB used: 3.39 GiB (10.8%)
Processes: 446 Power: uptime: 1m states: freeze,mem,disk suspend: deep
avail: s2idle wakeups: 0 hibernate: platform avail: shutdown, reboot,
suspend, test_resume image: 12.45 GiB services: org_kde_powerdevil,
power-profiles-daemon, upowerd Init: systemd v: 255 default: graphical
tool: systemctl
Packages: pm: pacman pkgs: 1745 libs: 506 tools: octopi,pamac,paru
pm: appimage pkgs: 0 Compilers: clang: 17.0.6 gcc: 13.2.1 alt: 12
Shell: garuda-inxi default: fish v: 3.7.0 running-in: konsole inxi: 3.3.33
Garuda (2.6.23-1):
System install date:     2024-02-08
Last full system update: 2024-03-24
Is partially upgraded:   No
Relevant software:       snapper NetworkManager dracut nvidia-dkms
Windows dual boot:       No/Undetected
Failed units:

Are you able to post screenshots comparing Garuda and Endeavour?





I’m not really good at this. Have you tried to play around with Kvantum - tweaking themes a little bit?

1 Like

Try some other Kvantum themes, as pointed by Yada.
There are issues already trying to be fixed with Kvantum that may cause this.

EDIT: Working for me with fixed version of Kvantum.

Perform a garuda-update, reboot and try again, see how it comes out.

garuda-update hasn’t found an update for kvantum yet… Does it even take any time at all? For the updated package to show up in the repository.

You should be running v1.1.0.

paru -Qi kvantum

But I don’t think the fix is fully there yet, I took a deeper look after writing my previous post. Since this issue comes from upstream Plasma 6, kvantum may not be able to fully fix it, although they provide a manual workaround.

1 Like

Yes, I have this exact version (1.1.0-1) installed and the problem is present.

Ok, try the manual fix they mention. It’s one of the link in the link I posted.

Are you referring to your links on GitHub?
If so, I didn’t find a solution to my problem there.

I tried changing many themes and also installed kvantum-git instead of kvantum, but it didn’t work.

Did you try without kvantum?

No, I haven’t tried it. I’ve never used kvantum before. What should I do to try it without it? Uninstall it? But there are packages that depend on it.

It’s kinda important to make sure whether the issue is present with Kvantum and/or without Kvantum.

There are 2 ways I know to safely disable Kvantum:

  1. Use a different Application Style and ideally logout and relogin.

(don’t use the last one, it’s Windows and we don’t like that. :rofl: Joke aside)

  1. Force uninstall kvantum.
paru -Rdd kvantum kvantum-qt5

Not a fan of that one, I don’t mind doing this kind of stuff on MY machines, but if recommended for someone else it would be in a very specific situation. In this one here, I don’t suggest that. In the end it will do the same thing as #1 above, so you’re way better off trying Option #1.

Can you confirm you did try this?

1 Like

I was able to find one setting that makes the menu buttons appear. But first I would like to respond to your message.

I didn’t initially try this because I didn’t see how it was relevant to my problem. After reading the issue, I think it’s a different problem, isn’t it?
After your post, I tried changing the layout-margin, but that didn’t work.

Then I tried changing the “Application Style” and re-authorizing each time, following your advice. But that didn’t work either.

Then I decided to try changing the “Global theme” and it worked! :star_struck:
The “Desktop and window layout” checkbox must be active, without it the buttons don’t appear.


So, the problem turned out to be in the standard theme for Garuda - “Dr460nized”. Buttons appear if I turn on the standard theme “Breeze”. (different custom themes also behave differently - some of them have menu buttons and some of them don’t, but it’s not so important now).
However, I have not been able to figure out what exactly the problem is with this theme. I’ve tried changing various other settings in the Colors & Theme section, but it’s not working.

Perhaps you can figure out what exactly the problem is in the Dr460nized theme.




I just discovered that the problem occurs when the “Global Menu” widget is added to plasma. It doesn’t matter where it is added - to any panel, or to the desktop. If this widget exists, then the applications I listed in the first post do not display the menu. If you remove the widget, the menu will be shown.

Yes, Global Menu has some issues with some apps (Firedragon is one example).
Garuda wants the menu to be in the Top Panel, so it gives more space within the apps.

I highly suggest opening a bug at, it is their widget.

KeePassXC is a QT6 app (as opposed to GTK app like Firedragon), I don’t see any excuse for it to not display the menu in Global Menu. This is something KDE should look into.

You did add Global Menu to your Breeze theme and then the menu disappeared, correct? If not, you should try it that way so you can report clean of any other theme modifications to KDE.

I’m sorry for this, it is indeed annoying.

1 Like

Yep, but it doesn’t depend on a particular theme, it happens on all of them.

This topic was automatically closed 14 days after the last reply. New replies are no longer allowed.