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)

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

Не путай причину и следствие. Список фич совпадает со списком задач, потому что фичи как раз по списку задач и реализовывались.

Не обязательно. Пользователи привыкают к возможностям, которые даёт им платформа, и требуют этих же возможностей на других. Сто раз такое видел в процессе перевода на Linux.

А потом выясняется, что изоляции-то и нет, потому что пользователи привыкли.

А изоляция там есть (XACE), но

Но её нет.

Aceler ★★★★★
()

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

Мелочь, а было бы логично, если бы как и с TCP при обрыве соединения (после падения X-сервера) GUI программки продолжали дальше работать и с небольшим интервалом пытаться установить новое соединение. Кстати, а wayland эту проблему решает?

Дробное масштабирование

Так и wayland же его не поддерживает. При факторе 1,5 сообщает тулкиту, что тут экран в 3 раза больше, так что работы тулкиту значительно прибавляется, а потом выбрасывает половину. И только совсем недавно там якобы добавили поддержку, но насколько она реально юзабельна…

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

Да, VRR в Xorg работает. Нет правда low framerate compensation (LFC), но это уже претензии к драйверам. Иксы тут не при чём. А ещё есть мнение, что поддержку VRR нужно делать в отдельных приложениях.

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

Это какой-то п@здец. Ни одно gtk3 приложение не работает без тормозов. Через waypipe те же приложения в той же сети и через тот же ssh-сервер работают так, будто они запущены локально.

Что за враньё. Я запускал приложения по ssh ssh -XC, всё летало. Обычные GTK/Qt приложения уж точно. Я даже запускал Discord через ssh с помощью VirtualGL ничего так работает.

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

Потому что желающих больше нет лет наверное 15.

А с чего были бы желающие, когда всё и так работает. Ну там есть нытьё что нет богоподобного HDR, который доступен только мажорам и который даже на винде не работает нормально. Да ну и всё.

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

То что его пытаются отменить.

ex-kiev
()
Ответ на: комментарий от R_He_Po6oT

Мечталось о возможности сохранения состояния сессии со всеми приложениями, документами, отменами и пр.

Слышали когда-нибудь по suspend? Как раз делает то что вам нужно.

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

Но её нет.

А где она есть? Назови мне софтину где есть нормальная продуманная изоляция и она не сделана в виде гулага без фич?

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

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

Wayland не является сетевым протоколом, как он может решать эту проблему? Если ты подключаешься к сеансу через, допустим, spice, то у GUI программы будут работать и после твоего отключения.

В иксах так тоже можно, через x11spice, x11rdp, x11vnc и тому подобных.

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

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

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

Типичные фанатики: «вы не понимаете! тиринг – это не баг, это фича! Непросвещенные не могут постичь божественную суть иксов!!1111»

hateWin ★☆
()

В иксах всё устраивает. Возможно, стоит ругать за «Устаревшую кодовую базу, с которой сложно работать». Потому что это единственная разумная причина, которая приходит на ум, когда видишь потуги пропихнуть wayland и его невзлетевших братьев(mir, кто-то там ещё был вроде). Но это уже домыслы.

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

Включить V-Sync в композиторе пробовали? В mesa драйвере ещё есть TearFree. В играх у меня V-Sync вообще выключен, потому что он не нужен на Freesync мониторах.

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

Почитал. Забавно требовать аналог фичи, которая поддерживается не всеми иксовыми менеджерами. Насколько я понял, прямого аналога нет. Зависит от композитора. В sway есть основанный на json IPC. Наверно, можно реализовать нечто подобное.

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

Возможно, стоит ругать за «Устаревшую кодовую базу, с которой сложно работать».

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

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

Я потому и написал, что это скорее всего домыслы и за этот пункт не голосовал.

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

Иксовый композитинг – полное убожество. Он ощутимо снижает производительность.

С чего это бы? В большинстве композиторов очень тупой композитинг на уровне OpenGL 2.1, где прозрачность и два с половиной шейдера. Будет работать даже на тормозной встройке. Исключение - ATI видюхи из 2007 года, где OpenGL работает медленнее чем процессор.

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

С чего это бы?

Наверно из-за архитектуры иксов. Факт остается фактом. Иксовый композитинг увеличивает энергосбережение и ощутимо тормозит

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

Не поддерживать абсолютные координаты окон необходимые например для работы Wine

Только что запустил sequator через вайн под sway. xwayland в запущенных процессах не нашел.

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

Наверно из-за архитектуры иксов. Факт остается фактом.

«Наверное что-то в иксах не так, но что я не знаю.» (С) Так и запишем.

Иксовый композитинг увеличивает энергосбережение и ощутимо тормозит

Как рендеринг 2д прямоугольников в OpenGL может тормозить?

Skullnet ★★★★★
()

Главный недостаток иксов - отсутствие надежно работающей альтернативы бггг.

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

Сижу на диване со слабым ноутбуком, на котором сейчас провожу эксперименты, требующие достаточно ресурсов, поэтому браузер запустил через ssh -X, подключившись к десктопу, чтобы читать доки и ЛОР. Работает так же, будто запущен локально.

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

Раньше был не зоопарк? Ты серьезно?

В иксах одна реализация управления окнами. Для всех менеджеров окон.

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

TearFree – это костыль. И он не в mesa.

Это V-Sync на уровне драйвера, когда создается дополнительный фреймбуфер, который синхронизирует frame rate с частотой обновления экрана. И да, он как раз в mesa.

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

«Наверное что-то в иксах не так, но что я не знаю.» (С) Так и запишем

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

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

А… Никогда не замечал. Сейчас проверил — да, если такая фигня. Видимо, мне просто никогда не требовалось делать скриншот с открытым контекстным меню.

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

Иксовый композитинг – полное убожество. Он ощутимо снижает производительность.

С чего это бы?

Насчёт именно производительности не скажу, но вроде в реализации композитинга в Xorg присутствует неизбежная задержка в 1 кадр, увеличивающая input lag?

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

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

Спрашивать у разработчика композитора почему тормозит.

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

но вроде в реализации композитинга в Xorg присутствует неизбежная задержка в 1 кадр, увеличивающая input lag?

Ну и? Композитинг это по сути постэффекты. В OpenGL приложениях обычно даже не один фреймбуфер а с десяток.

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

intel, amdgpu – это иксовые 2d-драйвера. modesetting - позволяет от них отказатся и испольновать напрямую dri и mesa.

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

Дело не только в снимках экрана.

Скажем, если приложение зависло во время отображения контекстного меню, то единственный способ как-то оживить систему — это перейти в терминал через Ctrl+Alt+Fn и прибить зависший клиент оттуда.

Ну и блокировка экрана при открытом контекстном меню не срабатывает, что вообще эпично.

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

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

hateWin ★☆
()

Версию X11R5 портировали под дос, а X11R6 не портировали. Это очень угнетает меня.

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