Bug 49324

Summary: Не работает WebApp в telegram desktop
Product: Sisyphus Reporter: Женецкий Илья Александрович <ilyazheprog>
Component: telegram-desktopAssignee: Vitaly Lipatov <lav>
Status: CLOSED WONTFIX QA Contact: qa-sisyphus
Severity: normal    
Priority: P5 CC: amakeenk, antohami, anton.osi, bircoph, lav, maxpozdeev, oleg, ximper, zerg
Version: unstable   
Hardware: x86_64   
OS: Linux   
Attachments:
Description Flags
пример ошибки
none
WebApp в оконном интерфейсе X11
none
В оконном интерфейсе Wayland работает WebApps приложение Telegram
none
log blob
none
telegram blob screen none

Description Женецкий Илья Александрович 2024-02-08 08:20:19 MSK
Created attachment 15498 [details]
пример ошибки

Стенд с ошибкой: 
==============================
- OS: ALT Regular Sisyphus x86_64 
- Kernel: 6.6.14-un-def-alt1 
- DE: GNOME 45.3 
- CPU: Intel i5-9400F (6) @ 4.100GHz 
- GPU: NVIDIA GeForce GTX 1660 SUPER 
- Display: wayland 
Система обновлена: 06.02.2024

==============================
Пакет: telegram-desktop-4.14.12-alt1.x86_64

Шаги, приводящие к ошибке:
==============================
1. Запустить телеграм
2. Запустить телеграм бота с WebApp (например, https://t.me/wallet)
3. Открыть WebApp

Фактический результат:
==============================
Не отображает WebApp, пишет "Error: Could not initalize WebView"

Ожидаемый результат:
==============================
Отображается WebApp
Comment 1 Vitaly Lipatov 2024-02-08 20:36:53 MSK
> Не отображает WebApp, пишет "Error: Could not initalize WebView"
Потверждаю.
Comment 2 Vitaly Lipatov 2024-02-12 13:15:13 MSK
А что выводит в терминале при попытке запуска?

У меня вот так:

qt.waylandcompositor.hardwareintegration: Failed to initialize EGL display. There is no EGL_WL_bind_wayland_display extension.

(telegram-desktop:14175): GLib-GIO-WARNING **: 13:00:25.451: Your application does not implement g_application_activate() and has no handlers connected to the 'activate' signal.  It should do one of these.
Cannot get default EGL display: EGL_BAD_PARAMETER

** (telegram-desktop:14175): WARNING **: 13:00:25.701: Disabled hardware acceleration because GTK failed to initialize GL: \D0\9F\D0\BE\D0\B4\D0\B4\D0\B5\D1\80\D0\B6\D0\BA\D0\B0 GL \D0\BE\D1\82\D0\BA\D0\BB\D1\8E\D1\87\D0\B5\D0\BD\D0\B0 \D1\87\D0\B5\D1\80\D0\B5\D0\B7 GDK_DEBUG.
error in client communication (pid 14175)
Gdk-Message: 13:00:25.731: Error 71 (\D0\9E\D1\88\D0\B8\D0\B1\D0\BA\D0\B0 \D0\BF\D1\80\D0\BE\D1\82\D0\BE\D0\BA\D0\BE\D0\BB\D0\B0) dispatching to Wayland display.
qt.waylandcompositor.hardwareintegration: Failed to initialize EGL display. There is no EGL_WL_bind_wayland_display extension.


А сама проблема воспроизводится и на wayland, telegram-desktop 4.14.15
Comment 3 Олег Щавелев 2024-02-20 08:42:37 MSK
(Ответ для Vitaly Lipatov на комментарий #2)
> А что выводит в терминале при попытке запуска?
> 
> У меня вот так:
> 
> qt.waylandcompositor.hardwareintegration: Failed to initialize EGL display.
> There is no EGL_WL_bind_wayland_display extension.
> 
> (telegram-desktop:14175): GLib-GIO-WARNING **: 13:00:25.451: Your
> application does not implement g_application_activate() and has no handlers
> connected to the 'activate' signal.  It should do one of these.
> Cannot get default EGL display: EGL_BAD_PARAMETER
> 
> ** (telegram-desktop:14175): WARNING **: 13:00:25.701: Disabled hardware
> acceleration because GTK failed to initialize GL:
> \D0\9F\D0\BE\D0\B4\D0\B4\D0\B5\D1\80\D0\B6\D0\BA\D0\B0 GL
> \D0\BE\D1\82\D0\BA\D0\BB\D1\8E\D1\87\D0\B5\D0\BD\D0\B0
> \D1\87\D0\B5\D1\80\D0\B5\D0\B7 GDK_DEBUG.
> error in client communication (pid 14175)
> Gdk-Message: 13:00:25.731: Error 71 (\D0\9E\D1\88\D0\B8\D0\B1\D0\BA\D0\B0
> \D0\BF\D1\80\D0\BE\D1\82\D0\BE\D0\BA\D0\BE\D0\BB\D0\B0) dispatching to
> Wayland display.
> qt.waylandcompositor.hardwareintegration: Failed to initialize EGL display.
> There is no EGL_WL_bind_wayland_display extension.
> 
> 
> А сама проблема воспроизводится и на wayland, telegram-desktop 4.14.15

Виталий Александрович. 
Запускаем программу Telegram Desktop в ALT Regular Sisyphus x86_64 в сессии Wayland через терминал и открываем приложение к примеру "Кошелек": 

** (telegram-desktop:17762): WARNING **: 08:33:34.538: Disabled hardware acceleration because GTK failed to initialize GL: Поддержка GL отключена через GDK_DEBUG.
error in client communication (pid 17762)
Gdk-Message: 08:33:34.545: Error 71 (Ошибка протокола) dispatching to Wayland display.

[oleg@alt-gnome ~]$ rpm -q telegram-desktop
telegram-desktop-4.15.0-alt1.x86_64
Comment 4 Vitaly Lipatov 2024-02-25 22:44:02 MSK
При запуске бинарной сборки Telegram с официального сайта и открывании кошелька вижу

** (Telegram:9051): WARNING **: 22:34:50.292: Disabled hardware acceleration because GTK failed to initialize GL: \D0\9F\D0\BE\D0\B4\D0\B4\D0\B5\D1\80\D0\B6\D0\BA\D0\B0 GL \D0\BE\D1\82\D0\BA\D0\BB\D1\8E\D1\87\D0\B5\D0\BD\D0\B0 \D1\87\D0\B5\D1\80\D0\B5\D0\B7 GDK_DEBUG.
PlatformDisplayLibWPE: could not create the EGL display: EGL_SUCCESS.
[0:57:48.446448158] [3]  INFO Camera camera_manager.cpp:284 libcamera v0.2.0
Cannot get default EGL display: EGL_BAD_PARAMETER

но это не мешает открытию Кошелька.

Вообще эти ошибки это тема отдельной баги.
Comment 5 Vitaly Lipatov 2024-03-17 01:45:13 MSK
Не помогает ни
env GDK_BACKEND=x11 QT_QPA_PLATFORM=xcb telegram-desktop
ни
GDK_GL=disable GDK_DEBUG=gl-disable telegram-desktop


https://github.com/telegramdesktop/tdesktop/issues/27133
https://github.com/telegramdesktop/tdesktop/issues/27251
Comment 6 Alexander Makeenkov 2024-06-10 22:22:26 MSK
Name        : telegram-desktop
Version     : 5.1.2
Release     : alt1
DistTag     : sisyphus+350429.100.1.1
Architecture: x86_64
Build Date  : Ср 05 июн 2024 23:23:16

На X11 приложения WebApp (например, кошелёк) открываются успешно.

На Wayland открывается окно с ошибкой "Error: Could not initalize WebView".

В логах при этом:

telegram-desktop[5642]: wl_global_create: implemented version for 'wl_shm' higher than interface version (2 > 1)
telegram-deskto[8858]: The Wayland compositor does not provide one or more of the required interfaces, not using Wayland display

Стенд:

OS: ALT Workstation K 11.0ALPHA (Nemorosa) x86_64
Kernel: 6.6.32-un-def-alt1
DE: Plasma 5.27.11
CPU: AMD Ryzen 7 7700
GPU: AMD Radeon RX 7600

(Ответ для Vitaly Lipatov на комментарий #5)
> env GDK_BACKEND=x11 QT_QPA_PLATFORM=xcb telegram-desktop

В моём случае запуск вот таким ^ способом решает проблему.
Comment 7 Олег Щавелев 2024-07-09 16:00:36 MSK
Created attachment 16391 [details]
WebApp в оконном интерфейсе X11

В сеансе Wayland при запуске приложения (в оконном интерфейсе X11) через терминал с дополнительными параметрами:

env GDK_BACKEND=x11 QT_QPA_PLATFORM=xcb telegram-desktop

* ALT Regular Sisyphus x86_64
* Kernel: 6.6.36-un-def-alt1 
* GNOME 46.3.1
* AMD Ryzen 7 4800HS with Radeon Graphics (16) @ 4.300GHz 
* AMD ATI 04:00.0 Renoir 
* 1: 1920x1080~144Hz 2: 1280x720~60Hz
* Wayland

WebApp - работает :(
Comment 8 Max Pozdeev 2024-09-02 02:32:16 MSK
Интересный момент выяснился. 
На стенде с 11-платформой на kde5 заменил принудительно библиотеки libwayland (client, cursor, server) на старую версию 1.22 (в системе стоят 1.23), брал из таска 318010.
В итоге, в wayland-сессии приложение кошелька открывается нормально, чего не было изначально.

На 10-платформе собирал telegram-desktop 5.4.1, и там все в порядке с webapp (по крайней мере в wayland, в отличие от x11), что и натолкнуло на эксперимент.

Собственно, видится, проблема в qtwayland, который не умеет работать с новой версией протокола wl_shm, измененный в версии протоколов 1.23.

Судя по https://github.com/qt/qtwayland/commits/dev/src/3rdparty/protocol/wayland.xml поддержка новых протоколов добавится.
Comment 9 Олег Щавелев 2025-12-01 02:23:36 MSK
Created attachment 20225 [details]
В оконном интерфейсе Wayland работает WebApps приложение Telegram

На текущий момент времени, пакет 

oleg@ShchavelevLunnen ~> rpm -q telegram-desktop 
telegram-desktop-5.13.1-alt3.x86_64

Воспроизвести указанный сценарий не удалось, приложение корректно работает.
Comment 10 Олег Щавелев 2025-12-07 22:48:28 MSK
После обновления репозитория до текущего среза снова смог воспроизвести. Возможно, ошибка уже в другом. Вывод ошибки:

qt.waylandcompositor.hardwareintegration: Failed to initialize EGL display. There is no EGL_WL_bind_wayland_display extension.
QWindow::setWindowStates does not accept Qt::WindowActive
libEGL warning: failed to get driver name for fd -1

libEGL warning: MESA-LOADER: failed to retrieve device information

libEGL warning: failed to get driver name for fd -1

telegram-desktop: ../src/egl/drivers/dri2/egl_dri2.c:804: dri2_setup_device: Проверочное утверждение «software || dri2_dpy->fd_render_gpu >= 0» не выполнено.
qt.waylandcompositor.hardwareintegration: Failed to initialize EGL display. There is no EGL_WL_bind_wayland_display extension.

Веб-приложения корректно отрисовываются при отключении аппаратного ускорения:

LIBGL_ALWAYS_SOFTWARE=1 telegram-desktop

Не работает он у всех, но на всякий случай информация про EGL:

oleg@ShchavelevLunnen ~> eglinfo -B -p wayland
Wayland platform:
EGL API version: 1.5
EGL vendor string: Mesa Project
EGL version string: 1.5
EGL client APIs: OpenGL OpenGL_ES 
OpenGL core profile vendor: AMD
OpenGL core profile renderer: AMD Radeon Graphics (radeonsi, renoir, ACO, DRM 3.61, 6.12.60-6.12-alt1)
OpenGL core profile version: 4.6 (Core Profile) Mesa 25.3.1
OpenGL core profile shading language version: 4.60
OpenGL compatibility profile vendor: AMD
OpenGL compatibility profile renderer: AMD Radeon Graphics (radeonsi, renoir, ACO, DRM 3.61, 6.12.60-6.12-alt1)
OpenGL compatibility profile version: 4.6 (Compatibility Profile) Mesa 25.3.1
OpenGL compatibility profile shading language version: 4.60
OpenGL ES profile vendor: AMD
OpenGL ES profile renderer: AMD Radeon Graphics (radeonsi, renoir, ACO, DRM 3.61, 6.12.60-6.12-alt1)
OpenGL ES profile version: OpenGL ES 3.2 Mesa 25.3.1
OpenGL ES profile shading language version: OpenGL ES GLSL ES 3.20

oleg@ShchavelevLunnen ~> ls -lah /dev/dri/*
crw-rw----+ 1 root video  226,   1 дек  7 22:22 /dev/dri/card1
crw-rw-rw-  1 root render 226, 128 дек  7 16:39 /dev/dri/renderD128

/dev/dri/by-path:
итого 0
drwxr-xr-x 2 root root  80 дек  7 16:39 ./
drwxr-xr-x 3 root root 100 дек  7 16:39 ../
lrwxrwxrwx 1 root root   8 дек  7 16:39 pci-0000:03:00.0-card -> ../card1
lrwxrwxrwx 1 root root  13 дек  7 16:39 pci-0000:03:00.0-render -> ../renderD128

Проверял на ALT Regular Gnome, последний образ не содержит ошибку:
https://nightly.altlinux.org/sisyphus/tested/regular-gnome-latest-x86_64.iso
Comment 11 Антон Мидюков 2025-12-08 09:55:25 MSK
Проблема не в телеграм, а в связке Mesa + qt6.
Похожая проблема в апстриме:
https://github.com/telegramdesktop/tdesktop/issues/29872
Comment 12 Олег Щавелев 2025-12-13 19:55:31 MSK
(Ответ для Антон Мидюков на комментарий #11)
> Проблема не в телеграм, а в связке Mesa + qt6.
> Похожая проблема в апстриме:
> https://github.com/telegramdesktop/tdesktop/issues/29872

Антон, объясните, пожалуйста, подробнее. Я не совсем понял, что Вы имеете в виду.
Comment 13 Антон Мидюков 2025-12-13 20:12:38 MSK
(Ответ для Олег Щавелев на комментарий #12)
> (Ответ для Антон Мидюков на комментарий #11)
> > Проблема не в телеграм, а в связке Mesa + qt6.
> > Похожая проблема в апстриме:
> > https://github.com/telegramdesktop/tdesktop/issues/29872
> 
> Антон, объясните, пожалуйста, подробнее. Я не совсем понял, что Вы имеете в
> виду.

Обновилась Mesa и проблема снова стала воспроизводиться. По выводу ошибки видно, что проблема в видеодрайвере.
Comment 14 radiolamp 2025-12-13 20:35:55 MSK
В blob версии telegram работает webapp, при этом ошибки libgl теже, так что вкруг подозреваемых теперь входит qt, скриншот работы и консоли приложу
Comment 15 radiolamp 2025-12-13 20:37:31 MSK
Created attachment 20334 [details]
log blob
Comment 16 radiolamp 2025-12-13 20:38:02 MSK
Created attachment 20335 [details]
telegram blob screen