LINUX.ORG.RU

Графический стек Linux

 , ,


1

2

Решил разобраться что к чему с Wayland, да и мир посмотреть, но чего-то многое не понимаю, посему лорчую:

Что можно почитать про графический стек в Linux? Ну хотя бы чтобы понимать взаимосвязь между DRI, KMS, Mesa, X, Wayland... Желательно в цифровом виде и доступно оффлайн.

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

Правильно ли я понимаю:

1. DRI был создан для того чтобы посредством Mesa (реализуя OpenGL) дать приложениям возможность минуя X сервер общаться с видеокартой?

2. AIGLX и Xgl это попытки прикрутить DRI к X'ам, для работы по сети?

3. Как работает WM? Ну скажем у меня в .xinitrc записано openbox-session, делаю startx. Запустился openbox, открываю там пару окошек. Что получается: каждое окно запущенно отдельно на X сервере и openbox мне их все отображает? А если я запущу xcompmgr, то он (xcompmgr) будет эти окна компоновать по принципу работы композитора? Но сказано что раньше была тема с композицией, а сейчас каждому окну все равно выделяется своя «пиксель-карта», тогда вопрос - зачем это надо, если это похоже на случай без композитора?



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

Какие компромиссные решения? А как до AIGLX и Xgl композитные менеджеры работали? Через DRI? А как сейчас, тоже через DRI? Больше вопросов чем ответов :(

Внимательнее перечитай статью, там все предельно ясно написано

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

Немного переформулировал в форме вопросов, в статье конечно говорится, но я не могу что-то уловить связь между клиентом, сервером, DRI и AIGLX.

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

А хотя, кажется понял, DRI в AIGLX не причём получается. Но там сказано что сейчас все равно DRI используется, но как тогда это по сети работает? Или для этого до сих пор используют AIGLX? Или DRI можно по сети реализовать?

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

DRI через сеть не работает, естественно. Есть virtualgl, но там идёт рендер на стороне клиента и на сервер передаётся тупо картинка.

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

Ага, это как раз то, в чем нубьё всегда путается. Здорово разработчики X11 потроллили, «перепутав» сервер и клиент.

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

Да жесть какая-то, сходу разобраться сложно, но вроде понял, AIGLX и DRI получается (да даже из названия) разные способы, но оба используют mesa.

3-й вопрос все равно открыт, про него еще не особо гуглил, если кто-нибудь объяснит будет конечно хорошо.

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

DRI - хрень для доступа к карте. AIGLX - это хрень для пользования opengl. Второе юзает первое.

anonymous
()

WM перехватывает события и делает в ответ определённую хрень. Окна пренадлежат клиентам (кроме рутового, разумеется). WM только отрисовывает окошки.

http://incise.org/tinywm.html

вот тебе WM в 50 строк кода для примера. Там всё подробно расписано.

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

отрисовывает окошки

s/окошки/декорации/, разумеется.

anonymous
()

Запустился openbox, открываю там пару окошек. Что получается: каждое окно запущенно отдельно на X сервере и openbox мне их все отображает?

Да чо он там отображает? Декорации только рисует и map/unmap делает.

А если я запущу xcompmgr, то он (xcompmgr) будет эти окна компоновать по принципу работы композитора?

А вот менеджеры композиции открывают окно поверх всех и на нем рисуют. А ивенты транслируют нижележащим окнам.

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

Нихуя не понел.

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

Нихуя не понел.

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

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

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

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