[GH-ISSUE #1648] Linux installer could not find the Qt platform plugin "wayland" in "" #701

Open
opened 2026-10-13 20:26:47 +00:00 by bsakaguchi · 7 comments
Owner

Originally created by @M-UnityDev on GitHub (Jun 13, 2025).
Original GitHub issue: https://github.com/amnezia-vpn/amnezia-client/issues/1648

Linux installer for version 4.8.7.2 throws an error when executed on wayland:

qt.qpa.plugin: Could not find the Qt platform plugin "wayland" in ""
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: minimal, xcb.

To reproduce the behavior, launch AmneziaVPN_Linux_Installer.bin in Wayland compositor/DE

Desktop:

  • OS: Arch Linux
  • Version: 4.8.7.2
Originally created by @M-UnityDev on GitHub (Jun 13, 2025). Original GitHub issue: https://github.com/amnezia-vpn/amnezia-client/issues/1648 Linux installer for version 4.8.7.2 throws an error when executed on wayland: ``` qt.qpa.plugin: Could not find the Qt platform plugin "wayland" in "" This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem. Available platform plugins are: minimal, xcb. ``` To reproduce the behavior, launch AmneziaVPN_Linux_Installer.bin in Wayland compositor/DE **Desktop:** - OS: Arch Linux - Version: 4.8.7.2
Author
Owner

@tenchas commented on GitHub (Jun 22, 2025):

I've just had the same problem;
Installer requires X session, so it doesn't work on pure wayland;
To resolve the issue, you should install xorg-xwayland package, reboot the system/restart the session and you'll get working X apps, including the installer;

Hope it helps;

<!-- gh-comment-id:2994363362 --> @tenchas commented on GitHub (Jun 22, 2025): I've just had the same problem; Installer requires **X session**, so it doesn't work on pure wayland; To resolve the issue, you should **install** `xorg-xwayland` package, reboot the system/restart the session and you'll get working X apps, including the installer; Hope it helps;
Author
Owner

@M-UnityDev commented on GitHub (Jun 23, 2025):

I forgot to mention that but I have xorg-xwayland installed

Also I solved this issue by running the installer with QT_QPA_PLATFORM=xcb

<!-- gh-comment-id:2996203628 --> @M-UnityDev commented on GitHub (Jun 23, 2025): I forgot to mention that but I have xorg-xwayland installed Also I solved this issue by running the installer with ```QT_QPA_PLATFORM=xcb```
Author
Owner

@m0rphed commented on GitHub (Feb 6, 2026):

Same happening on fresh AmneziaVPN version 4.8.12.9 f737928 - which also prevents Amnezia systemd-service properly starting on login under Wayland.
Both xorg-xwayland and qt6-wayland packages are installed in my case. It doesn't seem to be some "well-known QT-Wayland problem", because other QT Apps works just fine without any tweaking or necessary switching to XWayland.

For now, on Wayland, I didn't find any other workaround other than changing QT platform environment variable like this: QT_QPA_PLATFORM=xcb ; AmneziaVPN - which require manually starting Amnezia on each login 😿

<!-- gh-comment-id:3862817404 --> @m0rphed commented on GitHub (Feb 6, 2026): Same happening on fresh AmneziaVPN version 4.8.12.9 `f737928` - which also prevents Amnezia systemd-service properly starting on login under Wayland. Both `xorg-xwayland` and `qt6-wayland` packages are installed in my case. It doesn't seem to be some "well-known QT-Wayland problem", because other QT Apps works just fine without any tweaking or necessary switching to XWayland. For now, on Wayland, I didn't find any other workaround other than changing QT platform environment variable like this: `QT_QPA_PLATFORM=xcb ; AmneziaVPN` - which require manually starting Amnezia on each login 😿
Author
Owner

@nartamonov commented on GitHub (Mar 13, 2026):

@M-UnityDev I think we should reopen the issue. Yes, there are manual workaround, but the core cause was not fixed: right now the installer and the application binary do not work out-of-the-box in Linux distributions that explicitly require Qt apps to use wayland (set QT_QPA_PLATFORM=wayland on system-wide level). I think it affects Arch, CachyOS, and other popular distributions. Amnezia could detect it and explicitly reset the platform to xcb in that case. Currently I have to patch start-up script AmneziaVPN.sh after installation:

# ...

if [[ "$QT_QPA_PLATFORM" == "wayland" ]]; then
  export QT_QPA_PLATROFM=xcb
fi

# ... run application binary ...
<!-- gh-comment-id:4053970377 --> @nartamonov commented on GitHub (Mar 13, 2026): @M-UnityDev I think we should reopen the issue. Yes, there are manual workaround, but the core cause was not fixed: right now the installer and the application binary do not work out-of-the-box in Linux distributions that explicitly require Qt apps to use wayland (set QT_QPA_PLATFORM=wayland on system-wide level). I think it affects Arch, CachyOS, and other popular distributions. Amnezia could detect it and explicitly reset the platform to `xcb` in that case. Currently I have to patch start-up script `AmneziaVPN.sh` after installation: ```bash # ... if [[ "$QT_QPA_PLATFORM" == "wayland" ]]; then export QT_QPA_PLATROFM=xcb fi # ... run application binary ... ```
Author
Owner

@nartamonov commented on GitHub (Mar 17, 2026):

@scar28s so it's open source, if core developers do not interested fixing the issue, maybe community devs will do it someday. Interestingly enough, there are merged contributions to fix compatibility with SteamOS 😃

<!-- gh-comment-id:4074291914 --> @nartamonov commented on GitHub (Mar 17, 2026): @scar28s so it's open source, if core developers do not interested fixing the issue, maybe community devs will do it someday. Interestingly enough, there are merged [contributions](https://github.com/amnezia-vpn/amnezia-client/commit/1d721ffb9abb4c0c5a123f33edb5c066a6eee40b) to fix compatibility with SteamOS :smiley:
Author
Owner

@doonto commented on GitHub (Mar 30, 2026):

Another option for manual workaround is:

sudo sed -i 's|^Exec=.*|Exec=env QT_QPA_PLATFORM=xcb AmneziaVPN %U|' /usr/share/applications/AmneziaVPN.desktop
sudo update-desktop-database /usr/share/applications/
<!-- gh-comment-id:4156842478 --> @doonto commented on GitHub (Mar 30, 2026): Another option for manual workaround is: ``` sudo sed -i 's|^Exec=.*|Exec=env QT_QPA_PLATFORM=xcb AmneziaVPN %U|' /usr/share/applications/AmneziaVPN.desktop sudo update-desktop-database /usr/share/applications/ ```
Author
Owner

@levamak commented on GitHub (Jun 16, 2026):

hello guys, found another solution for launching amnezia in wayland:

tested on CachyOS with working amnezia when launched from terminal like this QT_QPA_PLATFORM=xcb AmneziaVPN

in terminal type which AmneziaVPN , should give you an output like this : /usr/local/sbin/AmneziaVPN
open this file in any editor with sudo permission (example : sudo micro /usr/local/sbin/AmneziaVPN )
in the file, at the start of the script add a line QT_QPA_PLATFORM=xcb
now the script should look something like this:

# commented section, ignore
QT_QPA_PLATFORM=xcb # added line
BASE_DIR=$(dirname "$(readlink -f "$0")") # start of initial code
export PATH="$BASE_DIR"/bin/:$PATH
...

after this change amnezia works normally even if launching from launcher (i tested it in noctalia launcher)

<!-- gh-comment-id:4721376472 --> @levamak commented on GitHub (Jun 16, 2026): hello guys, found another solution for launching amnezia in wayland: tested on CachyOS with working amnezia when launched from terminal like this `QT_QPA_PLATFORM=xcb AmneziaVPN` in terminal type `which AmneziaVPN` , should give you an output like this : `/usr/local/sbin/AmneziaVPN` open this file in any editor with sudo permission (example : `sudo micro /usr/local/sbin/AmneziaVPN` ) in the file, at the start of the script add a line `QT_QPA_PLATFORM=xcb` now the script should look something like this: ``` # commented section, ignore QT_QPA_PLATFORM=xcb # added line BASE_DIR=$(dirname "$(readlink -f "$0")") # start of initial code export PATH="$BASE_DIR"/bin/:$PATH ... ``` after this change amnezia works normally even if launching from launcher (i tested it in noctalia launcher)
Sign in to join this conversation.
No labels
pull-request
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
amnezia-vpn/amnezia-client#701
No description provided.