Не совсем вопрос "как решить вещи", но ... Мне было интересно, как работает современная архитектура X с compiz & all.
Что я знаю об этом:
- вначале был X-сервер, подключались клиенты (предположительно по TCP), а затем отправлял сообщения на сервер, чтобы показать ему окна и т. д.
- потому что это не сработало (вообще? или просто достаточно быстро?) для ускорения OpenGL и 3D были созданы дополнительные API для прямого рендеринга (DRI? и, в дополнение к X-серверу, о чем говорили X-клиенты для рендеринга и через какие интерфейсы?)
- и, наконец, введите Compiz: клиенты X в конечном итоге (каким-то образом) рендерится в текстуры OpenGL, которые затем соединяются, чтобы сформировать причудливый экран с полупрозрачными окнами, и визуализируются на экране.
Что меня особенно интересует, так это то, какие компоненты есть в системе и как они соединяются друг с другом? Например ... если в системе есть поле с надписью "compiz" ... оно внутри X-сервера? Если это не так, как оказанные изображения из приложений оказываются в нем? И где это рендерится? Это еще один X-сервер? Или DRI?
Конечно, я был бы одинаково счастлив, если бы указывал на некоторые документы, способные устранить путаницу, описанную выше (при условии, что они значительно короче, чем объекты размером с книгу).