Bug 54334

Summary: Нет прямой зависимости на qt6-wayland
Product: Branch p11 Reporter: Сергей Жидких <rx1513>
Component: telegram-desktopAssignee: Vitaly Lipatov <lav>
Status: NEW --- QA Contact: qa-p11 <qa-p11>
Severity: normal    
Priority: P5 CC: amakeenk, arseny, iv, zerg
Version: unspecified   
Hardware: x86_64   
OS: Linux   

Description Сергей Жидких 2025-05-16 18:35:01 MSK
Если по какой-то причине в системе отсутствует qt6-wayland, то приложение не запустится. Ошибка:
general@main ~> telegram-desktop
qt.qpa.plugin: Could not find the Qt platform plugin "wayland" in ""
qt.qpa.xcb: could not connect to display :1
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.

Встретил ошибку при установке приложения на Jeos и запуске в wayland сессии. Если я правильно помню встречал эту ошибку на Рабочей станции К, пока она была в альфе, возможно сейчас какой-то кдешный компонент сам подтягивает нужный пакет и ошибка просто так не воспроизведётся.
Comment 1 Vitaly Lipatov 2025-05-20 00:58:19 MSK
Хочется-то не тянуть wayland тем, кто его не хочет.

$ epm wd qt6-wayland
 $ apt-cache whatdepends qt6-wayland
  ximper-metapackage-base-0.2-eter1@1737722118
  lxqt-wayland-session-0.2.0-altsisyphus+381858.3400.6.1@1744913020
  xdg-desktop-portal-hyprland-1.3.9-altsisyphus+383604.2200.3.1@1746726614
  surguch-0.2.2-altsisyphus+381571.300.9.2@1746452008
  qadwaitadecorations-qt6-0.1.6-altsisyphus+374507.5200.8.2@1739845301
  kde6-runtime-25.05.0-altsisyphus+384123.100.1.1@1747223761


Не особо принятая практика. А в какой системе может отсутствовать qt6-wayland?

qt.qpa.plugin: From 6.5.0, xcb-cursor0 or libxcb-cursor0 is needed to load the Qt xcb platform plugin.
А при этом пакет
libxcbutil-cursor
установлен ?
Comment 2 Arseny Maslennikov 2025-05-20 15:34:08 MSK
(In reply to Vitaly Lipatov from comment #1)
> Хочется-то не тянуть wayland тем, кто его не хочет.

Но и так приходится. GTK присутствует в практически любой системе с GUI-приложениями, и вот:
# rpm -qR libgtk+3 | LC_ALL=C grep -Eo 'lib[^/.]+[.]so' | LC_ALL=C sort -u
libX11.so
libXcomposite.so
libXcursor.so
libXdamage.so
libXext.so
libXfixes.so
libXi.so
libXinerama.so
libXrandr.so
libc.so
libcairo-gobject.so
libcairo.so
libcolord.so
libcups.so
libepoxy.so
libfontconfig.so
libfribidi.so
libharfbuzz.so
libm.so
libwayland-client.so
libwayland-cursor.so
libwayland-egl.so
libxkbcommon.so

Если запустить grep без -o, то будет видно, что это зависимости на символы, т. е. они не паразитные.
Страдают и хейтеры иксов, и хейтеры wayland, к сожалению.
Comment 3 Arseny Maslennikov 2025-05-20 15:37:12 MSK
Предполагаю, что qt6-wayland должен вылезать в окружениях со следующими двумя свойствами:
­— в системе есть wayland-сервера;
— в системе предполагаются Qt-клиенты.
и это вообще не проблема ни telegram-desktop, ни virtualbox (у которого тоже нет такой зависимости), ни других.

Такой тип зависимости обозначить на данный момент невозможно. Можно приблизиться: в списке от Виталия вон есть lxqt-wayland-session, который своим присутствием гарантирует эти два свойства.
Comment 4 Vitaly Lipatov 2025-05-21 00:36:35 MSK
Сергей, вы не могли бы поделиться своим мнением, как лучше поступить?
Comment 5 Sergey V Turchin 2025-05-23 13:43:09 MSK
Я считаю, зависимость нужна именно в telegram-desktop(как и в любом подобном случае), т.к. он может быть установлен в окружение, где Qt вообще не было, а Wayland был и работал успешно.
Comment 6 Sergey V Turchin 2025-05-23 13:51:12 MSK
(Ответ для Arseny Maslennikov на комментарий #3)
> Такой тип зависимости обозначить на данный момент невозможно.
Возможно. Зависимость такая же, как на необходимые библиотеки.
Просто, это всё сделано загружаемыми модулями.

Можно представить, что всё вывернуто наизнанку и тогда точно такая же ситуация была бы с X11.
Comment 7 Sergey V Turchin 2025-05-23 13:54:01 MSK
(Ответ для Arseny Maslennikov на комментарий #3)
> есть lxqt-wayland-session, который
> своим присутствием гарантирует эти два свойства.
Да, приходится костылить пакеты типа kde6-runtime.
Comment 8 Sergey V Turchin 2025-05-23 13:55:18 MSK
(Ответ для Arseny Maslennikov на комментарий #2)
> Страдают и хейтеры иксов, и хейтеры wayland, к сожалению.
И это будет до тех пор, пока один из них не исчезнет. Как думаете, кто?