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)

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

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

Типичная пользовательская задача.

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

Waybar же

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

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

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

Ты про иксы в книжках читал

Ололо. Я линуксом пользуюсь уже лет 8. Активно пользуюсь вайландом только последний год. Тиринг доводилось видет не один раз. После установки надо либо настраивать thear free, либо запускать композитор. Без композитора или tear free будет тиринг.

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

Спасибо, надо попробовать. Я его сэмерджил но особо в мануалы не вкуривал - по дефолту он оказался какой-то страшненький

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

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

ну это надо было постараться и быть особенно упоротым чтобы пользуясь линуксом всего 8 лет не использовать композитор. Я еще понимаю что в первой слаке с ядром 0.98 с которой я начинал ни о каких композиторах слыхом не слыхивали - но в свежих то дистрах.

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

Будто в иксах можно.

Вообще без проблем. Работает ооочень давно. Хочешь через xrandr, хочешь через конфиг.

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

Тринг в иксах можно словить и под композитором, если, например, смотреть фильмы. В интерфейсе, впрочем, нет.

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

Как я понимаю, достаточно купить дешёвый кабель. Во времена vga, такие фикусы были сплошь и рядом.

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

Кстати - выпадающего терминала под веланд не попадалось? Очень удобная штука , но моя привычная tilda под вейландом работать отказалась. То есть она включается и по первому нажатию даже прячется - но вызвать ее обратно уже не выходит.

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

Не встречал. Ну может если 4к или 8к и можно. С FHD экраном не встречал. А может из-за хардового VAAPI его не видел ни разу.

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

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

Ну вот. Ты пользуешься композитором. И орешь, что проблемы нет. Она есть. У тебя ее решает композитор. Но композитор в иксах, во-первых, не всегда справляется, а во-вторых, он очень тормознутый. На слабом железе его вообще нельзя использовать. Он и на нормальном не очень-то хорошо работает.

ну это надо было постараться и быть особенно упоротым

Вот тебе ситуация. Дефолтный десятый дебиан. При установке выбираю lxde. После установки наблюдаю тиринг. Нет там никакого композитора. А если бы и был – он не всегда помогает избавится от тиринга. И он очень сильно тормозить. На древнем hp g62 нет смысла его использовать. Лучше уж tear free. Это тоже тормозной костыль, но производительность он снижает меньше, чем композитор.

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

А может из-за хардового VAAPI его не видел ни разу.

Может. Кстати, сколько способов вывести видео на экран в иксах ты знаешь? :-)

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

Ты сообщение то читал? У регистранта fullhd ноутбук, и внешний монитор 4к который не подхватывается вейлендом. Ему посоветовали поставить в конфиге ядра указать 4к, которое применится к основному fullhd монитору.

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

guake

заметил еще одну неприятность. Если я открываю терминал под X - то я могу а этом терминале написать команду и программа бодро открывает окошко. Под вейландом же - я открываю терминал из меню (спасает обрубок старой доброй mate-panel - та малая часть что работает) - все норм, даже с учетом иксовости терминала он цепляется к Xwayland сессии и все гуд. А вот если я пытаюсь открыть тот же терминал из терминала просто командой - вот такая ерунда.

xterm: Xt error: Can’t open display: wayland-1

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

В гноме работает этот wlroots? А в кедах?

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

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

Ему посоветовали поставить в конфиге ядра указать 4к, которое применится к основному fullhd монитору.

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

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

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

Юзал комптон с опенбоксом много лет, вообще не знал что такое лаги интерфейса пока софт не начали массово переводить на гтк3. Позже целый год сидел в гноме — лаги стали привычными, притерпелся. В прошлом году перешел на XFCE — никаких лагов, всё летает с --vblank=xpresent. Железо всё то же, что и в 2011.

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

Понятно, есть надежда, что допилят до используемого состояния.

einhander ★★★★★
()

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

Это же давно реализовано, разве нет?

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

Нет конечно, но один раз добавил нужные разрешения и забыл.

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

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

Wayland в большинстве своём использует KMS, поэтому если что и видит монитор неправильно, так это ядро.

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

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

Такой вопрос у intel видяхи есть виртуальные выходы, для которых не назначены ни разрешения, ни частоты. Что должно видеть ядро в таком случае?

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

Ты сообщение то читал? У регистранта fullhd ноутбук, и внешний монитор 4к который не подхватывается вейлендом. Ему посоветовали поставить в конфиге ядра указать 4к, которое применится к основному fullhd монитору.

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

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

А как это сделать без перезагрузки не написал)))

А давайте вы не будете прыгать с темы на тему? Вы начали про «разрешение применится на все мониторы» — я написал, как это решить, указав конкретный видеовыход.

Ну костыль же.

Костыльное решение костыльной проблемы.

Ещё раз: пинайте разработчиков ядра прежде всего. Даже если во все реализации композиторов добавят переключение произвольных режимов, то проблема в ядре-то останется.

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

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

Чтобы написать тулкит нужно чтобы было управление примитивами дисплейного сервера и окнами, иными словами должен быть low-level функционал. В винде он есть в какой-то мере, в том же Android все фичи ОС высокоуровневые, написать фреймворк теоретически можно, но это будет костыльный угар. Со стороны разработчика приложения этого тулкита тоже.

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

Про андроид ничего не могу сказать.

А вот как тогда так вышло, что разработчики тулкитов для Windows используют встроенные средства для отображения шрифтов*, а разработчики тулкитов для Linux хреначат шрифты в растр, лишь бы не касаться XFS?

    • что как раз и позволяет приложениям из 90-х пристойно выглядеть в HiDPI без мыла.
Aceler ★★★★★
()

а к чему относится тема, когда полноэкранное приложение из wine закрываешь, а разрешение X-ов остаётся тем же что у закрытого приложения?

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

Очевидно, что первых «бьют ногами», если они не будут тянуть Легаси (в разумных пределах). На самом деле, всё началось со сглаживания, которое запилили несовместимым с xfs

P.S. вот почему markdown отстой, в asciidoc хотя бы сноски есть.

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

Тринг в иксах можно словить и под композитором, если, например, смотреть фильмы. В интерфейсе, впрочем, нет.

Что за идиотизм вообще? Вы вообще не понимаете как композитор работает? Композитор оперирует окнами. Если у вас есть окно, в котором рендерится кинцо через OpenGL, то композитор будет перерисовывать это окно с включенным V-Sync, не говоря уже о том, что без композитора у OpenGL приложений есть свой V-Sync, а вот как раз у обычного интерфейса нет и всякие программы для просмотра картинок без включенного композитора или TearFree будут тиринговать.

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

в котором рендерится кинцо через OpenGL

Это в Wayalnd ты будешь кинцо рендерить через OpenGL. А сколько способов рендерить кинцо есть в иксах? Я насчитал восемь.

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

займись, мож вся всленная ждет именно твоего героического труда !! :)

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

А вот как тогда так вышло, что разработчики тулкитов для Windows используют встроенные средства для отображения шрифтов*, а разработчики тулкитов для Linux хреначат шрифты в растр, лишь бы не касаться XFS?

В Linux-е обычно используют какой-нибудь freetype для рендеринга шрифтов, причём шрифты рендерятся софтварно и это хорошо. Все попытки отрендерить шрифты аппаратно заканчиваются мыльцом и неотключаемым субпиксельным антиалиасингом, который при наложении эффектов, например, тех же GLSL шейдеров выдаёт артефакты. Вот пример, как мне ради своего приложения пришлось заюзать cairo в QML вместо дефолтного аппаратного рендерера шрифтов. Слева шрифт отрендеренный через cairo, справа - аппаратно с неотключаемым SubPixel AA. Оба шрифта с наложением glow шейдера.

Про XFS я мало знаю, это случайно не какая-то ФС? :P

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

Это в Wayalnd ты будешь кинцо рендерить через OpenGL. А сколько способов рендерить кинцо есть в иксах? Я насчитал восемь.

Я тоже, когда головой ударюсь, вижу 30 пальцев. А видео просто складывается в OpenGL текстуру и выдаётся на экран через OpenGL surface. В mpv и vlc так и работает.

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

а к чему относится тема, когда полноэкранное приложение из wine закрываешь, а разрешение X-ов остаётся тем же что у закрытого приложения?

К багу в wine, который не возвращает разрешение на исходное при закрытии приложения.

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

Про XFS я мало знаю, это случайно не какая-то ФС? :P

XFS - это X Font Server. Был такой сервер шрифтов для раздачи шрифтов по сети.

Изначально, в протоколе иксов предполагалось, что шрифт будет таким же примитивом, как и овал. Нарисуй мне текст «здесь был вася» шрифтом -bitstream-bitstream vera sans mono-medium-r-normal–0-0-0-0-m-0-iso8859-9 в координатах таких-то.

И, в принципе, X сервер мог это дело рисовать хоть программно, хоть аппаратно, хоть с хинтингом, хоть без, хоть в 300 dpi, хоть в 50. Если на X сервере не было нужного шрифта, его можно было бы запросить по сети через XFS — тем достигалось единство шрифтов во всей локальной сети.

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

А потому что так было лучше. ИЧСХ, под виндой такой проблемы не было — там шрифты рисовались всегда операционкой, даже в Qt и в GTK.

Ну в общем, так себе преимущества у X протокола для тулкитописателей. А ExposeEvent тебе как? Тулкитописатели же обожают такие штуки!

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

Да, там в большинстве режимов вывода OpenGL под капотом. И не путайте вывод изображение с декодированием.

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

Ну да, в большинстве, но не во всех. На той же малинке ты имеешь либо слайдшоу, либо ставишь Xv и ловишь тиринг. Либо ставишь специальный костыль именно для легковесных иксов на малинке.

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