Wrong cursor in some applications (KDE Plasma)

First things first:

System:
  Kernel: 6.5.7-zen2-1-zen arch: x86_64 bits: 64 compiler: gcc v: 13.2.1
    clocksource: tsc available: hpet,acpi_pm
    parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
    root=UUID=c309d731-23a7-4d73-a849-5da2aca6a6cc rw rootflags=subvol=@
    quiet quiet rd.udev.log_priority=3 vt.global_cursor_default=0 loglevel=3
    ibt=off
  Desktop: KDE Plasma v: 5.27.8 tk: Qt v: 5.15.11 wm: kwin_wayland vt: 1
    dm: SDDM Distro: Garuda Linux base: Arch Linux
Machine:
  Type: Desktop System: Micro-Star product: MS-7C37 v: 1.0
    serial: <superuser required>
  Mobo: Micro-Star model: MPG X570 GAMING EDGE WIFI (MS-7C37) v: 1.0
    serial: <superuser required> UEFI: American Megatrends LLC. v: 1.M0
    date: 06/29/2023
Battery:
  ID-1: hidpp_battery_0 charge: 88% condition: N/A volts: 4.1 min: N/A
    model: Logitech G903 LIGHTSPEED Wireless Gaming Mouse w/ HERO type: N/A
    serial: <filter> status: discharging
CPU:
  Info: model: AMD Ryzen 7 3700X bits: 64 type: MT MCP arch: Zen 2 gen: 3
    level: v3 note: check built: 2020-22 process: TSMC n7 (7nm)
    family: 0x17 (23) model-id: 0x71 (113) stepping: 0 microcode: 0x8701030
  Topology: cpus: 1x cores: 8 tpc: 2 threads: 16 smt: enabled cache:
    L1: 512 KiB desc: d-8x32 KiB; i-8x32 KiB L2: 4 MiB desc: 8x512 KiB
    L3: 32 MiB desc: 2x16 MiB
  Speed (MHz): avg: 3605 high: 3719 min/max: 2200/4426 boost: enabled
    scaling: driver: acpi-cpufreq governor: performance cores: 1: 3600 2: 3600
    3: 3600 4: 3600 5: 3600 6: 3520 7: 3600 8: 3600 9: 3600 10: 3651 11: 3600
    12: 3600 13: 3719 14: 3600 15: 3600 16: 3598 bogomips: 115210
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
  Vulnerabilities: <filter>
Graphics:
  Device-1: AMD Navi 31 [Radeon RX 7900 XT/7900 XTX] vendor: XFX
    driver: amdgpu v: kernel arch: RDNA-3 code: Navi-3x process: TSMC n5 (5nm)
    built: 2022+ pcie: gen: 4 speed: 16 GT/s lanes: 16 ports:
    active: DP-3,HDMI-A-1 empty: DP-1,DP-2 bus-ID: 2f:00.0 chip-ID: 1002:744c
    class-ID: 0300
  Display: wayland server: X.org v: 1.21.1.8 with: Xwayland v: 23.2.1
    compositor: kwin_wayland driver: X: loaded: amdgpu
    unloaded: modesetting,radeon alternate: fbdev,vesa dri: radeonsi
    gpu: amdgpu d-rect: 4480x2520 display-ID: 0
  Monitor-1: DP-3 pos: top-right res: 2560x1440 size: N/A modes: N/A
  Monitor-2: HDMI-A-1 pos: bottom-l res: 1920x1080 size: N/A modes: N/A
  API: EGL v: 1.5 hw: drv: amd radeonsi platforms: device: 0 drv: radeonsi
    device: 1 drv: swrast surfaceless: drv: radeonsi wayland: drv: radeonsi x11:
    drv: radeonsi inactive: gbm
  API: OpenGL v: 4.6 compat-v: 4.5 vendor: amd mesa v: 23.2.1-arch1.2
    glx-v: 1.4 direct-render: yes renderer: AMD Radeon RX 7900 XT (gfx1100 LLVM
    16.0.6 DRM 3.54 6.5.7-zen2-1-zen) device-ID: 1002:744c memory: 19.53 GiB
    unified: no display-ID: :1.0
  API: Vulkan v: 1.3.264 layers: 7 device: 0 type: discrete-gpu name: AMD
    Radeon RX 7900 XT (RADV GFX1100) driver: mesa radv v: 23.2.1-arch1.2
    device-ID: 1002:744c surfaces: xcb,xlib,wayland device: 1 type: cpu
    name: llvmpipe (LLVM 16.0.6 256 bits) driver: mesa llvmpipe
    v: 23.2.1-arch1.2 (LLVM 16.0.6) device-ID: 10005:0000
    surfaces: xcb,xlib,wayland
Audio:
  Device-1: AMD Navi 31 HDMI/DP Audio driver: snd_hda_intel v: kernel pcie:
    gen: 4 speed: 16 GT/s lanes: 16 bus-ID: 2f:00.1 chip-ID: 1002:ab30
    class-ID: 0403
  Device-2: Elgato Systems GmbH Wave XLR driver: snd-usb-audio type: USB
    rev: 2.0 speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 1-2:3 chip-ID: 0fd9:007d
    class-ID: fe01 serial: <filter>
  API: ALSA v: k6.5.7-zen2-1-zen status: kernel-api tools: N/A
  Server-1: PipeWire v: 0.3.83 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
Network:
  Device-1: Realtek RTL8111/8168/8411 PCI Express Gigabit Ethernet
    vendor: Micro-Star MSI X570-A PRO driver: r8169 v: kernel pcie: gen: 1
    speed: 2.5 GT/s lanes: 1 port: d000 bus-ID: 27:00.0 chip-ID: 10ec:8168
    class-ID: 0200
  IF: enp39s0 state: up speed: 1000 Mbps duplex: full mac: <filter>
Bluetooth:
  Device-1: Intel Wireless-AC 3168 Bluetooth driver: btusb v: 0.8 type: USB
    rev: 2.0 speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 1-4:4 chip-ID: 8087:0aa7
    class-ID: e001
  Report: btmgmt ID: hci0 rfk-id: 0 state: down bt-service: enabled,running
    rfk-block: hardware: no software: yes address: <filter> bt-v: 4.2 lmp-v: 8
    status: discoverable: no pairing: no
Drives:
  Local Storage: total: 2.49 TiB used: 28.24 GiB (1.1%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: SanDisk model: Ultra 3D NVMe
    size: 931.51 GiB block-size: physical: 512 B logical: 512 B speed: 31.6 Gb/s
    lanes: 4 tech: SSD serial: <filter> fw-rev: 211070WD temp: 38.9 C
    scheme: GPT
  ID-2: /dev/sda maj-min: 8:0 vendor: SanDisk model: Ultra II 240GB
    size: 223.57 GiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
    tech: SSD serial: <filter> fw-rev: 20RL scheme: GPT
  ID-3: /dev/sdb maj-min: 8:16 vendor: Samsung model: SSD 850 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: 2B6Q scheme: GPT
  ID-4: /dev/sdc maj-min: 8:32 vendor: Western Digital
    model: WD10JMVW-11AJGS3 size: 931.48 GiB block-size: physical: 512 B
    logical: 512 B type: USB rev: 3.0 spd: 5 Gb/s lanes: 1 mode: 3.2 gen-1x1
    tech: HDD rpm: 5400 serial: <filter> fw-rev: 1065 scheme: MBR
Partition:
  ID-1: / raw-size: 930.54 GiB size: 930.54 GiB (100.00%)
    used: 28.24 GiB (3.0%) fs: btrfs dev: /dev/nvme0n1p1 maj-min: 259:1
  ID-2: /boot/efi raw-size: 1001 MiB size: 999 MiB (99.80%)
    used: 576 KiB (0.1%) fs: vfat dev: /dev/nvme0n1p2 maj-min: 259:2
  ID-3: /home raw-size: 930.54 GiB size: 930.54 GiB (100.00%)
    used: 28.24 GiB (3.0%) fs: btrfs dev: /dev/nvme0n1p1 maj-min: 259:1
  ID-4: /var/log raw-size: 930.54 GiB size: 930.54 GiB (100.00%)
    used: 28.24 GiB (3.0%) fs: btrfs dev: /dev/nvme0n1p1 maj-min: 259:1
  ID-5: /var/tmp raw-size: 930.54 GiB size: 930.54 GiB (100.00%)
    used: 28.24 GiB (3.0%) fs: btrfs dev: /dev/nvme0n1p1 maj-min: 259:1
Swap:
  Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default) zswap: no
  ID-1: swap-1 type: zram size: 31.26 GiB used: 0 KiB (0.0%) priority: 100
    comp: zstd avail: lzo,lzo-rle,lz4,lz4hc,842 max-streams: 16 dev: /dev/zram0
Sensors:
  System Temperatures: cpu: 48.1 C mobo: N/A gpu: amdgpu temp: 52.0 C
    mem: 67.0 C
  Fan Speeds (rpm): N/A gpu: amdgpu fan: 0
Info:
  Processes: 412 Uptime: 1d 2h 13m wakeups: 32 Memory: total: 32 GiB
  available: 31.26 GiB used: 4.57 GiB (14.6%) Init: systemd v: 254
  default: graphical tool: systemctl Compilers: gcc: 13.2.1 Packages: 1347
  pm: pacman pkgs: 1337 libs: 376 tools: octopi,paru,yay pm: appimage pkgs: 0
  pm: flatpak pkgs: 10 Shell: Bash v: 5.1.16 running-in: foot inxi: 3.3.30
Garuda (2.6.17-1):
  System install date:     2023-10-16
  Last full system update: 2023-10-19 ↻
  Is partially upgraded:   No
  Relevant software:       snapper NetworkManager dracut
  Windows dual boot:       Probably (Run as root to verify)
  Failed units:

With that out of the way: I recently re-installed Garuda from scratch on a new drive. Everything has gone perfectly, except one weird issue: on some applications, the cursor is wrong. I didn’t notice at first, but now that I know it’s there it’s jarring. The two applications I notice it on are Firefox and Discord.

Additionally, Firefox does not have all of it’s window decoration buttons when I remove the system title bar, only a close button. This was not an issue on my previous install of Garuda, but I didn’t even consider that it might be a theme issue until just now.

If anybody has a solution, I’d love to hear it. I tried googling, but the only results I’m getting are from like 10 years ago and are the result of bugs that have since been patched. Thanks in advance.

Hi @Daktyl198, welcome to the community. :slightly_smiling_face:

You may be running these applications in XWayland, which is still somewhat odd looking on KDE for some reason. Probably Plasma 6 will address this. In the meanwhile, check out the suggestions in this thread:

Setting MOZ_ENABLE_WAYLAND=1 in /etc/environment should help with the browser at least. I’m not sure about the Discord app.

3 Likes

I’m using Firefox Nightly from chaotic and discord-electron-openasar from the AUR, both of which run natively on Wayland (tested both using about:support on Firefox and xeyes on Discord).

So unfortunately it’s not an XWayland bug. I thought maybe it was an issue with setting GTK themes, but I checked .config/GTK-3.0 and it was properly set to the Breeze theme cursor at the proper size. Same with the minimize and maximize buttons.

Can you think of any other situations that might cause this? Again, it wasn’t an issue on my previous installation of Garuda, only on this fresh install. I’ve not done any serious theme configuration, I just set the theme back to Breeze Dark.

I’m not sure, hopefully one of the KDE experts will chime in. In the meanwhile, this may be worth a shot:

Uniform look for Qt and GTK applications - ArchWiki

[…]

If running KDE Plasma, install kde-gtk-config, log-out and log-in again, and then go to System Settings > Appearance > Application Style > Configure GNOME/GTK Application Style… . Fonts, icon themes, cursors, and widget styles set in System Settings affect GTK settings automatically; only the GTK theme should be set manually using the previously mentioned module.

1 Like

Unfortunately that did not work. And as mentioned in that article, that setting actually doesn’t affect cursors at all, purely the theme for things like dropdowns or checkboxes.

Update to this thread: the wrong cursor and window buttons seem to be tied specifically to Wayland GTK applications. Running any gtk application in xwayland mode produces the correct results, but (for instance Firefox and Discord) when setting the correct ENV/Flags to run in Wayland it produces the wrong results.

Still nobody that could tell me why this is happening?

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