Bug 49324 - Не работает WebApp в telegram desktop
Summary: Не работает WebApp в telegram desktop
Status: ASSIGNED
Alias: None
Product: Sisyphus
Classification: Development
Component: telegram-desktop (show other bugs)
Version: unstable
Hardware: x86_64 Linux
: P5 normal
Assignee: Vitaly Lipatov
QA Contact: qa-sisyphus
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2024-02-08 08:20 MSK by Женецкий Илья Александрович
Modified: 2024-09-02 02:32 MSK (History)
6 users (show)

See Also:


Attachments
пример ошибки (30.33 KB, image/png)
2024-02-08 08:20 MSK, Женецкий Илья Александрович
no flags Details
WebApp в оконном интерфейсе X11 (589.29 KB, image/png)
2024-07-09 16:00 MSK, Олег Щавелев
no flags Details

Note You need to log in before you can comment on or make changes to this bug.
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 поддержка новых протоколов добавится.