LINUX.ORG.RU

Какие для Вас самые важные недостатки X-сервера и/или протокола X11?

 


1

4

Поскольку любители «закапывать устаревшее» не очень хорошо понимают, зачем лучше иметь работающую альтернативу, скажу прямо — для надежности.

Поскольку у меня самого продвинутого железа типа экрана в 4к и пр. нету, я решил спросить посетителей ЛОРа, что им наиболее мешает жить с текущей реализацией X-сервера.

Возможно по выявлению самого неприятного мета-бага (пишите в ответах версию х сервера и ДЕ/wm, и прочие подробности, желательно со ссылками на баги в багтрекерах) удастся собрать деньги на оплату (а скорее - также частичное дообучение) работы C developer(s).

Но сначала давайте попробуем определится, что же конкретно не работает. Одним из первых я поставил HDR потому что на phoronix кто-то утверждал, что поддержка hdr потребует-таки переписывания или обхода значительной части Х протокола. Проблема в том, что я где-то читал что абстрактные пиксели в Х могут быть и 16 бит на канал, и к тому же рабочие станции SGI (mips) явно умели в 10 бит на канал, а работали там собственная реализация X, glx, да OpenGL (ещё 1.2 или около того). Ссылки надо заново искать, но я это сделаю :)

edit: https://marc.info/?l=freedesktop-xorg-devel&m=148338322225159&w=2

вот тут обсуждение HDR (в 2016-ом) еще есть пдф-ка с XDC 2017 про Deep color.

DPI stuff https://www.mail-archive.com/xorg-devel@lists.x.org/msg57714.html

SGI hardware (10/12 bits per component) http://www.sgidepot.co.uk/ir_techreport.html

  1. Всё устраивает 222 (48%)

    ********************************************************************************************************************************************************************************************************************************************************************************************************************************

  2. Тиринг 117 (25%)

    ************************************************************************************************************************************************************************

  3. Сложности работы двух мониторов с разным dpi или частотой обновления 108 (23%)

    ***********************************************************************************************************************************************************

  4. Неплавность анимаций или ввода 84 (18%)

    *************************************************************************************************************************

  5. Устаревшая кодовая база, с которой сложно работать 76 (16%)

    *************************************************************************************************************

  6. Дробное масштабирование 70 (15%)

    ****************************************************************************************************

  7. Задержка (latency) в несколько кадров 64 (14%)

    ********************************************************************************************

  8. Поддержка HDR (high dynamic range, 10bit/channel or more) 59 (13%)

    *************************************************************************************

  9. Изоляция приложений 47 (10%)

    *******************************************************************

  10. Поддержка переменной частоты развертки (vrr) 43 (9%)

    *************************************************************

  11. Невозможность (?) сохранить состояние сессии при обрыве 32 (7%)

    **********************************************

  12. Отсутствие поддержки новых версий GL в протоколе glx 32 (7%)

    **********************************************

  13. Автоподключение внешнего GPU 31 (7%)

    ********************************************

  14. Мультикасание, трансформация координат ввода 24 (5%)

    **********************************

  15. Отсутствие поддержки множества слоёв (поверхностей) видеовывода 19 (4%)

    ***************************

  16. Другое 14 (3%)

    ********************

  17. Нестандартные устройства ввода (указать какие) 6 (1%)

    ********

Всего голосов: 1048, всего проголосовавших: 461

★★★★

Проверено: hobbit ()
Последнее исправление: Andrew-R (всего исправлений: 8)

Ответ на: комментарий от Skullnet

Никогда такого не было, чтобы кусок экрана, например 8 бит цвета, а остальное 24 бит.

есть такое подозрения что старые фрэймбуфферы на разных рабочих станциях так умели - для экономии видеопамяти. Преобразовывал хитрый RAMDAC. Но да, на монитор все равно шел максимальный поток. Сейчас судя по рассылкам по hdmi умеет гулять rgb/yuv разной степени битности и субсэмплинга.

Andrew-R ★★★★
() автор топика
Ответ на: комментарий от lucentcode

об эстетической привлекательности современных тулкитов

Вот кстати забавно, кто-нибудь пытался понять, чем эта «привлекательность» обусловлена? Градиенты, прозрачности, и пре-рендеренная шкурка в виде png ?

Andrew-R ★★★★
() автор топика
Ответ на: комментарий от lucentcode

Автовекторизация в реалтайме по сложности напоминает OCR - так что скорее всего так никто не делает …

Возможно что какие-то хитрые уголки тесселируются (во слово вспомнил!) в тысячу микротреугольничков ….

Кстати, в rpi* скорее всего тайловая архитектура видеоускорителя - а это тоже весьма ….занимательно с точки зрения драйверописателей. Так что иксы которые через гламур который через месу которая через аппаратную архитектуру под которую не писалась …. (внутри месы тоже весело - то новое представления шейдеров доя компилятора, то всякие переносы функций туда-сюда, то какой-нибудь blorp через compute shader) …

Что-то мне кажется, что вся эта пачка железа, протоколов и кода действительно тяжела, но не столько потому что старое тянут, а потому что новое накидывают с максимальной скоростью.

Писатели-то хоть и открытого и свободного кода, но привычки-то, а то и рабочее окружение у них вполне корпоративно-акселяритивное ..

Так что похоже да, проблема не только техническая, но и организационная и даже обучательная. Вот по ядру линукс есть книжечка про ядро, то самое, 0.12. http://www.oldlinux.org/

А про оконные системы что-нибудь подобное есть? Я вот поверхностно читал про разное, про mgr (на ютубе есть даже xenix с оной), про NeWS (старые SunOS) - но все они были либо слишком простые, либо сложноватыми. Х победили за счет … попадания в нишу? Достаточно гибкие и мощные, но не перегруженные например дефолтным постскрипт-интерпретатором.

оффтоп, но как я уже заметил тутЪ

https://github.com/rdolbeau/NuBusFPGA/commits/master

человек пишет железную часть видео-акселератора, который смотрит внутрь m68k mac. Писать под классическую макос драйвера тоже как-то умудрялись, но сейчас это тоже занятие для стойких и упорных.

Так что в принципе пока это все не буквально забытые технологии, но и фактор автобуса тут не такой уж и большой. Граждане, все на обучение!

Andrew-R ★★★★
() автор топика

вот кстати, было расширение да сплыло (удалили) - multibuffer

https://www.spinics.net/lists/xorg/msg04519.html

вроде как конфликтило с 3д. Но может кому идея пригодится. Еще было X image extension

https://en.m.wikipedia.org/wiki/X_Image_Extension

https://paparisa.unpatti.ac.id/linux_journal_archive_1994_2007/LJ/053/2259.html

mit-shm вроде как никаких трансформаций не предполагает, так что не совсем замена.

Andrew-R ★★★★
() автор топика
Последнее исправление: Andrew-R (всего исправлений: 1)

Переключился с x11 на wayland.

Теперь на ноуте с wayland на встройке intel hd620 в mpv спокойно тянется видео 4k с профилем gpu-hq с youtube, на x11 без пропуска кадров шло только в разрешении 2k.

Да и в целом окошки в kde стали открываться/сворачиваться/перемещаться субъективно отзывчивые и одновременно плавнее.

Пока обнаружился один не достаток - нормально не работает на kde c wayland pidgin, приложении запускается, появляется значок в трее, но не разворачивается, а в логах ошибки

янв 28 17:27:36 ctgx plasmashell[1094]: org.kde.plasma.libtaskmanager: Got invalid activation app_id: ""
янв 28 17:27:37 ctgx plasmashell[1094]: org.kde.plasma.libtaskmanager: Got invalid activation app_id: ""
янв 28 17:27:39 ctgx plasmashell[1094]: org.kde.plasma.libtaskmanager: Got invalid activation app_id: ""
янв 28 17:27:39 ctgx plasmashell[1094]: kde.systemtray: Could not find DBusMenu interface, falling back to calling ContextMenu()
Как исправить?

tm4ig
()
Ответ на: комментарий от tm4ig

Теперь на ноуте с wayland на встройке intel hd620 в mpv спокойно тянется видео 4k с профилем gpu-hq с youtube, на x11 без пропуска кадров шло только в разрешении 2k.

Причём тут иксы? За декодирование видео отвечает VA-API. У меня 4к на Intel HD 520 работает нормально.

Skullnet ★★★★★
()

Тотальная всратость. В списке не нашёл.

slepoy_pew
()
9 марта 2023 г.
Ответ на: комментарий от Aceler

Кстати, а wayland эту проблему решает?

Wayland не является сетевым протоколом, как он может решать эту проблему?

Аж не верится, впервые при использовании вэйлэнда появилось то, чего мне хватает в иксах. Разве что не хватает чисто из что-ли эстетических соображений, так что всё равно это ещё пока ничего не меняет. Но интересно.

«In the event of a disconnect from the compositor socket we simply try to reconnect again and replay any data needed so that we maintain a consistent state to where we left off.»

https://www.phoronix.com/news/Qt-Wayland-Compositor-Restart

gag ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.