Heroic games luncher 2.22.1-2: tray icon missing, works again after downgrade to 2.22.1-1

Hello,

I’m having an issue with the Manjaro package of Heroic Games Launcher.

After updating Heroic from 2.22.1-1 to 2.22.1-2, the Heroic tray icon disappeared from the KDE Plasma system tray.

The application itself works normally.

I initially suspected a kernel/NVIDIA/Wayland issue, but changing the kernel did not fix the problem.

I then tested the previous packages:

Working:

  • heroic-games-launcher 2.22.1-1
  • electron41 41.10.6-1

Not working:

  • heroic-games-launcher 2.22.1-2
  • electron43 43.4.1-1

I downgraded Heroic back to 2.22.1-1 while keeping electron41 41.10.6-1, and the tray icon immediately returned.

Current system:

  • Manjaro
  • KDE Plasma 6.7.4
  • Wayland / KWin
  • NVIDIA GeForce RTX 2060 SUPER
  • NVIDIA driver 610.57.04
  • Kernel 7.2.0-1-MANJARO
  • Heroic Games Launcher 2.22.1-1 (working)
  • Electron 41.10.6-1

Heroic Support suggested reporting this to Manjaro because the affected package is the Manjaro package.

I can provide additional logs or test packages if needed.

Here is the relevant inxi -Fazy output:

System:
  Kernel: 7.2.0--1-MANJARO arch: x86_64 bits: 64 compiler: gcc v: 16.2.1
    clocksource: tsc avail: hpet,acpi_pm
    parameters: BOOT_IMAGE=/@/boot/vmlinuz-7.2-x86_64
    root=UUID=bceb3f3f-805f-4173-b02a-772ed65537de rw rootflags=subvol=@ quiet
    splash udev.log_priority=3
  Desktop: KDE Plasma v: 6.7.4 tk: Qt v: N/A info: frameworks v: 6.29.0
    wm: kwin_wayland vt: 1 dm: SDDM Distro: Manjaro base: Arch Linux
Machine:
  Type: Desktop Mobo: Micro-Star model: PRO B760M-A WIFI DDR4 (MS-7D99) v: 1.0
    serial: <superuser required> uuid: <superuser required> Firmware: UEFI
    vendor: American Megatrends LLC. v: 1.F1 date: 05/18/2025
CPU:
  Info: model: Intel Core i5-14600KF bits: 64 type: MST AMCP arch: Raptor Lake
    gen: core 14 level: v3 note: check built: 2022+ process: Intel 7 (10nm)
    family: 6 model-id: 0xB7 (183) stepping: 1 microcode: 0x137
  Topology: cpus: 1x dies: 1 clusters: 8 cores: 14 threads: 20 mt: 6 tpc: 2
    st: 8 smt: enabled cache: L1: 1.2 MiB desc: d-8x32 KiB, 6x48 KiB; i-6x32
    KiB, 8x64 KiB L2: 20 MiB desc: 6x2 MiB, 2x4 MiB L3: 24 MiB desc: 1x24 MiB
  Speed (MHz): avg: 5300 min/max: 800/5300:4000 scaling: driver: intel_pstate
    governor: powersave cores: 1: 5300 2: 5300 3: 5300 4: 5300 5: 5300 6: 5300
    7: 5300 8: 5300 9: 5300 10: 5300 11: 5300 12: 5300 13: 5300 14: 5300
    15: 5300 16: 5300 17: 5300 18: 5300 19: 5300 20: 5300 bogomips: 139776
  Flags-basic: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 ssse3 vmx
  Vulnerabilities:
  Type: gather_data_sampling status: Not affected
  Type: ghostwrite status: Not affected
  Type: indirect_target_selection status: Not affected
  Type: itlb_multihit status: Not affected
  Type: l1tf status: Not affected
  Type: mds status: Not affected
  Type: meltdown status: Not affected
  Type: mmio_stale_data status: Not affected
  Type: old_microcode status: Not affected
  Type: reg_file_data_sampling mitigation: Clear Register File
  Type: retbleed status: Not affected
  Type: spec_rstack_overflow status: Not affected
  Type: spec_store_bypass mitigation: Speculative Store Bypass disabled via
    prctl
  Type: spectre_v1 mitigation: usercopy/swapgs barriers and __user pointer
    sanitization
  Type: spectre_v2 mitigation: Enhanced / Automatic IBRS; IBPB: conditional;
    PBRSB-eIBRS: SW sequence; BHI: BHI_DIS_S
  Type: srbds status: Not affected
  Type: tsa status: Not affected
  Type: tsx_async_abort status: Not affected
  Type: vmscape mitigation: IBPB before exit to userspace
Graphics:
  Device-1: NVIDIA TU106 [GeForce RTX 2060 SUPER] driver: nvidia v: 610.57.04
    alternate: nouveau,nvidia_drm non-free: 550-6xx.xx+
    status: current (as of 2026-07) arch: Turing code: TUxxx
    process: TSMC 12nm FF built: 2018-2022 pcie: gen: 1 speed: 2.5 GT/s
    lanes: 16 link-max: gen: 3 speed: 8 GT/s ports: active: HDMI-A-1
    empty: DP-1,DP-2,DP-3 bus-ID: 01:00.0 chip-ID: 10de:1f06 class-ID: 0300
  Display: wayland server: X.org v: 1.21.1.24 with: Xwayland v: 24.1.13
    compositor: kwin_wayland driver: X: loaded: nvidia
    gpu: nv_platform,nvidia,nvidia-nvswitch display-ID: 0
  Monitor-1: HDMI-A-1 model: MSI MP241X serial: <filter> built: 2023 res:
    mode: 1920x1080 hz: 75 scale: 100% (1) dpi: 92 gamma: 1.2
    size: 527x296mm (20.75x11.65") diag: 604mm (23.8") ratio: 16:9 modes:
    max: 1920x1080 min: 640x480
  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: nvidia inactive: device-1
  API: OpenGL v: 4.6.0 compat-v: 4.6 vendor: nvidia mesa v: 610.57.04
    glx-v: 1.4 direct-render: yes renderer: NVIDIA GeForce RTX 2060
    SUPER/PCIe/SSE2 memory: 7.81 GiB display-ID: :1.0
  API: Vulkan v: 1.4.357 layers: 9 device: 0 type: discrete-gpu name: NVIDIA
    GeForce RTX 2060 SUPER driver: nvidia v: 610.57.04 device-ID: 10de:1f06
    surfaces: N/A
  Info: Tools: api: clinfo, eglinfo, glxinfo, vulkaninfo
    de: kscreen-console,kscreen-doctor gpu: lact, nvidia-settings, nvidia-smi
    wl: wayland-info x11: xdpyinfo, xprop, xrandr
Audio:
  Device-1: Intel 700 Series Family HD Audio vendor: Micro-Star MSI
    driver: snd_hda_intel v: kernel alternate: snd_soc_avs,snd_sof_pci_intel_tgl
    bus-ID: 00:1f.3 chip-ID: 8086:7a50 class-ID: 0403
  Device-2: NVIDIA TU106 High Definition Audio driver: snd_hda_intel
    v: kernel pcie: gen: 3 speed: 8 GT/s lanes: 16 bus-ID: 01:00.1
    chip-ID: 10de:10f9 class-ID: 0403
  Device-3: BY EDIFIER G4 TE GAMING HEADSET
    driver: hid-generic,snd-usb-audio,usbhid type: USB rev: 1.1 speed: 12 Mb/s
    lanes: 1 mode: 1.1 bus-ID: 1-11.4:8 chip-ID: 2d99:0026 class-ID: 0300
    serial: <filter>
  API: ALSA v: k7.2.0--1-MANJARO status: kernel-api with: aoss
    type: oss-emulator tools: alsactl,alsamixer,amixer
  Server-1: sndiod v: N/A status: off tools: aucat,midicat,sndioctl
  Server-2: JACK v: 1.9.22 status: off tools: N/A
  Server-3: PipeWire v: 1.6.8 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
    tools: pactl,pw-cat,pw-cli,wpctl
Network:
  Device-1: Intel 700 Series Family CNVi Wi-Fi driver: iwlwifi v: kernel
    bus-ID: 00:14.3 chip-ID: 8086:7a70 class-ID: 0280
  IF: wlo1 state: down mac: <filter>
  Device-2: Realtek RTL8125 2.5GbE vendor: Micro-Star MSI driver: r8169
    v: kernel pcie: gen: 2 speed: 5 GT/s lanes: 1 port: 3000 bus-ID: 05:00.0
    chip-ID: 10ec:8125 class-ID: 0200
  IF: enp5s0 state: up speed: 100 Mbps duplex: full mac: <filter>
  Info: services: NetworkManager, systemd-timesyncd, wpa_supplicant
Bluetooth:
  Device-1: Intel AX211 Bluetooth driver: btusb v: 0.8 type: USB rev: 2.0
    speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 1-14:9 chip-ID: 8087:0033
    class-ID: e001
  Report: rfkill ID: hci0 rfk-id: 2 state: up address: see --recommends
Drives:
  Local Storage: total: 2.29 TiB used: 196.53 GiB (8.4%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/nvme0n1 maj-min: 259:6 vendor: Geil model: P3L 512GB
    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: V0513A0 temp: 32.9 C
    scheme: GPT
  ID-2: /dev/nvme1n1 maj-min: 259:0 vendor: Ramsta
    model: R900 M.2 NVMe SSD 1TB 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: RI2DV0 temp: 41.9 C scheme: GPT
  ID-3: /dev/sda maj-min: 8:0 vendor: Western Digital model: WD10EZEX-21WN4A0
    size: 931.51 GiB block-size: physical: 4096 B logical: 512 B speed: 6.0 Gb/s
    tech: HDD rpm: 7200 serial: <filter> fw-rev: 1A01 scheme: MBR
Partition:
  ID-1: / raw-size: 476.64 GiB size: 476.64 GiB (100.00%)
    used: 196.53 GiB (41.2%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:8
  ID-2: /boot/efi raw-size: 300 MiB size: 299.4 MiB (99.80%)
    used: 668 KiB (0.2%) fs: vfat dev: /dev/nvme0n1p1 maj-min: 259:7
  ID-3: /home raw-size: 476.64 GiB size: 476.64 GiB (100.00%)
    used: 196.53 GiB (41.2%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:8
  ID-4: /var/log raw-size: 476.64 GiB size: 476.64 GiB (100.00%)
    used: 196.53 GiB (41.2%) fs: btrfs dev: /dev/nvme0n1p2 maj-min: 259:8
Swap:
  Kernel: swappiness: 60 (default) cache-pressure: 100 (default) zswap: yes
    compressor: zstd max-pool: 20%
  ID-1: swap-1 type: file size: 10 GiB used: 0 KiB (0.0%) priority: -1
    file: /swap/swapfile
Sensors:
  System Temperatures: cpu: 34.0 C mobo: N/A
  Fan Speeds (rpm): N/A
Info:
  Memory: total: 32 GiB available: 31.1 GiB used: 3.91 GiB (12.6%)
  Processes: 465 Power: uptime: 46m states: freeze,mem,disk suspend: deep
    avail: s2idle wakeups: 0 hibernate: platform avail: shutdown, reboot,
    suspend, test_resume image: 12.32 GiB services: org_kde_powerdevil,
    power-profiles-daemon, upowerd Init: systemd v: 261 default: graphical
    tool: systemctl
  Packages: 1430 pm: pacman pkgs: 1417 libs: 408 tools: pamac pm: flatpak
    pkgs: 13 Compilers: clang: 22.1.8 gcc: 16.2.1 Shell: Zsh v: 5.9.2
    running-in: konsole inxi: 3.3.41

I also contacted the Heroic Support team about this issue. They advised me to report it here because heroic-games-launcher is packaged by Manjaro.

They suggested that the Manjaro package should be investigated, so I’m including the Heroic log below as well:

which: no wine in (/home/dani/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/var/lib/flatpak/exports/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/home/dani/.lmstudio/bin)
(20:29:28) [INFO]:    [Connection]:      Connectivity: check-online
(20:29:28) [INFO]:    [Connection]:      Pinging external endpoints
(20:29:28) [INFO]:    [Gog]:             Checking for existing gog manifests
(node:10719) [DEP0180] DeprecationWarning: fs.Stats constructor is deprecated.
(Use `electron --trace-deprecation ...` to show where the warning was created)
APPIMAGE env is not defined, current application is not an AppImage
(20:29:28) [WARNING]: [Backend]:         Failed to register protocol with OS.
(20:29:28) [INFO]:    [Backend]:         Starting Plausible Analytics
(20:29:28) [INFO]:    [Backend]:         Shared Data: {"version":"2.22.1","gog":true,"epic":false,"amazon":false,"zoom":false,"sideloaded":true,"providers":"gog, sideloaded","arch":"x64","distro":"Manjaro Linux","distroVersion":"unknown","isFlatpak":false,"isAppImage":false,"isSnap":false,"isSteamDeckGameMode":false,"isSteamDeck":false}
(20:29:28) [DEBUG]:   [Backend]:         Logging to file(s) /home/dani/.local/state/Heroic/logs/runners/legendary.log
(20:29:28) [DEBUG]:   [Backend]:         Logging to file(s) /home/dani/.local/state/Heroic/logs/runners/gog.log
(20:29:28) [DEBUG]:   [Backend]:         Logging to file(s) /home/dani/.local/state/Heroic/logs/runners/nile.log
(20:29:28) [INFO]:    [Legendary]:       Running command: LEGENDARY_CONFIG_PATH=/home/dani/.config/heroic/legendaryConfig/legendary /opt/Heroic/app.asar.unpacked/build/bin/x64/linux/legendary --version
(20:29:28) [INFO]:    [Gog]:             Running command: GOGDL_CONFIG_PATH=/home/dani/.config/heroic/gogdlConfig /opt/Heroic/app.asar.unpacked/build/bin/x64/linux/gogdl --auth-config-path /home/dani/.config/heroic/gog_store/auth.json --version
(20:29:28) [INFO]:    [Nile]:            Running command: NILE_CONFIG_PATH=/home/dani/.config/heroic/nile_config /opt/Heroic/app.asar.unpacked/build/bin/x64/linux/nile --version
[10758:0823/202928.237537:ERROR:ui/ozone/platform/wayland/gpu/wayland_surface_factory.cc:249] '--ozone-platform=wayland' is not compatible with Vulkan. Consider switching to '--ozone-platform=x11' or disabling Vulkan
[10719:0823/202928.326546:ERROR:base/nix/mime_util_xdg.cc:139] Invalid mime.cache file does not contain null prior to ALIAS_LIST_OFFSET=44
(20:29:28) [INFO]:    [Frontend]:        Refreshing undefined Library
(20:29:28) [WARNING]: refresh not implemented on Sideload Library Manager
(20:29:28) [INFO]:    [Legendary]:       Refreshing library...
(20:29:28) [INFO]:    [Backend]:         Frontend Ready
(20:29:28) [WARNING]: listUpdateableGames not implemented on Sideload Library Manager
(20:29:28) [INFO]:    [Backend]:         Checking for new Heroic Updates
(20:29:28) [INFO]:    [Backend]:         Checking for current version changelog
(20:29:28) [INFO]:    [Connection]:      Connectivity: online
(20:29:28) [INFO]:    [Backend]:         User Not Found, removing it from Store
(20:29:28) [INFO]:    [Gog]:             Checking if login is valid
(20:29:28) [INFO]:    [Gog]:             Running command: GOGDL_CONFIG_PATH=/home/dani/.config/heroic/gogdlConfig /opt/Heroic/app.asar.unpacked/build/bin/x64/linux/gogdl --auth-config-path /home/dani/.config/heroic/gog_store/auth.json auth
(20:29:28) [INFO]:    [Gog]:             Running command: GOGDL_CONFIG_PATH=/home/dani/.config/heroic/gogdlConfig /opt/Heroic/app.asar.unpacked/build/bin/x64/linux/gogdl --auth-config-path /home/dani/.config/heroic/gog_store/auth.json auth
(20:29:28) [INFO]:    [Gog]:             Running command: GOGDL_CONFIG_PATH=/home/dani/.config/heroic/gogdlConfig /opt/Heroic/app.asar.unpacked/build/bin/x64/linux/gogdl --auth-config-path /home/dani/.config/heroic/gog_store/auth.json auth
(20:29:28) [INFO]:    [Gog]:             Running command: GOGDL_CONFIG_PATH=/home/dani/.config/heroic/gogdlConfig /opt/Heroic/app.asar.unpacked/build/bin/x64/linux/gogdl --auth-config-path /home/dani/.config/heroic/gog_store/auth.json auth
(20:29:28) [INFO]:    [Backend]:         System Information: CPU: 20x Intel(R) Core(TM) i5-14600KF
Memory: 33.4 GB (used: 4.07 GB)
GPUs:
  GPU 0:
    Name: NVIDIA Corporation TU106 [GeForce RTX 2060 SUPER]
    IDs: D=1f06 V=10de SD=13a3 SV=10de
    Driver: nvidia
OS: Manjaro Linux 7.2.0--1-MANJARO (linux)

The current system is not a Steam Deck
We are not running inside a Flatpak container
We are not running from an AppImage

Software Versions:
  Heroic: 2.22.1 Hajrudin
  Legendary: 0.21.0 Lowlife
  gogdl: 1.3.0
  comet: comet 0.2.0
  Nile: 1.2.0 Robert Speedwagon
(20:29:28) [ERROR]:   [Gog]:             Failed to read gog redist manifest AggregateError: 
    at AxiosError.from (/opt/Heroic/app.asar/node_modules/axios/lib/core/AxiosError.js:7:28)
    at RedirectableRequest.handleRequestError (/opt/Heroic/app.asar/node_modules/axios/lib/adapters/http.js:820:25)
    at RedirectableRequest.emit (node:events:521:24)
    at ClientRequest.eventHandlers.<computed> (/opt/Heroic/app.asar/node_modules/follow-redirects/index.js:49:24)
    at ClientRequest.emit (node:events:509:28)
    at emitErrorEvent (node:_http_client:109:11)
    at TLSSocket.socketErrorListener (node:_http_client:593:5)
    at TLSSocket.emit (node:events:509:28)
    at emitErrorNT (node:internal/streams/destroy:170:8)
    at emitErrorCloseNT (node:internal/streams/destroy:129:3)
    at Axios.request (/opt/Heroic/app.asar/node_modules/axios/lib/core/Axios.js:46:41)
    at processTicksAndRejections (node:internal/process/task_queues:104:5)
    at checkForRedistUpdates (/opt/Heroic/app.asar/src/backend/storeManagers/gog/redist.ts:73:26)
(20:29:28) [ERROR]:   [Backend]:         Error when checking for Heroic updates AxiosError: Request failed with status code 403
    at settle (/opt/Heroic/app.asar/node_modules/axios/lib/core/settle.js:19:12)
    at IncomingMessage.handleStreamEnd (/opt/Heroic/app.asar/node_modules/axios/lib/adapters/http.js:798:11)
    at IncomingMessage.emit (node:events:521:24)
    at endReadableNT (node:internal/streams/readable:1729:12)
    at processTicksAndRejections (node:internal/process/task_queues:90:21)
    at Axios.request (/opt/Heroic/app.asar/node_modules/axios/lib/core/Axios.js:46:41)
    at processTicksAndRejections (node:internal/process/task_queues:104:5)
    at getLatestReleases (/opt/Heroic/app.asar/src/backend/utils.ts:789:32)
    at Session.<anonymous> (node:electron/js2c/browser_init:2:118371)
(20:29:28) [ERROR]:   [Backend]:         Error when checking for current Heroic changelog: AxiosError: Request failed with status code 403
    at settle (/opt/Heroic/app.asar/node_modules/axios/lib/core/settle.js:19:12)
    at IncomingMessage.handleStreamEnd (/opt/Heroic/app.asar/node_modules/axios/lib/adapters/http.js:798:11)
    at IncomingMessage.emit (node:events:521:24)
    at endReadableNT (node:internal/streams/readable:1729:12)
    at processTicksAndRejections (node:internal/process/task_queues:90:21)
    at Axios.request (/opt/Heroic/app.asar/node_modules/axios/lib/core/Axios.js:46:41)
    at processTicksAndRejections (node:internal/process/task_queues:104:5)
    at getCurrentChangelog (/opt/Heroic/app.asar/src/backend/utils.ts:836:31)
    at Session.<anonymous> (node:electron/js2c/browser_init:2:118371)
(20:29:29) [DEBUG]:   [Backend]:         Releases info ready, checking wine releases
(20:29:29) [DEBUG]:   [Backend]:         Releases info ready, checking anticheat data
(20:29:29) [DEBUG]:   [Backend]:         AreWeAnticheatYet data did not change. Skipping.
which: no wine in (/home/dani/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/bin:/var/lib/flatpak/exports/bin:/usr/lib/jvm/default/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl:/home/dani/.lmstudio/bin)
(20:29:30) [INFO]:    [Winetricks]:      Downloading Winetricks
(node:10719) UnhandledPromiseRejectionWarning: AxiosError: Request failed with status code 403
    at settle (/opt/Heroic/app.asar/node_modules/axios/lib/core/settle.js:19:12)
    at IncomingMessage.handleStreamEnd (/opt/Heroic/app.asar/node_modules/axios/lib/adapters/http.js:798:11)
    at IncomingMessage.emit (node:events:521:24)
    at endReadableNT (node:internal/streams/readable:1729:12)
    at processTicksAndRejections (node:internal/process/task_queues:90:21)
    at Axios.request (/opt/Heroic/app.asar/node_modules/axios/lib/core/Axios.js:46:41)
    at processTicksAndRejections (node:internal/process/task_queues:104:5)
    at installOrUpdateTool (/opt/Heroic/app.asar/src/backend/tools/index.ts:78:7)
    at async Promise.all (index 0)
    at Object.getLatest (/opt/Heroic/app.asar/src/backend/tools/index.ts:203:5)
(node:10719) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). To terminate the node process on unhandled promise rejection, use the CLI flag `--unhandled-rejections=strict` (see https://nodejs.org/api/cli.html#cli_unhandled_rejections_mode). (rejection id: 8)
(20:29:33) [INFO]:    [Backend]:         Starting the Download Queue

One more important detail from Heroic Support:

They also mentioned that they can reproduce the issue with Heroic, as well as other Electron applications — specifically Element.

So this may not be specific to Heroic itself and could potentially be related to the Electron 43 package or its interaction with KDE Plasma / StatusNotifier on Manjaro.

I thought this was worth adding to the report.

I suspect this to be the case as well. electron43 was built by Arch on the 19th of August, while heroic-games-launcher was last rebuilt on the 12th of August. It probably needs a rebuild against the new electron43.

Pinging @Yochanan:wink:

Indeed. :backhand_index_pointing_down: