AMDGPU - 顯示貢獻¶
首先,如果您來到這裡,您可能想要對顯示程式碼做出一些技術貢獻,為此,我們表示感謝:)
本頁面總結了您可以幫助解決的一些問題;請記住,這是一個靜態頁面,最好嘗試聯絡 amdgfx 中的開發人員或一些維護人員。 最後,此頁面遵循 DRM 建立 TODO 列表的方式;有關更多資訊,請檢視“TODO 列表”。
Gitlab 問題¶
使用者可以在以下位置報告與 AMD GPU 相關的問題
通常,我們嘗試向所有新工單新增適當的標籤,以便於過濾問題。如果您可以重現任何問題,您可以透過新增更多資訊或修復問題來提供幫助。
級別:多樣
IGT¶
IGT 提供了許多可以在您的 GPU 上執行的整合測試。 我們始終希望透過大量的測試,以提高我們在 CI 中的測試覆蓋率。 如果您希望為顯示程式碼做出貢獻,但不確定從哪裡入手,我們建議您執行所有 IGT 測試,並嘗試修復在硬體中看到的任何失敗。 請記住,此失敗可能是 IGT 問題或核心問題; 有必要逐案分析。
級別:多樣
編譯¶
修復編譯警告¶
啟用核心編譯中的 W1 或 W2 警告級別,並嘗試修復顯示端的問題。
級別:入門
修復使用 um 架構時的編譯問題¶
Linux 具有使用者模式 Linux (UML) 功能,並且可以將核心編譯為 um 架構。 從測試的角度來看,編譯為 um 可以帶來多重優勢。 我們目前在此領域存在一些編譯問題,需要修復。
級別:中級
程式碼重構¶
為 DC 函式新增字首以改進使用 ftrace 的除錯¶
Ftrace 除錯功能(請檢視“ftrace - 函式追蹤器”)是開發人員嘗試理解錯誤時檢查程式碼路徑的絕佳方法。 當開發人員對程式碼的哪一部分可能導致問題有一些預感時,Ftrace 提供了一種過濾機制,該機制非常有用;因此,如果一組函式具有適當的字首,則可以輕鬆建立良好的過濾器。 此外,字首可以提高堆疊跟蹤的可讀性。
DC 程式碼不遵循某些字首規則,這使得 Ftrace 過濾器更加複雜,並降低了堆疊跟蹤的可讀性。 如果您想做一些簡單的事情來開始為顯示做出貢獻,您可以製作補丁來為 DC 函式新增字首。 要建立這些字首,請使用檔名的一部分作為目標檔案中所有函式的字首。 檢查“amdgpu_dm_crtc.c` 和 amdgpu_dm_plane.c 以獲取一些參考。 但是,我們強烈建議不要傳送更改這些字首的大型補丁; 否則,將難以審查和測試,這可能會引起維護人員的疑慮。 嘗試小步走; 如果有疑問,您可以在投入精力之前進行諮詢。 我們建議首先檢視 dceXYZ、dcnXYZ、basics、bios、core、clk_mgr、hwss、resource 和 irq 等資料夾。
級別:入門
減少程式碼重複¶
AMD 擁有廣泛的產品組合,包括各種 dGPU 和 APU,amdgpu 支援這些產品。 為了保持新的硬體釋出節奏,DCE/DCN 採用模組化設計,從而可以快速啟動新的硬體。 多年來,amdgpu 在程式碼重複領域積累了一些技術債務。 對於此任務,找到一種可以發現程式碼重複(包括模式)的工具,並將其用作減少重複的指導,這將是一個好主意。
級別:中級
使 atomic_commit_[check|tail] 更具可讀性¶
負責原子提交和尾部的函式複雜而廣泛。 特別是 amdgpu_dm_atomic_commit_tail 是一個很長的函式,可以從中受益,將其拆分為更小的助手函式。 非常歡迎在此領域進行改進,但請記住,此領域的更改將影響所有 ASIC,這意味著重構需要全面的驗證; 換句話說,此工作可能需要一些時間進行驗證。
級別:高階
文件¶
擴充套件 kernel-doc¶
許多 DC 函式沒有適當的 kernel-doc; 理解一個函式並新增文件是更多地瞭解 amdgpu 驅動程式的好方法,並且也可以為整個社群留下傑出的貢獻。
級別:入門
超越 AMDGPU¶
AMDGPU 提供了使用者空間中尚未啟用的功能。 本節重點介紹了一些最酷的顯示功能,這些功能可以透過使用者空間開發人員助手啟用。
啟用底層¶
AMD 顯示器具有稱為底層的功能(您可以在“多平面疊加 (MPO)”中閱讀更多相關資訊),旨在在播放影片時節省電量。 基本思想是將影片放在底部的底層平面中,並將桌面放在其上方的平面中,並在影片區域中打一個孔。 此功能已在 ChromeOS 中啟用,並且根據我們的資料測量,它可以節省電量。
級別:未知
自適應背光調製 (ABM)¶
ABM 是一項根據顯示的影像調整顯示面板的背光級別和畫素值的功能。 當系統開始依靠電池供電時,這種省電功能非常有用; 由於這會影響顯示輸出的保真度,因此如果使用者可以開啟或關閉此選項,那將是很好的。
級別:未知
HDR & 顏色管理 & VRR¶
HDR、顏色管理和 VRR 是巨大的主題,很難將這些內容放入簡潔的 ToDo 中。 如果您對此主題感興趣,我們建議您檢視社群開發人員的一些部落格文章,以更好地瞭解一些具體的挑戰和從事該主題的人員。 如果有人想處理某個特定部分,我們可以嘗試提供一些基本指導。 最後,請記住,我們已經為這些領域提供了一些核心文件。
級別:未知