一年多來,英特爾一直致力於開發 Xe Linux 內核圖形驅動程序,作為 Gen12 和更新的集成/獨立圖形的現代直接渲染管理器驅動程序。對於最近的硬件,這是為了替換現有的 i915 內核驅動程序的使用。英特爾開源開發人員繼續努力實現能夠將此驅動程序提交到上游 Linux 內核中的主線的里程碑。
與過去 20 年有機構建的 i915 內核驅動程序相比,英特爾的相關工程師能夠通過 Xe 內核圖形驅動程序採用全新的設計方法。使用 Xe 驅動程序,他們只支持 Gen12 和更新版本,因此他們無需擔心較舊的英特爾圖形硬件世代,他們可以專注於利用現代內核功能,並且使用他們的用戶空間 API,他們不需要擔心與現有 i915 uAPI 限制/挑戰的向後兼容性。
本週,英特爾 Linux 工程師發布了他們最新的 Xe 驅動程序合併計劃。
目前,Xe 驅動程序被認為是功能性的,並且具有對 Tiger Lake 和更新版本的“實驗性”支持。一旦驅動程序被上傳到內核中,計劃是在 i915 中保持對 Gen12+ 的支持。 Xe 驅動程序將通過 force_probe 模塊參數選擇加入,同時可以類似地禁止 i915 驅動程序加載給定 GPU。因此,對於幾個版本或 Xe 驅動程序證明自己需要多長時間,用戶可以手動切換到 Xe 以幫助測試支持。
事實上,合併計劃指出,對於對於當前發布的 Intel 硬件,i915 可能會無限期地繼續作為默認設置:“為了避免用戶空間回歸,i915 將繼續支持已經脫離此保護的所有當前平台。Xe 支持將永遠處於試驗階段並依賴於在這些平台上使用 force_probe。”
驅動程序開發人員在合併 Xe 之前的目標之一是整理 DRM 調度程序更改、要上游的 GPU 虛擬地址映射更改、DRM_VM_BIND、異步 VM_BIND、用戶指針“userptr”集成和 VM_BIND 支持,更好地處理長時間運行的計算工作負載。開發人員還希望與 i915 驅動程序和 devcoredump 基礎設施更好地集成/共享顯示代碼以報告錯誤狀態。
同時,英特爾開源工程師一直在為他們的 Mesa 驅動程序以及他們的 OpenCL 和零級計算運行時堆棧添加 Xe 內核驅動程序兼容性。英特爾 ANV Vulkan 和 Iris Gallium3D/OpenGL 驅動程序與 Xe 的兼容性有望用於 Mesa 23.2,因此一旦該驅動程序確實成為主流,用戶空間支持就已準備就緒。
那些對 Xe 驅動程序上游的最新努力和計劃感興趣的人可以看到 他們最新的合併計劃。希望我們能夠在今年晚些時候看到 Xe 驅動程序以實驗形式加入到 Linux 內核中。