為什麼 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 伺服器一樣,仍然依賴圖形硬體。

在此輸入影像描述

相關內容