AMD 專注于對(duì)在 Linux 中運(yùn)行的 RDNA 3 GPU 進(jìn)行各種驅(qū)動(dòng)程序改進(jìn)
AMD 在發(fā)布基于 RDNA 3 架構(gòu)的新 Radeon RX 7900 GPU 時(shí),讓 Linux 用戶無法獲得強(qiáng)大的圖形支持。圖形內(nèi)核很舊,在啟動(dòng)期間沒有為用戶準(zhǔn)備更新的固件?,F(xiàn)在,工程師們開始通過新發(fā)布的固件更新將注意力轉(zhuǎn)移到對(duì) RDNA 3 的支持上,允許用戶在 AMDGPU 驅(qū)動(dòng)程序崩潰時(shí)依賴固件中的幀緩沖區(qū)。

AMD 工程師 Mario Linomciellow 致力于當(dāng)前的補(bǔ)丁,概述并解釋了該過程的工作原理以及如何解決該問題。AMD 研究員解釋說,KMS 驅(qū)動(dòng)程序最初通過代碼“drm_aperture_remove_conflicting_pci_framebuffers”從系統(tǒng)中破壞固件幀緩沖區(qū)。因此,如果顯卡未檢測(cè)到,則在調(diào)用 KMS 驅(qū)動(dòng)程序時(shí)用戶會(huì)收到一個(gè)凍結(jié)的屏幕,尤其是在引入對(duì) GPU 的新支持時(shí)。這是因?yàn)橛脩舯仨毶?jí)到更新版本的 Linux 內(nèi)核以配合最近的更改。
由于“IP 發(fā)現(xiàn)”的遷移,AMDGPU 進(jìn)一步導(dǎo)致問題成為問題。IP 發(fā)現(xiàn)導(dǎo)致 AMDGPU 嘗試從公司中拉出所有 GPU 以尋找正確的驅(qū)動(dòng)程序,如果塊中缺少支持,這將減慢(如果不是凍結(jié))系統(tǒng)的速度。
Linomciellow解釋了最近的 Ubuntu 21.10 的情況:
完美的例子是 Ubuntu 21.10 和 AMD 剛剛推出的新 dGPU。安裝介質(zhì)隨內(nèi)核 5.19(具有 IP 發(fā)現(xiàn))一起提供,但對(duì)這些 IP 塊的 amdgpu 支持在內(nèi)核 6.0 中登陸。配套的 Linux 固件在 21.10 發(fā)布后發(fā)布。
如果沒有 nomodeset,屏幕將凍結(jié)。即使用戶設(shè)法安裝并在安裝后升級(jí)到內(nèi)核 6.0,他們?nèi)匀粫?huì)遇到缺少固件和相同體驗(yàn)的問題。
這對(duì)用戶來說是相當(dāng)不和諧的,特別是如果他們不知道他們必須使用“nomodeset”來安裝。為了解決這種情況,允許驅(qū)動(dòng)程序在失敗的探測(cè)期間重新運(yùn)行固件幀緩沖區(qū)的初始化進(jìn)程。由于此問題在 amdgpu 中最為明顯,因此這是唯一更改的驅(qū)動(dòng)程序。但如果這對(duì)其他 KMS 驅(qū)動(dòng)程序更普遍,則也可以將調(diào)用添加到清理例程中。
Phoronix網(wǎng)站的 Michael Larabel今天發(fā)現(xiàn),圖形后端的 AMD Linux 工程師要求為 Linux 驅(qū)動(dòng)程序請(qǐng)求 RDNA 3 用戶模式圖形隊(duì)列。

希望開始支持 Raden RX 7000 GPU 系列及更高版本。這將影響 AMDGPU Linux DRM 驅(qū)動(dòng)程序,并允許“從用戶空間圖形上下文直接提交工作負(fù)載,這將允許為 AMD 獨(dú)有的多個(gè)應(yīng)用程序和游戲以及全屏場(chǎng)景提高性能和增強(qiáng)圖形管理。Larabel 指出,AMD ROCm 計(jì)算堆棧已經(jīng)允許類似的功能。