Bug 43633

Summary: gnome-terminal: серьёзные глюки в отрисовке (arm64)
Product: Branch p10 Reporter: Alexey Sheplyakov <asheplyakov>
Component: gnome-terminalAssignee: qa-team <qa-team>
Status: REOPENED --- QA Contact: qa-p10 <qa-p10>
Severity: normal    
Priority: P5 CC: antohami, aris, asheplyakov, jqt4, nir, shrek, sin
Version: не указана   
Hardware: aarch64   
OS: Linux   

Description Alexey Sheplyakov 2022-08-26 10:32:07 MSK
* Сквозь терминал просвечивает фон
* Мышиный курсор оставляет след
* Полоса прокрутки скачет туда-сюда (то появляется, то исчезает)
* Набираемый текст не отображается

Лучше раз увидеть, чем 100 раз услышать: https://disk.yandex.ru/i/C8HqmOTIRrDIOg
Comment 1 Alexey Sheplyakov 2022-08-26 10:39:32 MSK
Упомянутые спецэффекты наблюдаются на различных платах с Baikal-M, как с драйвером panfrost, так и без него (с llvmpipe)
Comment 2 Антон Мидюков 2022-08-26 10:45:48 MSK
(Ответ для Alexey Sheplyakov на комментарий #1)
> Упомянутые спецэффекты наблюдаются на различных платах с Baikal-M, как с
> драйвером panfrost, так и без него (с llvmpipe)

Ещё стоит уточнить версию(ии) ядра и в каком режиме запущен gnome: wayland или xorg, или в обоих? А также проверить на регулярке gnome, т.е. на Сизифе.
Comment 3 Alexey Sheplyakov 2022-08-26 11:45:44 MSK
(In reply to Антон Мидюков from comment #2)
> (Ответ для Alexey Sheplyakov на комментарий #1)
> > Упомянутые спецэффекты наблюдаются на различных платах с Baikal-M, как с
> > драйвером panfrost, так и без него (с llvmpipe)
> 
> Ещё стоит уточнить версию(ии) ядра

От версии ядра не зависит. Пробовал std-def (5.10.123), un-def (5.15.61), mainline (6.0.0-rc2-00197-g07028619129e)

> и в каком режиме запущен gnome: wayland или xorg, или в обоих? 

Спецэффекты наблюдаю только в wayland режиме.
Comment 4 Yuri N. Sedunov 2022-08-29 15:07:59 MSK
Красивое кино, но в нем речь о gnome-40. Проверьте на сизифных регулярках.
Comment 5 Alexey Sheplyakov 2022-09-01 09:44:53 MSK
(Ответ для Alexey Sheplyakov на комментарий #3)
> (In reply to Антон Мидюков from comment #2)
> > (Ответ для Alexey Sheplyakov на комментарий #1)
> > > Упомянутые спецэффекты наблюдаются на различных платах с Baikal-M, как с
> > > драйвером panfrost, так и без него (с llvmpipe)
> > 
> > Ещё стоит уточнить версию(ии) ядра
> 
> От версии ядра не зависит. Пробовал std-def (5.10.123), un-def (5.15.61),
> mainline (6.0.0-rc2-00197-g07028619129e)
> 
> > и в каком режиме запущен gnome: wayland или xorg, или в обоих? 
> 
> Спецэффекты наблюдаю только в wayland режиме.

Проверил на rasberry pi 4B. Наблюдаю очень похожие глюки. Разница по сравнению с Байкал-М в том, что
1) следов от мышиного курсора не остаётся,
2) gnome-terminal не получает фокус, и невозможно что-либо ввести с клавиатуры. 
   (Пробовал вслепую набрать echo test > test, но файл не появился)
Comment 6 Alexey Sheplyakov 2022-09-01 09:58:31 MSK
(Ответ для Alexey Sheplyakov на комментарий #5)
> (Ответ для Alexey Sheplyakov на комментарий #3)
> > (In reply to Антон Мидюков from comment #2)
> > > (Ответ для Alexey Sheplyakov на комментарий #1)
> > > > Упомянутые спецэффекты наблюдаются на различных платах с Baikal-M, как с
> > > > драйвером panfrost, так и без него (с llvmpipe)
> > > 
> > > Ещё стоит уточнить версию(ии) ядра
> > 
> > От версии ядра не зависит. Пробовал std-def (5.10.123), un-def (5.15.61),
> > mainline (6.0.0-rc2-00197-g07028619129e)
> > 
> > > и в каком режиме запущен gnome: wayland или xorg, или в обоих? 
> > 
> > Спецэффекты наблюдаю только в wayland режиме.
> 
> Проверил на rasberry pi 4B. Наблюдаю очень похожие глюки. Разница по
> сравнению с Байкал-М в том, что
> 1) следов от мышиного курсора не остаётся,
> 2) gnome-terminal не получает фокус, и невозможно что-либо ввести с
> клавиатуры. 
>    (Пробовал вслепую набрать echo test > test, но файл не появился)

На raspberry pi не работает ввод с клавиатуры в X11 приложениях.
Пробовал с firefox (запущенном в X11 режиме), mate-terminal, xterm, libreoffice.
Это не совсем (или даже совсем не) по теме этого бага, но всё же стоит упомянуть.
Comment 7 Alexey Sheplyakov 2022-09-01 10:03:45 MSK
(Ответ для Yuri N. Sedunov на комментарий #4)
> Красивое кино, но в нем речь о gnome-40.

Я и сообщал о GNOME 40 (который в p10).

> Проверьте на сизифных регулярках.

Просьба трудно выполнима. У меня есть несколько "Байкалов" и raspberry pi 4(B).
Ни на одной из этих систем regular-gnome3-20220824-aarch64.iso не грузится.
Comment 8 Антон Мидюков 2022-09-01 10:20:17 MSK
(Ответ для Alexey Sheplyakov на комментарий #7)
> (Ответ для Yuri N. Sedunov на комментарий #4)
> > Проверьте на сизифных регулярках.
> 
> Просьба трудно выполнима. У меня есть несколько "Байкалов" и raspberry pi
> 4(B).
> Ни на одной из этих систем regular-gnome3-20220824-aarch64.iso не грузится.

Проблема с ядром un-def в Сизифе? С std-def на Сизифе должно работать? Или проблема с образом? Я могу собрать с другим ядром и выложить. Могу и с двумя ядрами собрать.
Comment 9 Alexey Sheplyakov 2022-09-01 12:36:24 MSK
(Ответ для Антон Мидюков на комментарий #8)
> (Ответ для Alexey Sheplyakov на комментарий #7)
> > (Ответ для Yuri N. Sedunov на комментарий #4)
> > > Проверьте на сизифных регулярках.
> > 
> > Просьба трудно выполнима. У меня есть несколько "Байкалов" и raspberry pi
> > 4(B).
> > Ни на одной из этих систем regular-gnome3-20220824-aarch64.iso не грузится.
> 
> Проблема с ядром un-def в Сизифе? С std-def на Сизифе должно работать? Или
> проблема с образом?

И то, и другое, и даже третье. Обо всём по порядку.

1) В сизифном std-def остутствует часть "байкаловских" патчей.
   В частности нет ни одного патча на тему поддержки прошивок из SDK-M 5.5
   (у меня сейчас под рукой одна плата с именно такой прошивкой)
   Я почему-то думал, что сизифное std-def и un-def из p10 собирается из одного исходника.
   Ведь по сути они оба - linux-stable/linux-5.15.y, зачем же делать дважды одну и ту же работу?
   Поэтому и не слал патчи специально для сизифного 5.15.y (оно же std-def).
   Ожидания и реальность.jpg
2) В сизифном 5.18.y (aka un-def) тоже нет патчей для SDK-M 5.5
3) На raspberry pi 4 iso не грузится (ожидаемо)
4) На raspberry pi 4 mainline ядра не поддерживают аппаратный рендеринг OpenGL (ES), а без него GNOME еле ползает.
   

> Я могу собрать с другим ядром и выложить.

Подменить ядро в iso я сам могу, для p10 это автоматизировано, см. [1].
Но с сизифными образами этот способ "из коробки" не работает. Допилю.
А дальше надо сообразить, как из iso сделать образ для raspberry.
(Можно конечно UEFI для rpi собрать, и не морочить голову, но это будет ещё один глюкодром, не похожий на предыдущий).

[1] https://git.altlinux.org/people/asheplyakov/public/?p=linux-projfiles.git;a=blob;f=iso-inject-kernel.sh;h=77ede564d1a34f6873d9ea549e862db88b7349a9;hb=8e670ea0825906b1e4c79f04f52253b81b3e7290
Comment 10 Alexey Sheplyakov 2022-09-01 15:04:11 MSK
Подменил ядро в regular-gnome3-20220824-aarch64.iso на "своё" (rpi-5.15.y + Байкал-М патчи) [1]
Проверил (по md5sum), что на флешке, с которой загружаюсь, именно это ядро.
Ядро падает "мгновенно" с сообщением вида:

Synchronous Exception at 0x00000000BFF30EE8
Recursive exception occurred while dumping the CPU state

(извините, более подробного лога нет - сейчас у меня нет возможности подключиться UART)
Адрес каждый каждый раз разный.

Всё бы ничего, но 

1) ядро 5.18.y, которое изначально было в образе, падает с таким же сообщением.
2) "моё" ядро [1] также установлено на диск, и с ним система (p10) нормально грузится и работает.


[1] https://git.altlinux.org/people/asheplyakov/packages/linux.git?p=linux.git;a=tree;h=4da974e63afaec408de25437ef801d732a13102c;hb=4da974e63afaec408de25437ef801d732a13102c
Comment 11 Alexey Sheplyakov 2022-09-01 15:20:05 MSK
Если в меню grub не менять язык на русский, а оставить всё как есть - загружается. Иначе - мгновенное падение. Проверил несколько раз. Изумительно.
Comment 12 Alexey Sheplyakov 2022-09-01 15:28:28 MSK
(Ответ для Alexey Sheplyakov на комментарий #11)
> Если в меню grub не менять язык на русский, а оставить всё как есть -
> загружается. Иначе - мгновенное падение. Проверил несколько раз. Изумительно.

Если поменять язык не с помощью графического меню, как-то иначе, например,

1) поправить grub.cfg чтобы русский был по умолчанию,
2) зайти в редактирование (e), и передать ядру lang=ru_RU,

то система грузится нормально (на Байкал-М, а точнее на ноуте от Элпитех).
Если же поменять язык с помощью меню в grub (F2 -> Russian) - то... БАБАХ!

Возможно EFI драйвер GOP такой изумительный, а возможно - что-то нехорошо в самом GRUB. Пока не знаю (и не уверен, что мне это интересно знать)
Comment 13 Антон Мидюков 2022-09-01 15:30:28 MSK
(Ответ для Alexey Sheplyakov на комментарий #12)
> (Ответ для Alexey Sheplyakov на комментарий #11)
> > Если в меню grub не менять язык на русский, а оставить всё как есть -
> > загружается. Иначе - мгновенное падение. Проверил несколько раз. Изумительно.
> 
> Если поменять язык не с помощью графического меню, как-то иначе, например,
> 
> 1) поправить grub.cfg чтобы русский был по умолчанию,
> 2) зайти в редактирование (e), и передать ядру lang=ru_RU,
> 
> то система грузится нормально (на Байкал-М, а точнее на ноуте от Элпитех).
> Если же поменять язык с помощью меню в grub (F2 -> Russian) - то... БАБАХ!
> 
> Возможно EFI драйвер GOP такой изумительный, а возможно - что-то нехорошо в
> самом GRUB. Пока не знаю (и не уверен, что мне это интересно знать)

Попробуйте сравнить вывод set до и после выбора языка. Не теряется ли какая-то переменная?
Comment 14 Alexey Sheplyakov 2022-09-01 15:51:40 MSK
В такой комбинации

1) образ regular-gnome3-20220824-aarch64.iso [1]
2) ядро rpi-baikalm-5.15.y [2]
3) загрузка с параметрами по умолчанию (пока активен grub, ничего не трогать)

элпитеховский ноут (на Байкал-М) успешно загружается и делает вид, что работает.
Спецэффектов в gnome-terminal нет.

P.S.

Отображение шрифтов в X11 приложениях (работающих через Xwayland) сломано, но это другая проблема.

P.P.S.

Выводить изображение одновременно и на встроенную панель, и на внешний монитор невозможно.
(Весь эксперимент с GNOME ради этого и затеян).
При подключении монитора к HDMI разьёму ноутбука система "замирает".
При этом всё ещё возможно зайти по ssh и увидеть в top обработчик прерывания dw-hdmi (жрущий 99% процессорного времени).
Отключаю монитор - всё возвращается в норму. Но тут дело скорее в самом ноуте.
Comment 15 Alexey Sheplyakov 2022-09-01 15:54:37 MSK
(Ответ для Антон Мидюков на комментарий #13)
> (Ответ для Alexey Sheplyakov на комментарий #12)
> > (Ответ для Alexey Sheplyakov на комментарий #11)
> > > Если в меню grub не менять язык на русский, а оставить всё как есть -
> > > загружается. Иначе - мгновенное падение. Проверил несколько раз. Изумительно.
> > 
> > Если поменять язык не с помощью графического меню, как-то иначе, например,
> > 
> > 1) поправить grub.cfg чтобы русский был по умолчанию,
> > 2) зайти в редактирование (e), и передать ядру lang=ru_RU,
> > 
> > то система грузится нормально (на Байкал-М, а точнее на ноуте от Элпитех).
> > Если же поменять язык с помощью меню в grub (F2 -> Russian) - то... БАБАХ!
> > 
> > Возможно EFI драйвер GOP такой изумительный, а возможно - что-то нехорошо в
> > самом GRUB. Пока не знаю (и не уверен, что мне это интересно знать)
> 
> Попробуйте сравнить вывод set до и после выбора языка. Не теряется ли
> какая-то переменная?

Что-то многовато их, так сразу и не рассмотрю...

Но даже если теряется - что с того? Ядро могло не найти initramfs/rootfs, но до этого дело не доходит, падение происходит гораздо раньше.
Comment 16 Yuri N. Sedunov 2022-09-01 16:09:37 MSK
(Ответ для Alexey Sheplyakov на комментарий #14)

> Спецэффектов в gnome-terminal нет.

Спасибо, было интересно. Эту багу закрываю, но вы можете пообсуждать свои кривые железки, ведра и дрова к ним под другой вывеской.
Comment 17 Alexey Sheplyakov 2022-09-01 16:16:10 MSK
> Проверил на rasberry pi 4B. Наблюдаю очень похожие глюки.

Это раз.

А про кривые железки Вы Роману Ставцеву расскажите.
Comment 18 Alexey Sheplyakov 2022-09-01 16:18:37 MSK
(Ответ для Yuri N. Sedunov на комментарий #16)
> (Ответ для Alexey Sheplyakov на комментарий #14)
> 
> > Спецэффектов в gnome-terminal нет.
> 
> Спасибо, было интересно. Эту багу закрываю, но 

> вы можете пообсуждать свои кривые железки, ведра и дрова к ним под другой вывеской.

Несомненно обсудим. А тут мы продолжим обсуждение кривого поведения gnome-terminal из p10. Которое воспроизводится на разных системах с совершенно разными драйверами.
Comment 19 Yuri N. Sedunov 2022-09-01 16:26:53 MSK
(Ответ для Alexey Sheplyakov на комментарий #18)
> (Ответ для Yuri N. Sedunov на комментарий #16)
> > (Ответ для Alexey Sheplyakov на комментарий #14)
> > 
> > > Спецэффектов в gnome-terminal нет.
> > 

> Несомненно обсудим. А тут мы продолжим обсуждение кривого поведения
> gnome-terminal из p10. Которое воспроизводится на разных системах с
> совершенно разными драйверами.

Это, пожалуйста, без меня. Можете попробовать втащить vte3 из сизифа на p10,
Кстати, в бинарном пакете vte3 есть терминальчик попроще. Проверьте на нём свои глюки.