我的主要问题是在X-Server进程内存中运行的一段代码(排除的驱动程序 - 我们都知道可以用不同的方式编写)直接访问GPU卡中的内存?
或者它使用驱动程序和drm,或任何其他接口与GPU通信和排队绘制/渲染/清除/ ...命令?
我知道问题似乎很蹩脚,但我对细节感兴趣?
编辑:
更具体地说:据我所知,内核在驱动程序的帮助下与硬件进行通信,并向其他人公开API(如果我错了请纠正我)。在这种情况下,X-Server可以绕过位于内核中的DMA-API(我只是猜测DMA IO负责与periferials的通信)来与GPU卡进行通信和交换数据(以直接方式 - 没有任何帮助==没有内核,司机,...)?
X-Server与GPU通信的最低要求是什么。我的目标是了解这种沟通是如何在低层次上完成的。
完全有可能在Linux上,给定的X服务器直接作为framebuffer访问部分视频卡内存。它不是最有效的展示方式,但它有效。