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)

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

X11 – это как раз пример прагматичного подхода

Иксы не развиваются. Вообще. И при этом имеют проблемы. Прагматичный подход – это выбрать ту технологию, которая развивается и уже сейчас демонстрирует отсутствие детских проблем иксов, а не закорлузого монстра из прошлого века.

hateWin ★☆
()
Ответ на: комментарий от hateWin

Без этих постэффектов тиринг. Или костыльный TearFree, который хоть и немного, но все равно увеличевает латентность и снижает производительность.

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

Skullnet ★★★★★
()
Последнее исправление: Skullnet (всего исправлений: 1)
Ответ на: комментарий от hateWin

Мне гном не очень нравится, жду развития тайловых композиторов. В принципе, уже вот-вот где-то рядом всё, годик-другой и будет счастье.

provaton ★★★★★
()
Ответ на: комментарий от hateWin

Прагматичный подход – это выбрать ту технологию, которая развивается и уже сейчас демонстрирует отсутствие детских проблем иксов

«It is evolving, just backwards.» (C)

а не закорлузого монстра из прошлого века.

Вейланду уже 14 лет.

Skullnet ★★★★★
()
Ответ на: комментарий от hateWin

Иксы не развиваются. Вообще.

Они просто готовы. Разумнее пользоваться уже готовым продуктом проверенным временем, чем постоянно переизобретать велосипед и заниматься ИБД. В бизнесе и не такие древности используются потому что людям работать надо, а не «every frame is perfect!!!».

И при этом имеют проблемы.

Эти проблемы не значительны по сравнению с проблемами Wayland. А главное X11 не так идеологически заряжен как Wayland и там не отвергается реализация функционала по надуманным поводам. Если что-то кому-то было когда-то надо, то в X11 это скорее всего уже сделано.

X512 ★★★★★
()

пользуюсь sway с момента выхода 1.0. Стабильно как скала, никаких тирингов и багов нет, весь нужный мне софт давно и без каких-либо ограничений работает под вяленым.

Так что лично мне уже без разницы, чего там хватает или не хватает в иксах, они просто не нужны. Не хочу редактировать xinitrc или как его там для банального запуска wm, ещё помню там были какие-то xauthority и xresources…

Lrrr ★★★★★
()
Ответ на: комментарий от hateWin

А иксам сорок.

И всё до сих пор отлично работает. А Wayland-ята занимаются решением несуществующих проблем.

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

И всё до сих пор отлично работает. А Wayland-ята занимаются решением несуществующих проблем.

А Эйнштейн агент жидорептилоидов и придумал теорию относительности при поддержке английских масонов и еврейских банкиров. И потоп был, но власти скрывают

hateWin ★☆
()
Ответ на: комментарий от Lrrr

Не хочу редактировать xinitrc или как его там для банального запуска wm, ещё помню там были какие-то xauthority и xresources…

Сижу на awesome wm, ни разу не редактировал эти файлы.

einhander ★★★★★
()
Ответ на: комментарий от X512

Галлюцинации – это у тех, кто повторяет мантру «иксы работают идеально», несмотря на факты.

hateWin ★☆
()
Последнее исправление: hateWin (всего исправлений: 1)
Ответ на: комментарий от X512

Они просто готовы

Они не готовы.

Эти проблемы не значительны по сравнению с проблемами Wayland

Тиринг и тормоза – это незначительные проблемы. Окей

hateWin ★☆
()
Ответ на: комментарий от hateWin

Там отсутствуют i3, dwm, awesome, bspwm, xmonad. Судя по ЛОРу, это довольно популярные WM.

Потому что вышеприведенная статья из 2005 года. Для awesome и xmonad поддержка EWMH есть. По крайней мере так говорит википедия. Для остальных хз, скорее всего есть - нужно смотреть каждый отдельно.

Skullnet ★★★★★
()
Последнее исправление: Skullnet (всего исправлений: 2)
Ответ на: комментарий от hateWin

Они не готовы.

Народ уже работает над добавлением поддержки Wayland в X. Тогда иксы будут готовы на 146%. :D

https://sourceforge.net/p/twelveto11/code/HEAD/tree/

Тиринг и тормоза – это незначительные проблемы. Окей

УМВР

Даже на компьютере 2004 года выпуска.

Skullnet ★★★★★
()
Последнее исправление: Skullnet (всего исправлений: 1)
Ответ на: комментарий от Skullnet

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

einhander ★★★★★
()

Да, блад, я удивляюсь с людей, которые даже говорят о переходе на это говно.

athost ★★★★★
()
Ответ на: комментарий от hateWin

Это не статья, а домашняя страница проекта.

Которая, судя по чейнджлогу, не обновлялась с 2005 года.

Skullnet ★★★★★
()
Ответ на: комментарий от einhander

Я только здесь на ЛОРе несколько раз спрашивал, что такое тиринг и как на этого зверя посмотреть. Так никто и не объяснил.

shell-script ★★★★★
()
Ответ на: комментарий от X512

Композитинг тормозит на слабом железе. На достаточно быстром железе композитинг снижает производительность в играх и создает дополнительную нагрузку при воспроизведении видео. И композитинг далеко не всегда успевает синхронизировать кадры, поэтому тиринг может проявлятся даже при включенном композитинге

hateWin ★☆
()
Последнее исправление: hateWin (всего исправлений: 1)
Ответ на: комментарий от X512

УМВР

Раз я не стал жертвой маньяка, значит маньяки – выдумка. Занятная логика.

hateWin ★☆
()
Ответ на: комментарий от hateWin

Композитинг тормозит на слабом железе. На достаточно быстром железе композитинг снижает производительность в играх и создает дополнительную нагрузку при воспроизведении видео. И композитинг далеко не всегда успевает синхронизировать кадры, поэтому тиринг может проявлятся даже при включенном композитинге

…и поэтому в вяленде композитинг всегда и везде xD

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

…и поэтому в вяленде композитинг всегда и везде xD

Это ложь. В полноэкранных окнах композитинг автоматически отключается. И композитинг в вайланде не тормозит, в отличие от иксового.

hateWin ★☆
()
Ответ на: комментарий от hateWin

Композитинг тормозит на слабом железе.

Это какое железо надо иметь. У меня compiz на NVidia GeForce 6200 нормально работал. Загугли что это за видюха.

На достаточно быстром железе композитинг снижает производительность в играх и дополнительную нагрузку при воспроизведении видео.

В играх по нормальному композитинг тупо выключается. В EMWH есть такой флаг как _NET_WM_BYPASS_COMPOSITOR. Его, конечно, не везде юзают. Обычно композитор просто отключает композитинг для всех окон, когда видит полноэкранное окно.

И композитинг далеко не всегда успевает синхронизировать кадры, поэтому тиринг может проявлятся даже при включенном композитинге

Композитинг ничего не синхронизирует, V-Sync это всё равно фича драйвера.

Skullnet ★★★★★
()
Ответ на: комментарий от hateWin

на иксах - xmonad, на вейланде - hyprland. Но на хипрланде не работает зум нормально К сожалению, а сейчас по работе регулярно требуют ненавистных видеоконференций, поэтому в основном сижу на иксмонад.

provaton ★★★★★
()
Ответ на: комментарий от Skullnet

Это какое железо надо иметь

Любое. Например старый ноут на pentium p6000. Композитинг тормозит. На rx470 композитинг не всегда предотвращает тиринг и рисует медленее, чем в вайланде.

hateWin ★☆
()
Ответ на: комментарий от Skullnet

В играх по нормальному композитинг тупо выключается. В EMWH есть такой флаг как _NET_WM_BYPASS_COMPOSITOR. Его, конечно, не везде юзают. Обычно композитор просто отключает композитинг для всех окон, когда видит полноэкранное окно

Не все композиторы это умеют. Вайланд умеет выборочно отключать композитинг конкретно для полноэкранного окна.

hateWin ★☆
()
Ответ на: комментарий от provaton

Почитал. hyprland основан на wlroots. Значит, поддерживает xdg-desktop-portal. Пробовал xdg-desktop-portal-wlr?

hateWin ★☆
()
Ответ на: комментарий от token_polyak

…и поэтому в вяленде композитинг всегда и везде xD

Там хуже. Wayland спроектирован таким образом, что если цикл отрисовки сделан не так как нужно Wayland, то готовься к жопоболи см. «Wayland’s render loop design is ridiculous.».

Skullnet ★★★★★
()
Ответ на: комментарий от provaton

Портал стартует автоматически. Его запускает dbus. Нужно экспортировать одну переменную. У меня в конфиге sway так:

exec dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway
hateWin ★☆
()

Вот, например, интересная презентация о различии архитектур исков и вейланда с точки зрения разработчика WM: https://www.youtube.com/watch?v=8E0SOWo-Gsg

Один из наиболее понравившихся мне моментов в том, что WM в иксах - это просто обычный клиент, который конкурирует с другими клиентами за право получить ивенты от инпута. Решается проблема вот такими вот занятными костылями: https://i.imgur.com/XQalEBy.png

В вейланде же композитор занимает в архитектуре именно то место, какое он должен занимать с точки зрения логики, и проблема с контролем ввода/вывода вообще там не стоит.

Я просто поражен количеством коментариев в стиле «ну иксы же работают зачем вам еще что-то». Ну так и на лошадях люди ездили когда-то, и это прекрасно работало, а злые индустриализаторы придумали какие-то железные дороги и машины. Какие подлецы(

provaton ★★★★★
()
Ответ на: комментарий от hateWin

портал работает, но зум говорит, что он работать будет только в гноме. Может, это можно вылечить костылями через переменные окружения, но у меня пока руки не дошли.

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

Я просто поражен количеством коментариев в стиле «ну иксы же работают зачем вам еще что-то»

Чему тут поражатся? В этом треде таких комментариев предостаточно

hateWin ★☆
()
Ответ на: комментарий от Skullnet

Там хуже. Wayland спроектирован таким образом, что если цикл отрисовки сделан не так как нужно Wayland, то готовься к жопоболи см. «Wayland’s render loop design is ridiculous.».

Я вам уже отвечал на это:

Критика цикла отрисовки с обратным вызовом вообще странная, мягко говоря. Пусть посмотрит, как работают многие игровые движки, и как там выполняется game loop. А если не устраивает frame throttling, то никто не мешает использовать неблокирующий вызов eglSwapBuffers(), установив swap interval в 0 и реагируя на frame events.

Что, опять будем по N-ному кругу пережёвывать? Вы ещё про изменение размера окон в GTK3 затяните в очередной раз, хотя вам уже было дважды объяснено.

Rootlexx ★★★★★
()
Ответ на: комментарий от provaton

но зум говорит, что он работать будет только в гноме

Хм. Значит еще недопилили. Недавно зум без QT_PLATFORM=xcb вообще не запускался в вайланде.

hateWin ★☆
()
Ответ на: комментарий от hateWin

Ну я про этот тред и говорил. Странные люди :(

provaton ★★★★★
()
Ответ на: комментарий от Rootlexx

где-то перед новым годом. Но я не в sway пробовал, а в hyprland.

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

Как будто в вялом нет костылей и сомнительных архитектурных решений. Не говоря о том, что в нем половина софта не работает без встроенной иксовой лошадки. Классная машина, ниче не скажешь.

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

первые машины ездили очень недалеко, жутко воняли и постоянно ломались. Лошадь была куда проще и надежней.

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