Задать вопрос

Что делать если приложение не запускается в Wayland, принудительно выбирает x11 в Linux?

Привет!
При попытке открыть приложение HAPP он не запускается: при старте Qt пытается использовать xcb.
Вот таккая ошибка
qt.qpa.xcb: could not connect to display
qt.qpa.plugin: From 6.5.0, xcb-cursor0 or libxcb-cursor0 is needed to load the Qt xcb platform plugin.
qt.qpa.plugin: Could not load the Qt platform plugin "xcb" in "" even though it was found.
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: wayland-brcm, wayland-egl, wayland, xcb.

Aborted                    (core dumped) happ


У меня wayland (WAYLAND_DISPLAY=wayland-1), а в HAPP есть libqwayland.so.

Пробовал принудительно запустить от wayland: "QT_QPA_PLATFORM=wayland /opt/happ/bin/Happ", "QT_QPA_PLATFORM=wayland-egl /opt/happ/bin/Happ"
но приложение всё равно выбирает x11.

xcb-util-cursor и xorg-xwayland установлены.

Почему так происходит ? Может из-за того что само приложение happ собрано под x11 и вообще не может на wayland запустится, хотя в по пути программы /opt/happ/lib/plugins/platforms/libqwayland.so, есть вот это вот libqwayland.so и я думаю может раз это есть то данная программа всё таким может через wayland запустится ?
  • Вопрос задан
  • 437 просмотров
Подписаться 4 Средний Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Специалист по информационной безопасности + ML и нейросети
    12 месяцев
    Далее
  • Stepik
    DevOps-инструменты [ Linux + Docker + Git ]
    1 месяц
    Далее
  • ProductStar × РБК
    Профессия DevOps-инженер + ИИ
    5 месяцев
    Далее
Решения вопроса 1
smorman
@smorman
When In Rome do as The Romans do...
Какой композитор вяленый установлен?
xwayland-satellite установлен?
Например, если Niri вялено-композитор в системе, то без xwayland-satellite не сможешь запустить ни одно Иксовое приложение, ставишь его и сразу всё работает...
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
opium
@opium
Просто люблю качественно работать
дело не в "собран под x11" — у Qt флаг -platform приоритетнее env-переменной QT_QPA_PLATFORM, попробуй сперва /opt/happ/bin/Happ -platform wayland. Если и так лезет в xcb — платформу переопределяет сам код приложения. У HAPP есть сохранённая настройка Preferences/platformPlugin в конфиге, и бинарь на каждом запуске сам дёргает qputenv под неё — grep -rn platformPlugin ~/.config ~/.local/share 2>/dev/null покажет файл с этим ключом, поставь там Wayland. Ещё добавь QT_DEBUG_PLUGINS=1 к запуску — увидишь какие плагины он реально пробует. qt.conf тут не при делах, он только пути к либам прописывает, платформу не выбирает.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы