讓 AMDGPU 當 amdgpu.dc=1 時輸出 RGB 格式的方法 - Linux

Table of Contents

由於 AMD 目前貌似沒辦法使用 xrandr 切換成 RGB 輸出,
所以 AMD 預設一律是使用 YCbCr444 作為輸出格式,
今天終於在網路上找到了解決方法,所以用 PTT 當作備份,
防止以後忘記怎麼做。

1. 找到 edid 檔的路徑並複製到家目錄

sudo find /sys/devices/pci*/*/*/*/*/*HDMI* -name "*edid*"

2. 從 SourceForge 下載 wxEDID 並安裝(要確保有裝 wxgtk2)

3. 用 wxEDID 編輯剛剛複製的檔案,並編輯以下選項

(1)SPF: Supported features -> vsig_format -> 把 0b01 變成 0b00

(2)CHD: CEA-861 header -> 把 YCbCr420 和 YCbCr444 設成 0

(3)VSD: Vendor Specific Data Block -> 將 DC_Y444 設成 0

4. 選擇面板上的 Option -> Recalc Checksum

5. 儲存

6. 將編輯完的檔案移動到 /lib/firmware/edid/edid.bin

edid 這個資料夾要自己創

7. 編輯 /etc/default/grub

在開機選項後方加上 drm_kms_helper.edid_firmware=edid/edid.bin,像這樣:
GRUB_CMDLINE_LINUX_DEFAULT="quiet amdgpu.dc=1 drm_kms_helper.edid_firmware=edid/edid.bin"

8. sudo grub-mkconfig -o /boot/grub/grub.cfg

9. 重開機

--

All Comments

Kristin avatarKristin2018-04-17
Sandy avatarSandy2018-04-20
Olga avatarOlga2018-04-22
純推分享
Donna avatarDonna2018-04-23
ubuntu 第 8 步改 sudo update-grub 就好