MIRACLE LINUX 9 + Wayland環境でのEDID固定ガイド

インフラ

1. 定義:Wayland環境におけるEDID固定

EDID(Extended Display Identification Data)固定とは、ディスプレイが持つ解像度やリフレッシュレートの情報をOS側で用意したバイナリファイルで上書きし、認識を安定させる手法です。 Waylandではディスプレイサーバー(Xorg)を介さないため、LinuxカーネルのKMS(Kernel Mode Setting)という機能を利用して、起動時に直接ハードウェア認識を制御します。


2. 要点:設定の重要ステップ

  • OS標準機能での抽出: 外部ツールを使わず、システムファイル(/sys/class/drm/)から直接EDIDバイナリを取得します。
  • カーネルパラメータの適用: grubbyを使用して、特定のDisplayPort(DP)に対してEDIDファイルを紐付けます。
  • 起動イメージへの統合: dracutを使用し、OSがドライバを読み込む前の段階でEDIDを認識できるようにします。
  • NVIDIA特有の動作: RTX 4000 Adaなどの最新カードでは、nvidia-drm.modeset=1の設定が前提となります。

3. 比較:X11とWaylandでの設定の違い

項目X11環境(旧方式)Wayland環境(MIRACLE 9)
設定場所/etc/X11/xorg.confカーネルブートオプション
反映のタイミングGUIログイン画面起動時OSカーネル初期化時
ドライバ依存Xドライバの設定に依存カーネルKMS機能に依存

4. 具体例:RTX 4000 Adaでの設定手順

DisplayPort接続を想定した、MIRACLE LINUX 9での最短設定手順です。

手順1:既存のEDIDをファイルとして保存

現在認識されているモニター情報を、OSのシステムディレクトリから直接コピーします。

# ポート名を確認(例:card1-DP-1)
ls /sys/class/drm/

# EDIDをバイナリとして抽出
sudo mkdir -p /usr/lib/firmware/edid
sudo cat /sys/class/drm/card1-DP-1/edid > /usr/lib/firmware/edid/custom_edid.bin

手順2:ブートパラメータの更新

grubbyツールを使用して、NVIDIAドライバの設定とEDIDのパスをカーネルに伝えます。

# DP-1ポートに適用する場合の例
sudo grubby --update-kernel=ALL --args="nvidia-drm.modeset=1 drm.edid_firmware=DP-1:edid/custom_edid.bin"

手順3:initramfs(dracut)の再構築

起動時の極めて早い段階でEDIDを読み込ませるため、設定をOSの起動イメージに含めます。

# dracut用の設定ファイル作成
echo 'install_items+=" /usr/lib/firmware/edid/custom_edid.bin "' | sudo tee /etc/dracut.conf.d/99-edid.conf

# 起動イメージの更新
sudo dracut -f

5. 注意事項

最新GPUでは、内部のGSPファームウェアがOSの設定と競合する場合があります。 もし再起動後に設定が反映されない場合は、カーネルパラメータに nvidia.NVreg_EnableGpuFirmware=0 を追加して、制御方式を従来型に切り替えることを検討してください。

コメント

タイトルとURLをコピーしました