トップ «前の日記(2024-10-28) 最新 次の日記(2024-11-15)» 編集

Orz日記 by Akio Morita

ToDo:

  • 15 SAD Fit[]回りの障害事例の解析
  • 10 smart pointer版PEGクラスの再実装(Left Recursionまわり)
2006|03|04|05|06|07|08|09|10|11|12|
2007|01|02|03|04|06|09|10|11|12|
2008|01|02|03|04|05|06|07|08|09|10|11|12|
2009|01|02|03|04|05|06|07|08|09|10|11|12|
2010|01|02|03|04|05|06|07|08|09|10|11|12|
2011|01|02|03|04|05|06|07|08|09|10|11|12|
2012|01|02|03|04|05|07|08|09|10|11|12|
2013|01|03|04|05|06|07|08|09|10|11|12|
2014|01|02|03|04|05|06|07|08|09|10|11|12|
2015|01|02|03|04|06|07|08|10|12|
2016|01|02|03|05|06|08|10|11|
2017|01|02|03|04|05|06|07|09|10|11|12|
2018|01|02|03|04|06|07|08|09|10|11|12|
2019|01|03|04|05|07|08|09|10|11|12|
2020|01|02|03|04|05|06|07|08|09|10|11|12|
2021|01|02|03|04|05|06|07|08|09|10|11|12|
2022|01|02|03|04|05|06|07|08|09|10|11|12|
2023|01|02|03|04|05|06|07|08|09|10|11|12|
2024|01|02|03|04|05|06|07|08|09|10|11|

2024-11-06 [長年日記]

_ [FreeBSD]4K 120Hz/144Hzモード

3840x2160 144Hz対応モニタ(BenQ EX321UX)・HDMI2.1対応KVM環境を構築したので、ぬるぬるスクロールを目指してFreeBSD + nvidia-driver環境でも 120/144Hzを試してみたメモ

  • GT1030(DP-HDMI変換アダプタ経由) + nvidia-drm-61-kmod-550.127.05_1
    • xrandr(EDID)の3840x2160は、60Hzまで (DP接続の公式スペックが 4K 60Hzまでなので想定通り)
  • RTX4070SUPER(HDMI2.1接続) + nvidia-drm-61-kmod-550.127.05_1
    • nvidia-settingのDisplay Device Informationには、Signal: HDMI FRL, Connection Link: Singleと表示 (HDMI2.1接続)
    • xrandr(EDID)の3840x2160に 100, 120, 144Hz有り
      • nvidia-settingから、120Hzへ切り替え・画面表示確認
      • nvidia-settingから、144Hzへ切り替え・画面映らず/15秒後自動復帰(default設定の不備)
        • /var/log/Xorg.0.logでは、EDID HorizSyncは15.000-255.000 kHzと報告されるが、EDID内の3840x2160 144HzモードはHorizSync 325.873 kHzと報告されている (Range Checkで排除された模様)
          • Screen sectionにて、HorizSyncオプションにて明示的にを15-325.873と記述したら、144Hzに切り替えられるようになった
        • EDID取得のHorizSync上限が255になっていることから、EDIDが間違っているのではなく表現域の上限に当たっている気がする
          • EDID Display Range Limits Descriptorの仕様を流し読みした範囲では、Horiz Sync Min/Maxはそれぞれ 8bitで1〜255を表現、修飾ビット2bitでMin/Maxにオフセット255加える仕様なので、nvidia-driverドライバがデコードし損ねてる?
    • xdm/XorgでKVM非選択状態での起動に関して
      • 3840x2160 120/144Hz設定だと、nvidia-modeset: WARNING: GPU:0: HDMI FRL link training failed.が発生し、KVMを選択しても画面が写らない (KVMが答えるDisplay EDID自体は認識している)
        • KVM選択後、Ctrl+RでXorgを再起動すると問題なく映る状態になる
        • HDMI FRL接続確立時に、トレーニング信号で通信するモニタが必要な模様… (HDMI FRL確立後は、KVMを切り替えても問題は起きない)
      • 3840x2160 60Hz設定だと、HDMI2.0互換のTDMS接続で立ち上がり、KVM選択後問題なく映る
        • nvidia-settingで120/144Hzに切り替えた時点で、HDMI FRL接続に移行する
  • RTX A400(DP-HDMI変換アダプタ経由) + nvidia-drm-61-kmod-550.127.05_1
    • xrandr(EDID)の3840x2160に 100, 120, 144Hz有り (144Hzが入るかは、DP-HDMI変換アダプタに依存)
    • X.orgにて、100, 120, 144Hzは写らない (モニタ側ではNo signal扱い)
      • nvidia-settingのDisplay Device InformationにはDisplayPort 4lanes @ 5.40Gbpsと表示されているので、DP1.2で認識されている?
  • RTX A400(DP1.4ケーブル経由) + nvidia-drm-61-kmod-550.127.05_1
    • xrandr(EDID)の3840x2160に 100, 120, 144Hz有り (DP2.1・144Hz対応モニタなので当然なのだが)
    • X.orgにて、100, 120, 144Hzは写らない (モニタ側ではNo signal扱い) RTX4070SのHDMI出力なら120Hz普通に映るのに何故 Orz

試験したRTX A400について

  • ASK扱いのRTX Quadroシリーズの Ampere/GDRR6 4GB/1スロット/miniDP1.4a x4なカード
    • 国内流通では、ELSA扱いのカードもあるが、同一基盤?
    • X.orgで4K120Hzが確認済みのRTX 4070SUPER(Ada Lovelace・DP1.4a x3 + HDMI2.1a x1)の一世代前のGPU
    • カタログには、miniDP1.4にて 4096x2160 @ 120Hzでの 4画面出力をサポートするとあるので、DisplayPortなら3840x2160 120Hzは問題なく動くはず
  • DP1.4接続時は、カード付属の純正miniDP-DPアダプタ + Elecom DP1.4ケーブル
  • DP-HDMI変換アダプタは二種類試験
    • EDIDに144Hzが出る構成 - カード付属の純正miniDP-DPアダプタ + MCO DP1.4-HDMI2.1アダプタ(8K60Hz/4K120Hz対応)
    • EDIDが120Hzまでの構成 - CableMatters miniDP to 8K HDMI Adapter (101101-BLK)
  • まだWindows機には挿してないので、Windows11での動作は未確認

EDID Display Range Limits Descriptor(EDID HorizSync)の考察

  • 規格的には、Maximum Horiz SyncはkHz単位で1〜255と256〜510の表現モードがある (8bit整数値 + 1bitフラグで表現)
  • RTX4070SUPER(HDMI2.1接続)にて、Dual bootのWindows11は問題なく144Hz設定が出来ている
    • X.orgでは、nvidia driver 550の検出するEDID HorizSyncは、15-255kHzと報告され、3840x2160 144HzモードはHorizSync検査で無効モードになる模様 (HorizSyncのoverrideで問題なく動作するようになる)
  • EDID Maxmum HorizSyncが 255になっている件への仮説
    • EDID Display Range Limits Descriptorの記述が正しくない(Display firmware側のバグ)が、Windows11は無視して動いている
    • nvidia driver 550が、EDID Display Range Limits Descriptorのデコードに失敗している(nvidia driver側のバグ)
    • nvidia driver 550のMax HorizSyncの内部表現が8bitで最大値に丸められている(nvidia driver側の高リフレッシュレートサポートの不足)

追試(1)

  • RTX4070SUPER(DP-HDMI変換アダプタ経由HDMI2.1接続) + nvidia-drm-61-kmod-550.127.05_1
    • 使用アダプタは、(株)ミヨシのDP-HDA8K1/BK-A
    • nvidia-settingのDisplay Device Informationには、Signal: DisplayPort, Connection Link: 4 lanes @ 5.40Gbpsと表示 (DP1.2接続)
    • xrandr(EDID)の3840x2160に 100, 120, 144Hz有り
    • nvidia-setting上から、120・144Hz設定に問題なく切り替え可能
      • /var/log/Xorg.0.logではEDID HorizSyncは15.000-255.000 kHzと報告されている (HDMI2.1接続時と同様)
      • 追加の設定無しに144Hzに切り替えられた (HDMI2.1接続時と挙動が異なる/DPとHDMIでnvidia driver内のモード検査が異なる?)
      • AllowGSYNCCompatible=Onディレクティブを付与しても、G-SYNCが有効にならない
    • 当該DP1.2-HDMI2.1アダプタは、4K 144Hzで映せることが確認出来た

追試(2)

  • RTA A400(同梱miniDP-DPアダプタ + DP-HDMI変換アダプタ経由HDMI2.1接続) + nvidia-drm-61-kmod-550.127.05_1
    • 使用DP-HDMIアダプタは、追試(1)で用いた(株)ミヨシのDP-HDA8K1/BK-A
    • nvidia-settingのDisplay Device Informationには、Signal: DisplayPort, Connection Link: 4 lanes @ 5.40Gbpsと表示 (DP1.2接続)
    • xrandr(EDID)の3840x2160に 100, 120, 144Hz有り
    • nvidia-setting上から、120Hz設定に一度だけ切り替え成功 (起動直後?)
      • 120 → 144Hzに切り替え失敗後の120Hz復帰後にブラックアウト、Xorg再起動後も120Hzへの切り替えは成功しない(画面暗転のまま)
      • miniDP-DPケーブルを挟んだ動作が不安定? (当該DP-HDMIアダプタは、RTX4070SUPERとの組み合わせで144Hzまで動作確認済み)
      • miniDPポートは他3ポートあるので、ポートの個体差の可能性は?
        • コネクタ並び順とnvidia driverが識別する出力番号が綺麗な並びになっていないので、設定変更が面倒… Orz

追試(3)

Windows11機 + RTX A400 on x16 slot(Nvidia driver 553.24)での3840x2160での動作検証 ... 普通に動く模様

  • RTX A400 + CableMatters miniDP to 8K HDMI Adapter (101101-BLK) + HDMI2.1 KVM
    • リフレッシュレートメニューは120Hzまで (Xorg上の動作と同様)
    • G-SYNCの設定メニューは現れない
Mode Rate 表示 備考
RGB/SDR 60 default 動作
RGB/HDR 60 10bitRGB動作
RGB/SDR 120
RGB/HDR 120 10bitRGB動作
  • RTX A400 + 同梱miniDP-DPアダプタ + MCO DP1.4-HDMI2.1アダプタ + HDMI2.1 KVM
    • リフレッシュレートメニューは144Hzまで (Xorg上の動作と同様)
    • G-SYNCの設定メニューは現れない
Mode Rate 表示 備考
RGB/SDR 60 default 動作
RGB/HDR 60 10bitRGB動作
RGB/SDR 120
RGB/HDR 120 10bitRGB動作
RGB/SDR 144
RGB/HDR 144 10bitRGB動作
  • RTX A400 + 同梱miniDP-DPアダプタ + DP1.4ケーブル
    • リフレッシュレートメニューは144Hzまで
    • G-SYNCの設定メニューが現れる
Mode Rate 表示 備考
RGB/SDR 60 default 動作
RGB/HDR 60 10bitRGB動作
RGB/SDR 120
RGB/HDR 120 10bitRGB動作
RGB/SDR 144
RGB/HDR 144 10bitRGB動作

追試(4)

  • GTX1650 SP V2 on x1 slot(DP-HDMI変換アダプタ経由HDMI2.1接続) + nvidia-drm-61-kmod-550.127.05_1
    • 使用アダプタは、(株)ミヨシのDP-HDA8K1/BK-A
    • nvidia-settingのDisplay Device Informationには、Signal: DisplayPort, Connection Link: 4 lanes @ 5.40Gbpsと表示 (DP1.2接続)
    • xrandr(EDID)の3840x2160に 100, 120, 144Hz有り
    • nvidia-setting上から、120・144Hz設定に問題なく切り替え可能
      • /var/log/Xorg.0.logではEDID HorizSyncは15.000-255.000 kHzと報告されている
      • 追加の設定無しに144Hzに切り替えられた
    • nvidia-setting上には、G-SYNCのcheckboxは現れない
      • AllowGSYNCCompatible=Onディレクティブを付与しても、G-SYNCが有効にならない
    • RTX A400で動かない理由が、ますます分からなくなった

追試(5)

  • RTA A400(同梱miniDP-DPアダプタ + DP-HDMI変換アダプタ経由HDMI2.1接続) + nvidia-drm-61-kmod-550.127.05_1
    • 使用DP-HDMIアダプタは、追試(1)で用いた(株)ミヨシのDP-HDA8K1/BK-A
    • ホスト環境は、追試(3)で使用したWindows11機に構築(FreeBSD 14.2-STABLE)
    • 追試(2)と同様に、120/144Hzモードへの切り替えでは画面暗転のまま映らず → 動作が安定しないのは、nvidia driverのsoftwareの問題の模様
      • 2024/11/17時点で最新のβ版 560.28.03を導入してみると、問題なく映るようになった
      • G-SYNCに関しては追試(3)(4)と同様なので、当該DP-HDMIアダプタはAdaptive Sync/VRRサポートしていない模様

検証課題

  • MCO DP1.4-HDMI2.1アダプタをRTX4070Sに接続した試験 (DP-HDMIアダプタの4K120Hz対応の検証)
  • RTX A400をWindows機に挿して、Windwos上での動作確認 (RTX A400の4K120Hz・144Hz動作確認)
  • RTX A400にてDP直結配線での追試 (以前の試験は活線差し替えで経路変更しているので、Cold Startを検証すべき)
  • 1slotカードの予備品ELSA GTX1650 SP V2で検証 (HDMI側は2.0bだが、DP側は1.4なので 4K 120Hz動作をサポートするはず・基盤サイズ/TDPとものRTX A400より大きいので当方の用途的にはあまり使いたく無いのだが…)
  • RTX A400で120/144Hz動作を確認できたWindows11機にFreeBSD/Xorgを導入して検証する
    • nvidia-drm-61-kmod-550.127.05_1では、安定した120/144Hz切り替え動作を確認出来ない・β版 560.28.03にて、120/144Hz切り替え動作確認 → nvidia-drverの問題の模様
    • RTX A400 + nvidia-drm-61-kmod-550.127.05_1にて、DP直結配線で動作が安定しなかった件も nvidia-driverの問題だったと推定される

カテゴリー: Admin | Emacs | EPICS | Fortran | FreeBSD | GCC | hgsubversion | IPv6 | KEKB | LHC | Lisp | LLVM | MADX | Ryzen | SAD | samba | tDiary | unix | WWW | YaSAI | お仕事 | イベント | 出張 | 宴会 | 数学 | 艦これ | 買いもの | 追記 | 雑記