看板 Linux 關於我們 聯絡資訊
不久前我其中一篇發文內有提到 HDMI 只能輸出左聲道的問題, 因為 TV EDID 無法正常傳送給電腦,所以必須套用其他 EDID, 這狀況困擾了我好幾年,MPV 播放影片只能夠強迫輸出單聲道, 否則影片對白音量會過小,特效音量過大,不管哪個桌面皆是, 也嘗試過在 PulseAudio 與 PipeWire 與 ALSA 之間切換使用, 最終心力交瘁失敗收場,但前幾天被我運氣好找到解決的方式。 1. 複製另一臺螢幕的 EDID 檔至家目錄並命名 edid.bin $sudo find /sys/devices/pci*/*/*/*/*/*HDMI* -name "*edid*" $sudo cp <屬於您輸出裝置的 edid> ~/edid.bin 2. 在 /lib/firmware/ 下自創 edid 資料夾 $sudo mkdir /lib/firmware/edid 3. 複製 EDID 至 /lib/firmware/edid/ $sudo cp ~/edid.bin /lib/firmware/edid/ 4. 編輯 /etc/default/grub,在 kernel command line 加入選項 $sudo vim /etc/default/grub 找到 GRUB_CMDLINE_LINUX_DEFAULT="" 在 "" 內加入 drm.edid_firmware=edid/edid.bin 5. sudo grub-mkconfig -o /boot/grub/grub.cfg 6. 重開機 以上步驟結束後可能會有用,但下次電腦、電視重開後就會失效。 以下就是我暫時解決的方法,只能說這到底是什麼智障 bug! 1. 同樣編輯 /etc/default/grub,將先前設定的 edid.bin 改成內建 EDID 找到 GRUB_CMDLINE_LINUX_DEFAULT="" 將 drm.edid_firmware=edid/edid.bin 更改爲 drm.edid_firmware=edid/1920x1080.bin 2. 如先前一樣,更新 grub.cfg 後重開機 這時會發現只有畫面能正常輸出,HDMI 音效輸出完全失效。 3. 編輯 /etc/default/grub 將剛剛設定的 1920x1080.bin 改回 edid.bin 4. 更新 grub.cfg 重開機 5. DONE 四處求救找不到方法,結果卻因為這種蠢方式意外發現解法…… -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.33.200.176 (臺灣) ※ 文章網址: https://www.ptt.cc/bbs/Linux/M.1637730898.A.4AA.html
OrzOGC: 不考慮加入linux開發者群? 11/26 12:58
Bencrie: 你有把 edid.bin 塞進 initramfs 嗎 11/26 21:02
s9209122222: 怎麼塞,求解 11/26 22:48
s9209122222: 照 Archwiki 文件是說改 grub 內參數就好了呀 11/26 22:49
Bencrie: 我是不知道指定 edid 會什麼時候 load 起來 11/27 17:35
Bencrie: 但是如果 drm/kms 有在 initramfs 的話應該是要跟著進去 11/27 17:35
fourdollars: 可以先用 edid-decode 檢查一下 EDID 的內容 12/08 11:37
fourdollars: 參考 EDID 規範 https://bit.ly/3lK3Td9 看問題在哪 12/08 11:39
shadowjohn: 有點意思 12/25 15:14