为什么 x 服务器和 Linux 内核都需要驱动程序?

为什么 x 服务器和 Linux 内核都需要驱动程序?

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

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

Wayland需要这样的驱动程序才能运行吗?

答案1

在内核生命周期的大部分时间里,Linux 图形支持一直是一个严重变化的事情。最初,内核仅出于文本模式目的与显卡对话。那时,X 使用它的驱动程序来做所有事情,所以它作为一个巨大的内核外内核运行。

后来,与直接渲染基础设施 (DRI)中,一些加速图形功能的代码移至内核端(称为直接渲染管理器,DRM — 与数字版权管理无关),为 3D 加速功能提供一致的抽象接口。

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

韦兰是一个故事略有不同。它位于内核和客户端应用程序之间。对于 Wayland,X 服务器是另一个客户端应用程序,将其根窗口显示为另一件事。 Wayland 承担与硬件对话的职责(X 与 Wayland 对话)。由于该项目仍在大力开发中,因此无法知道它最终会在哪里,但我的理解是它仍然需要内核对 3D 渲染的支持。

从 Wayland 架构图中也可以看出:左边是现代 X 桌面的当前状态,右边是建议的 Wayland 架构。 Wayland 合成器取代了 X Server 作为与硬件对话的东西,但它并没有取代核心基础设施——所以你仍然需要适当的内核支持。事实上,考虑到该项目的目标,更多的东西应该转移到内核以获得更好的抽象。 Wayland 与 X 服务器一样,仍然依赖于图形硬件。

在此输入图像描述

相关内容