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)

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

то, что в ядре оказались костыли иксов

К счастью, эти иксовые костыли из кодовой базы ядра Linux-разработчики выжгли калёным железом с ехидной пометкой:

With nobody wanting to maintain X11 anymore, rather than fixing the buggy code, the kernel was adjusted to avoid having to touch X11. A bummer, but fair enough

Жаль только сами иксы пока выжигать из Linux-дистрибутивов не торопятся.

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

dbus не ставил своей задачей передачу большого объёма данных за гарантированно низкое время, а для скринкаста и даже скриншота это важно. dbus, даже если он запущен, справится с работой плохо. А ещё проталкивание мамонта по шине может создать неожиданный эффект в каком то другом месте.

Решительно непонятно, при чём здесь dbus к скринкастам, кроме разве что первого тыкания палкой в xdg-desktop-portal.

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

О чём это говорит? О том что автор Pipewire - красавчик и сделал за авторов Wayland поддержку записи экрана, а разработчики Wayland не смогли сделать её в своём сервере. К тому же Wayland - не единственное место где может понадобиться Pipewire, могут быть различные системы изолированных контейнеров, где нет прямого доступа к дисплейному серверу.

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

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

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

Кстати, сам по себе костыль настолько кошмарный что аж в дрожь бросает: Да как так можно выдавать повышенный приоритет процессу, который в 100% случаев должен иметь повышенный приоритет?! И разве для всеми любимого пульсаудио разве не делали то же самое?

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

С чего ты взял, что он через себя что-то пропускает? Он передает сообщение. Все. Видеопоток он через себя не пропускает, ферштейн?

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

как только корпорации плотно займутся линуксом

Как только я зарегистрируюсь на ЛОРе, я придумаю какой-нибудь ответ на этот комментарий и напишу его.

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

Да я в курсе. Вот мне и странно, что у кучи ЛОРовцев тиринг - насущная проблема,в то время как не меньшая куча его в глаза не видела. Хорошо бы собрать и тех,и других в одном треде,и сравнить железо.

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

Хм. Разработчик ядра предложил костыль. Его отвергли на этапе обсуждения. Разработчики systemd исправили свой косяк. В случае с иксами разработчики иксов закомитили говнокод в ядро. Разработчики ядра нашли этот кусок и послали иксовую команду лесом. Ищи дальше

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

О чём это говорит? О том что автор Pipewire - красавчик и сделал за авторов Wayland поддержку записи экрана

Отнюдь. Это говорит о том, что вы ничерта не разбираетесь в том, как это всё вместе работает.

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

И в случае скриншота dbus сам не передает снимок. Ты понимаешь, что такое IPC?

В иксах тоже есть IPC между X сервером и клиентами и не нужны никакие pipewire костыли для записи экрана, потому что в дисплейном сервере уже есть эти фичи для каждого окна и всего экрана.

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

Вы когда нибудь видели, чтобы та же корпорация зла Microsoft вдруг психанула и начала выкидывать например тот же GDI из MS Windows?

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

Возьмём древний WinAPI и GDI. Возьмём древнее приложение использующее эти технологии. Да что там, возьмём приложения из чёртового Windows 1.0, который релизнулся в те же годы, что и X11! Запустим на современном железе, HiDPI-монитор, все дела, смотрим:

Вуаля: софт под винду написанный чуть ли не до выхода самой первой версии X11, запускается на современом HiDPI мониторе и имеет отличную поддержку современных фич: векторные шрифты c Grayscale-сглаживанием, корректная трансформация всех координат и… никакого мыла.

Теперь возьмём и провернём такой же трюк с иксовыми аналогами WinAPI и GDI: Xlib, Xt + Xaw. Возьмём и запустим их на современном железе… и мы не увидим ни векторных шрифтов, ни их нормального сглаживания, крошечный и неюзабельный размер viewporta, мыло при растягивании и т. д.

В Linux-дистриубтивах практически вся функциональность WinAPI и GDI перенесена в прикладные тулкиты. Причина? Полная импотентность иксовых технологий, которые устарели уже к 1990 годам, из-за чего все эти GTK+ и Qt собственно и появились.

В наше время X.Org представляет собой хреново работающий, тирингующий оконный сервер, который не отвечает современным тенденциям развития технологий и тянет Linux-десктоп ко дну. И к этому серверу прилеплены ещё всякие там корявые XEmbed, которые в половине дистров работают из рук вон криво да доисторическая сетевая прозрачность, которая работает даже хуже чем VNC, я уж не говорю про AnyDesk или RDP. Ну и зачем оно такое «счастье» нужно?

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

Отнюдь. Это говорит о том, что вы ничерта не разбираетесь в том, как это всё вместе работает.

Видимо авторы вяленного тоже со своим ЧСВ космического масштаба думают, что все окружающие всё равно дебилы, поэтому можно накостылить любое гавно. :P

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

Для захвата всего экрана и окна X11 использует XSHM и xcomposite соответственно. вайланд для тех же целей использует dbus+xdg-desktop-portal+pipewire. Так в чем проблема-то?

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

В Linux-дистриубтивах практически вся функциональность WinAPI и GDI перенесена в прикладные тулкиты. Причина?

Потому что в линуксе поступили по умному и не стали говнокодить тулкит в графический сервер, и фичи иксов позволяли написать несколько тулкитов, что и произошло. У проприетарных ОС одна нация - один тулкит на всю систему. В андроиде и маке, кстати, тоже. Хотя в винде в отличие от этих двух оказалось достаточно фич, чтобы написать сторонний тулкит, что Qt и сделали и, кстати, он почти визуально неотличим от нативных приложений. Разработчики GTK это не осилили. ЧСХ, угадайте кто этот GTK делает.

В наше время X.Org представляет собой хреново работающий, тирингующий оконный сервер

Да что вы со своим тирингом лезете. Тиринг-тиринг-тиринг. У вас уже тиринг головного мозга, ей богу.

который не отвечает современным тенденциям развития технологий и тянет Linux-десктоп ко дну

Современные тенденции - это монолитная архитектура, фрагментация, направленность на одного участника, а именно на GNOME Desktop, политика вместо механизмов. Всё это корпоративное зло должно сгореть в адском пламени.

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

Тиринг-тиринг-тиринг. У вас уже тиринг головного мозга, ей богу

Аааааа! Вы не панимаете, иксы швятые!!!! Ваши аргументы – не аргументы!!!!

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

Для захвата всего экрана и окна X11 использует XSHM и xcomposite соответственно. вайланд для тех же целей использует dbus+xdg-desktop-portal+pipewire. Так в чем проблема-то?

В том что это расширения иксов и для них не нужен никакой middleware, работающий через IPC, только добавляющий не нужную кучу зависимостей и оверхед.

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

Блджад, да не работает он через IPC!

Да хоть через сокеты, значения это не имеет.

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

Тиринг вообще возник не на пустом месте и не потому что програмисты были ленивыми идиотами.

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

Хочешь vsync в игре и vrr? Надо обойти композитинг и никакого TearFree в xorge. Подход и способы обхода композитора зависят от DE.

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

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

В вейленде всё просто работает. И композитинг, и врр, и в играх задержки нет.

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

Хех. Accelerated X. Вон, говорят, до сих пор раздают демы с xig.com

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

Так если он не передаёт, тогда зачем он нужен? Проблема то передать данные а не сказать черверу что хочешь их получить.

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

Ну, я иногда вижу тиринг. Допустим пару раз (иногда десятков) проскакивает какой нибудь разрыв в какой нибудь анимации какого нибудь банера в рекламе. Мне вообще 100% паралельно, а анимации в интерфейсе у меня отключеныв пользу скорости, а плавные проктутки вообще принципиально.

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

Вуаля: софт под винду написанный чуть ли не до выхода самой первой версии X11, запускается на современом HiDPI мониторе и имеет отличную поддержку современных фич:

Вы кажется давно запускали не-метро приложения в виндах. Там в 50-70% случаев как раз мыло от так-себе-растягивания битмапа в лоб на 125%. И МС стараются делать вид что это не проблема.

По сравнению с этим .Xresources в котором юзер может прописать dpi и шрифт и всякое говно мамонта подхватит настройки - просто новая эпоха.

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

В вейленде всё просто работает.

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

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

В вейленде всё просто работает.

А почему в вейланде так неудобно пердолиться с настройками?

Потому что вейланд делали, чтобы всё просто работало, а не для пердолинга с настройками.

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

Сейчас спецом тест на ютубе прогнал,нету его. Ну или у меня такое зрение,что просто не замечаю.

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

Потому что вейланд делали, чтобы всё просто работало

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

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

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

Это особенность конкретного композитора. В kde, вроде как, еще не добавили.

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

Подтверждаю все, что написал hateWin. Столкнулся с аналогичной проблемой - там, где через waypipe все работает без тормозов сетевую прозрачность использовать иксов конечно тоже возможно, но очень затруднительно. И разница в производительности очень видна.

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

Не бери, ты все правильно написал. У меня один в один ситуация как у тебя. При прочих равных, сетевая прозрачность иксов сильно тормознее.

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

Проблемы негров.

Отличный аргумент! В вейленде что-то не работает - проблемы негров. В иксах что-то не работает - иксы говно.

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

А ничего, что возможность сделать скриншот в иксах появилась при помощи костыльного расширения, не работающиего по сети в 1991-м году?

А должна была быть реализована «через стандартный протокол базового набора протоколов ещё с версии 0.1» ©.

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

Почему не реализовано?

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

Потому что в линуксе поступили по умному и не стали говнокодить тулкит в графический сервер, и фичи иксов позволяли написать несколько тулкитов, что и произошло.

А какие именно фичи иксов позволили написать несколько тулкитов?

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

Будто в иксах можно. Заранее напомню, что метод с помощью xrandr работает как повезет (впрочем, как и все остальное в иксах)

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

воу, а причем тут сгруппы? группы процессов никак особо к системд не относятся напрямую.

Здрассти-приехали. А slice, по-твоему, через что работает?

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

А у меня virtualbox и dosbox и я тоже видел такие сообщения. Со стороны самих виртуалок разумеется.

Вот именно.

А вот скажи, если экранная клавиатура какого нибудь е17 окажется лучше экранной клавиатуры гнома и надо будет использовать её в гноме, не развалится ли твой великолепный сценарий из костылей и полутора поддерживаемых штатных приложений?

Понятия не имею.

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

Нельзя сделать что то с тем, чего нет.

…Запуская OBS и записывая скринкаст. Может, хватит врать-то? У меня все ходы записаны на видео.

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

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

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

Но остается вопрос всяких мелких приблуд которые сильно упрощают жизнь. Индикатор клавиатуры, блюпуп девайсы , приличный док или таскбар, какая-нибудь панелька которая может ловить иконки мессенджеров и вешать их в трей. То что может в общем-то любая легковесная панелька в иксе. А тут какая-то засада - куда не ткнешься какой-то шлак недоделанный. Вангуя типичный ответ - гномокеды не предлагать. Нужна обычная менюшка, таскбар и notification area. Ну либо лайтовая DE сравнимая с мате, lxde или крыской.

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

Убеждай себя в этом дальше. Типичный упоротый фанатик

сам такой. Я иксы использую и тиринга там нет. Ты про иксы в книжках читал.

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