为什么同时需要x服务器和linux内核的驱动程序?


12

有人可以解释为什么需要两套驱动程序,一套在Linux内核中,一套在X内核中吗?

我知道设备驱动程序位于内核中,但是这些驱动程序在xserver中的作用是什么?

Wayland是否需要此类驱动程序才能运行?

Answers:


15

在内核的整个生命周期中,Linux图形支持一直是一个重大变化。最初,内核仅出于文本模式目的与图形卡通信。那时,X使用其驱动程序来完成所有工作,因此它是一个巨大的内核外部内核。

后来,使用Direct Rendering Infrastructure(DRI),一些用于加速图形功能的代码移到了内核端(称为Direct Rendering Manager,DRM,与数字版权管理无关),从而为3D加速功能提供了一致的抽象接口。

目前,您没有需要有一个内核端DRM模块加载。但是,如果您没有,则您的X会话很可能会退回到软件渲染的3D,这比硬件3D慢得多,而且耗电多。运行glxinfo将显示有关此的信息。

韦兰的故事稍有不同。它位于内核和客户端应用程序之间。对于Wayland,X服务器是另一个客户端应用程序,将其根窗口显示为另一件事。Wayland负责与硬件对话(X与Wayland对话)。由于该项目仍处于开发阶段,因此无法知道最终结果,但据我了解,该项目仍需要3D渲染的内核支持。

从Wayland的架构图中也很明显:左边是现代X桌面的当前状态,右边是建议的Wayland架构师。Wayland合成器将X Server替换为与硬件对话的东西,但它并不能替换内核基础结构-因此您仍然需要适当的内核支持。实际上,考虑到项目的目标,应该将更多的内容移至内核,以实现更好的抽象。像X服务器一样,Wayland仍然依赖于图形硬件。

在此处输入图片说明


题外:您在图表中使用什么软件?这是很不错的。
Rufo El Magufo 2012年

1
我从Wayland Page中提取了两个图表,并将它们与GIMP结合在一起。有许多工具可以很好地生成图表。Graphviz代表全自动解决方案,* TeX和PGF / TikZ代表最高质量,Inkscape如果您想采用手动方式。它甚至可以在GIMP中完成,但是矢量包要容易得多。
Alexios 2012年

pnginfo在源文件上使用过:数据tEXt块表明它是用Inkscape完成的。
Alexios 2012年
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.