LINUX.ORG.RU

Wayland GBM (А знали ли вы?)

 ,


1

1

Постоянно встречаются вэйланд-нигилисты, которые его собсно, отрицают, ога.

Мне кажется пришло время пояснить за слона в комнате – GBM.

Знали ли вы, что в вейланде всю основную работу выполняет GBM???

Тоесть, представьте, все окна спавнятся сразу в видеопамяти, минуя процессор, если это игры под вайном/SDL, либо программы с современными тулкитами.

И композитинг тоже выполняется в ЖБМ, сразу в видеокарте, тоесть – отрендеренные окна не возвращаются в операривную память…

И даже (ПРЕДСТАВЬТЕ) все программы, даже в оконном режиме, могут использовать все преимущества DRI3.

Подумайте над этим.


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

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

Например, я не могу дискорд запустить в вялом режиме, но есть ведь вебкорд! – и так по всем пунктам. Я могу поставить какие-то форки телеграма например, етц.

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

К слову, вот что пишет инициатор всего проекта Wayland:

What's different now is that a lot of infrastructure has moved from the X server into the kernel (memory management, command scheduling, mode setting) or libraries (cairo, pixman, freetype, fontconfig, pango, etc.), and there is very little left that has to happen in a central server process. ... [An X server has] a tremendous amount of functionality that you must support to claim to speak the X protocol, yet nobody will ever use this. ... This includes code tables, glyph rasterization and caching, XLFDs (seriously, XLFDs!), and the entire core rendering API that lets you draw stippled lines, polygons, wide arcs and many more state-of-the-1980s style graphics primitives. For many things we've been able to keep the X.org server modern by adding extension such as XRandR, XRender and COMPOSITE ... With Wayland we can move the X server and all its legacy technology to an optional code path. Getting to a point where the X server is a compatibility option instead of the core rendering system will take a while, but we'll never get there if [we] don't plan for it.

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

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

Ну, может быть, было бы хорошо, чтобы иксы дальше разрабатывали.

Беда только в том, что развитие иксов, как с Китом Паккардом – часто много чего ломает.

Как видишь, мои сообщения содержат простой посыл: в вейланде некоторые вещи всё ещё не реализованы, но для игрушек другой альтернативы кагбэ нет.

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

Как видишь, мои сообщения содержат простой посыл: в вейланде некоторые вещи всё ещё не реализованы, но для игрушек другой альтернативы кагбэ нет.

Ты продолжаешь это говорить, но ведь все ровным счетом наоборот – в Wayland лютый input lag (https://www.reddit.com/r/linux_gaming/comments/1f6agok/wayland_input_latency/), в Wayland неотключаемый (до недавнего времени) VSync и проблемы с HiDPI из-за XWayland, под которым работает большинство игр.

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

I know you’ve gotten plenty of responses already, but I’d like to throw my hat in: I play almost exclusively rhythm games and fast-paced action games, and Wayland is fine. Compared to an uncomposited X window manager, there is objectively more latency, but it’s not a problem for me, even when playing rhythm games like this, or any action game in my Steam library.

Ну то есть комон, иксы для игрушек быстре чем Wayland.

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

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

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

Для Wine-TkG есть фс-хак патчи, чтобы эту проблему обходить, но бывает их не успевают ребэйсить.

Кроме того, мне нужна не сама скорость игр, а надёжная синхронизация: я играю на 72fps на 144 монике.

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

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

Ага.

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

И это все не имеет к архитектуре ровно никакого отношения, это все баги где-то в стеке. У Wayland ровно та же самая история с fullscreen, это тупо свойство окна.

gaylord
()

могут использовать все преимущества DRI3

DRI – это наследие OpenGL и X11, его уже начали выпиливать: https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests?scope=all&state=merged&search=juiciest+refactor . Поддержку DRI драцверов из Mesa уже убрали. Wayland серверам не нужен никакой DRI, особенно если рендеринг сделан через Vulkan.

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

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

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

Set440
() автор топика

Говорят, пи@#$ы продвигают своих по ступенькам, но цена - ж%^а.
Это я к тому, что вне контекстов - нет смыслов. Воланд, или иксы - все имеет смысл в конкретном контексте жизни. Свободы жизни.

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

А твоя аналогия не менее странная. X у тебя никто не отнимал, то есть из дома не выгонял

Формально да. Но дистрибутивы уже выкидывают иксы. Делать свой дистор исключительно чтобы страдать с legacy это уже будет некоторый упорин.

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

Дистры и классическую систему инициализации выкидывают в пользу systemd. Но находятся те кто делает новый дистр с своей любимой системой инициализации.

Только все это не имеет особого смысла, потому что пердолева больше чем удобства. Есть void, где люди пытаются сохранить дух netbsd, есть alpine, где люди угорают по минимализму. А есть Devuan, который сделан исключительно потому что его авторы не любят systemd. И в этом нет никакой ценности.

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

Но Xwayland, новая эталонная реализация X11, с нами будет ещё очень долго.

Там нет feature parity для тех, кто хочет сетевой прозрачности. Там нет HiDPI для тех, кто хочет чтобы у него нормально программы на новом мониторе рисовались. Там нет глобальных хоткеев для тех, кому они нужны.

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

edid firmware пробовал использовать? Это не прошивка монитора, это фирмварь для ядра, по которой оно режимы ставит
У ядра просто нет нормального интерфейса кастомных режимов кроме EDID, в иксах обычно какие-то обходные пути

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

Однако DRI не отменяет AIGLX
Опять же роблема иксов в том, что протоеол сделали, но никто его др сих пор не обновляет. По стандарту opengl клиент-серверный и упоминает клиент-серверную архитектуру даже в относительно свежих версиях. А AIGLX застрял на голом opengl 1.4 без расширений. Да ещё и где-то в glvnd так накосячили, что iglx на интеле не работает почему-то (на amd пока вроде работает)

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

Для иксов есть композиторы на вулкане, но там есть проблемка несовместимости dri2 инфраструктуры композитинга с вулканом. Когда я пытаюсь получить буффер существующего окна через dri3, он в модификатор пишет 0xFFFFFFFFFFFFFFFF, а вулкан такого не имеет в списке поддерживаемых. Для и полагаю. Что с wayland такая проблема тоже может быть

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

Для этого в композитинге существует glsl программа, скрещивающая z-буффер со стенсильным. Изучи рендеринг в движках, на примере ждалкера скажем или халф-лайф-2 – именно так оно и должно рисоваться, имхо-кмк.

Например, если z-буффер 16-bit grayscale, то это 65536 уровней окон. А содержать кучу стенсильных буфферов не накладно – они однобитные-B/W

Set440
() автор топика
Ответ на: комментарий от thegoldone

Это не имеет значения без приложений. А они все перестали работать с появлением Вялого. Со временем часть починили. Часть так и осталась нерабочей. Конечному пользователю всё равно что там. Если всё перестало работать из-за Вялого – значит Вялый в этом и виноват

Вот ЖТК2 аппы, Tixati и HEX-Chat – норм работают в хвейланде.

Зачем осуждать столь категорично?..

Set440
() автор топика

И даже (ПРЕДСТАВЬТЕ) все программы, даже в оконном режиме, могут использовать все преимущества DRI3.

А нафейхоа всем программам использовать DRI3?

Рисование сраных кнопочек через GPU - это идиотизм, вообще-то.

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

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

В теории, на ChatGPT-5 – их можно переписать на вулкан и раст за 2 месяца, особенно если просто нанять пару фуллтайм-программистов.

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

Читай весь тред: Речь про FakeFullscreen в играх.

И из-за багов в каких-то сраных игрушках надо дальше костылять и так люто костыльный вяленд?

В чём проблема багрепорты игроделам слать - так и так, ваше убогое поделие не умеет в окне работать, чините.

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

Я даже ещё лучше скажу: После сворачивания/разворачивания HZD иксы становятся полумёртвыми, и так 70% игр.

Нафейхоа мне им слать репорты, если иксы просто и банально должны нормально ДЕЛАТЬ ФЭЙКФУЛЛСКРИН. JUST. DO. IT.

https://youtu.be/gJscrxxl_Bg?si=KUcaopZznBN_XEdM

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

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

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

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

Композитор это не игровой движок. для него может оказаться накладно читать два буффера вместе одного. Вот есть окно с альфа-каналом. Оно должно записать в буффер глубины наполовину прозрачный пиксель? А полностью прозрачный? Я знаю как можно реализовать композитор с depth/stencil буфферами, но сомневаюсь, что это будет эффективнее чем проверить перекрытие квадратов и перерисовать затронутую область для всех видимых регионов окон её покрывающих. В целом конечно тайлинг позволит и варианту с depth/stencil быть быстрым, но только в случае полностью непрозрачных окон, а у нас почти везде сейчас тени рисуются

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

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

До тебя не дошёл посыл: игрушки фэйк-фуллскрин могут в иксах работать, но они в таком «оконном режиме» в иксах тормозят.

И то, что они не сворачиваются/разворачиваются ещё и завязанно на вулкан с эмуляцией.

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

До тебя не дошёл посыл: игрушки фэйк-фуллскрин могут в иксах работать

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

Всякие CAD и прочие тяжёлые 3D штуки прекрасно работают в окне, не тормозят, не имеют проблем с другими окнами и не требуют никакого фуллскрина. А игрописатели, почему-то, не могут это осилить.

Stanson ★★★★★
()