不是一个真正的“如何解决问题”的问题,但是...我想知道现代 X 架构如何工作,包括 compiz 和所有内容。
我所知道的是:
- 一开始,有 X 服务器,客户端连接(大概在 TCP 上),然后向服务器发送消息以指示它显示窗口等。
- 因为这对 OpenGL 和 3D 加速不起作用(根本不起作用?或者只是不够快?),所以创建了用于直接渲染的附加 API(DRI?以及除了 X 服务器之外,X 客户端还与什么东西通信来渲染内容以及通过什么接口?)
- 最后,进入 Compiz:X 客户端最终(以某种方式)渲染为 OpenGL 纹理,然后将其组合在一起形成一个带有半透明窗口的漂亮屏幕,并渲染到屏幕上。
我特别感兴趣的是系统有哪些组件以及它们如何相互连接?例如...如果系统中有一个标有“compiz”的框...它是在 X 服务器内吗?如果不是,应用程序渲染的图像最终是如何进入其中的?它渲染到哪里?那是另一个 X 服务器吗?还是 DRI?
当然,如果有文档能够消除上述混淆,我也会同样高兴(条件是它们比书本大小的实体短得多)。
答案1
这是一个好文章,可以帮助您。