Как начать писать композитинг WM?

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

3 ответа

В вашем вопросе две части: 1) Как написать WM 2) Как написать композитный менеджер

Некоторые ссылки, помогающие понять вторую часть (в дополнение к источнику xcompmgr):

Оконный менеджер, "часть первая":

Первым демо-компоновщиком был xcompmgr, который я бы порекомендовал для понимания базовых расширений X.

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

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

Вы можете попробовать qtile, он очень настраиваемый с конфигурацией python (что также упрощает начало работы), вы можете выбирать между wayland и x11, и, несмотря на то, что он написан на python, он очень быстрый

Другие вопросы по тегам