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)

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

Не говоря о том, что в нем половина софта не работает без встроенной иксовой лошадки

Это не проблема вайланда. По большей части это проблема старого софта. И XWayland в большинстве случаев работает хорошо. Если бы его не было, такие как ты орали бы, что проклатые вайландофилы ломают совместимость со старым софтом

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

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

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

Бугага. Три страницы обсуждают какие-то костыли вялого. Потом: покажи хоть один! С сектантами ещё спорить. Вот это чучело уже всё разжевало. Оно из ваших, но реально пишет под говняйленд, а не только надрачивает на него. Поэтому ему не очень весело.

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

Первая проблема вэйленда только в одном - вэйленд не замена иксам 1:1, как pipewire замена pulseaudio. Нет срачей pipewire vs pulseaudio и не будет по этой причине. Вторая то, что вэйленд продавливают админресурсом.

Был бы вэйленд как кубик - вынул иксы поставил вэйленд и все работает, никто бы и слово не сказал.

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

Он имеет в виду это: https://dudemanguy.github.io/blog/posts/2022-06-10-wayland-xorg/wayland-xorg.html — но поскольку компетенцией оценить адекватность написанного не обладает, то предлагает опираться исключительно на доверие к авторитету данного товарища, контрибьютора в mpv.

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

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

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

менять 1:1 - тупиковый путь, и слава Богу, что им не пошли, потеря времени. Админресурс выбирает то, что проще разрабатывать и мейнтейнить, какой-то конспирологической злонамеренности там нет.

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

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

Ну ладно, пожождем лет 50 пока вяленд допилят до уроаня жигулей.

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

Что, опять будем по N-ному кругу пережёвывать?

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

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

Верните старый ресайз как в GTK2/Qt, который не артефачит так сильно при плавном изменении размера окна.

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

В этом треде противники иксов не родили ничего, кроме общих слов

Пофиксил, не благодари.

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

менять 1:1 - тупиковый путь, и слава Богу, что им не пошли, потеря времени.

Просто банально дешевле.

Админресурс выбирает то, что проще разрабатывать и мейнтейнить

Ну так и выбрали гном. А все остальные етитесь как хотите.

einhander ★★★★★
()

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

Жрёт оперативку, грозятся что закопают

Какие для Вас самые важные недостатки Wayland?

Жрёт оперативку, мало адаптированного софта

На этом вопросе могу ставить точку как пользователь Raspberry Pi 3.

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

Ахахахахаха, кровавый энтерпрайз с тобой не согласен.

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

Это не отменяет того что вейленд за это время не решит своих проблем.

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

менять 1:1 - тупиковый путь, и слава Богу, что им не пошли, потеря времени.

Тем временем, автор Pipewire, который реализовал поддержку libpulse, libjack параллельно добавляя новые фичи be like:

https://imgur.com/a/bQ36qoP

… и сделал это за 2 года.

Админресурс выбирает то, что проще разрабатывать и мейнтейнить, какой-то конспирологической злонамеренности там нет.

Менеджеры редхата решили, что должен существовать только GNOME, а остальное не нужно.

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

На этом вопросе могу ставить точку как пользователь Raspberry Pi 3.

Wayland жрёт оперативку и VRAM. Могу ставить точку как пользователь AMD Ryzen 5 5600X и NVidia RTX 3060 Ti.

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

Через несколько лет произойдет полный переход на вайланд

Нет времени на раскачку!

Skullnet ★★★★★
()

Сколько пользую иксы - и вот ни разу тиринга не видел. Вот уже ради интереса даже в конфиге amdgpu прописал Option «TearFree» «false» - и всеравно ни разу не видел тиринга, прямо как Венечка Кремля. Каждый раз когда собираюсь на него на тиринг этот посмотреть - попадаю прямиком на курский вокзал, то есть все работает плавно быстро и красиво. Даже без хереса. А если с хересом - то вообще волшебно. И даже с аппаратным видео в лисе.

Вангую 28 голосов за тиринг тиснули фанатики вяленда, которые икса в силу малолетства своего не видели, а в линукс пришли случайно установив красну шапку приняв ее за виндуз 13.

И сидят в школе за партой и мрачно бубнят мантру тиринг-тиринг-тиринг…

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

Иксы в принципе устраивают, потому что просто работают. Правда кодовая база (особенно API) оставляет желать лучшего, несмотря на недурную документацию.

pericles ★★
()

На мой взгляд, самый актуальный минус - устаревшие средства удалённой работы: X11-forwarding в чистом виде просто непригоден для использования вне локальной сети; решения как x2go и xrdp не дают удалённо продолжить начатый на локальной машине сеанс и не имеют видеокодеков, а ещё тянут за собой проблемы с раскладками клавиатуры.

eugrus ★★★★★
()

Я пользуюсь преимущественно софтом WineAPI. Перейду на Wayland (без XWayland) только когда и если Wine-wayland наконец будет работать без особых проблем.

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

x2go вроде бы как умеет. Ну на крайняк есть x11vnc.

Если хочется видеокодеков, то sunshine/moonlight или steamlink позволит насладиться видеокодеками. Для хорошего видео нужен хороший канал.

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

На мой взгляд, самый актуальный минус - устаревшие средства удалённой работы: X11-forwarding в чистом виде просто непригоден для использования вне локальной сети

Это ещё почему?

решения как x2go и xrdp не дают удалённо продолжить начатый на локальной машине сеанс

В смысле? Я когда запускал сессию под xrdp, когда отключался, сессия продолжала работать.

и не имеют видеокодеков

Это типа на сервере сжимать в h.264, например? Это нужно чтобы сервер и клиент это умел, причём аппаратно иначе смысла нет - это будет тормозиловка на процессоре. А ещё вы не знаете некоторых людей, которым сжатие не даёт покоя, потому что «артефакты и из-за этого текст не читаем» (С).

а ещё тянут за собой проблемы с раскладками клавиатуры.

Не замечал.

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

В смысле?

Он про аналог rdp, на виндах открытые локально приложения остаются открытыми в удаленной сессии. В x2go запускается новая сессия под тем же пользователем, и к ней можно подключаться удаленно 100500 раз. Мне наверное 1 раз потребовался доступ к именно открытой графической сессии, x11vnc на ура решил эту задачу. Если нужно быстрое 3д удаленное то virtualgl+vncturbo покрывают весь спектр задач удаленного доступа.

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

Я уже сказал что это говноограничение, причём мудацкое и автор статьи это понимает

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

Ещё раз, что мешает автору установить swap interval в 0, избежав тем самым блокировки при eglSwapBuffers()?

Верните старый ресайз как в GTK2/Qt, который не артефачит так сильно при плавном изменении размера окна.

Ох сколько соломки подложили! Знаете ведь, что мне ничего не стоит показать видео, где приложение на Qt ещё и похлеще артефачит при этом.

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

О, отлично.

Wayland жрёт оперативку и VRAM.

А кто не жрёт? Назови мне софтину где есть нормальное продуманное управление памятью и она не сделана в виде мешанины кода без говнокода?

Aceler ★★★★★
()

Чтобы понять, что Иксы устраивают - понадобилось изобрести Вейланд =)

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

Не замечал.

Этот аргумент мне тоже нравится, сохраню.

Проблемы у Wayland? Не замечал.

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

В иксах решение не лучше: бесконечно расширять буфер не доставленных сообщений, пока не произойдёт одно из:

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

  2. Клиент так и не очнётся, и буфер продолжит расти до OOM.

    По идее, так клиент может положить X-сервер, посылая самому себе постоянно кучу сообщений, но не извлекая их из очереди, в результате чего та будет увеличиваться, пока очередной realloc() не споткнётся об overcommit.

Ну и да: к архитектуре всё это имеет весьма опосредованное отношение.

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

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

Возможно, вам повезло, и у вас его нет. Но вот я взял свой старый ноутбук, запустил там Xfce и получил: https://drive.google.com/file/d/1NYYf9fpB-rYT5DDtuYwOW0VeL2U6LyJg/view?usp=share_link

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

В иксах без композитора были 2д ускорение окон, курсора и видеооверлей без тиринга.

Когда вместо аппаратного ускорения с буферизацией все перевели на 3d, понадобились композиторы.

Но была хорошая попытка - glamor. К счастью, на amd он работает.

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

TearFree тоже снижает производительность. Но не так сильно, как композитинг

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

Вон та же винда до сих пор тащит

Ну. А X не тащит.

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

Вы ни в зуб ногой в том, о чём говорит автор, но поскольку он так же, как и вы, выступает против Wayland

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

Ещё раз, что мешает автору установить swap interval в 0, избежав тем самым блокировки при eglSwapBuffers()?

И тем самым получить тиринг, с которым всеми силами борятся сторонники вяленда?

Ох сколько соломки подложили! Знаете ведь, что мне ничего не стоит показать видео, где приложение на Qt ещё и похлеще артефачит при этом.

Qt намного меньше артефачит чем GTK3. А GTK3 артефачит всегда, даже если не спамить запросами на рефреш UI.

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

Практически нерабочая сетевая прозрачность.

Ты в прошлом треде как-то слился, спрошу ещё тут: а сделали ли для этого вашего вейланда rdp-сервер или просто сервер для удалённого управления, который бы работал на всех композиторах, а не только в гноме или только в wlroots? Для иксов я знаю как минимум xrdp, который работал со всем, что я ему скармливал.

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