最近のWindowsは、設定から解像度を変えても、表示される解像度が変わるだけで、出力される信号自体はディスプレイのEDIDに設定された解像度から変わらない。
状況によっては困ったことになるので、その辺の話をまとめてみた。
もくじ
テスト環境
Windows11 24H2
ThinkPad X1 Carbon Gen10
12th Gen Intel Core i7 1260P
Iris Xe Graphics
Dell U2720QM
Windows10の頃にも同じ問題に遭遇したことがあるので、同様の仕様かと思う(未確認)
設定画面の2つの解像度
設定>システム>ディスプレイ>ディスプレイの詳細設定
と開いていくと、解像度らしき数字には、「デスクトップモード」と「アクティブなシグナルモード」の2つの数字が並んでいる。
デスクトップモード(以下、表示解像度):画面に表示される解像度
アクティブなシグナルモード(以下、信号解像度):映像端子から出力される信号解像度
である。
この例であれば、画面表示は1920×1080だが、映像端子の出力信号は3840×2160になっている。
なお、設定画面から普通に解像度を変えただけでは、上の表示解像度が変わるだけで、下の信号解像度は変わることはない。
3840×2160のモニターに、1920×1080の解像度を設定すると、以下の図のようになる。
これの何が問題かというと、ケーブルの制限で低い解像度しか送れない場合、設定でどんなに解像度を下げても何も表示されないことだ。
なので、信号解像度も1920×1080にして、このようにしたい。
#「ちゃんと対応ケーブルを使えばいいだろ」という反論は、「低解像度で良いので長距離を送りたい、可搬性の高い細いケーブルを使いたい」といった事情もあるのでこの際置いておく。
#この問題に気付いたのは、ホテルで使う用の長尺のケーブルを購入した際に、古い(1920×1080までの)モニターは映るのに、新しい(3840×2160に対応した)モニターは映らないという不可解なことがあったから。
一筋縄ではいかない
設定画面の解像度をいくらいじっても、先の信号解像度は簡単には変えられない。
ディスプレイの詳細設定>ディスプレイアダプターのプロパティ>モード一覧から解像度を変えても無駄。
#この辺はいじってもダメだった。
ツールを使ってEDIDを変更する
色々調べまわったら、EDIDを変更すれば、それに合わせて信号解像度も変わることが分かった。
じゃあEDIDを変えてみようってことで、Custom Resolution Utilityというソフトを使う。
ダウンロードして展開したら、中身はこんな感じ。
CRU.exe 設定ツール
reset-all.exe いじった設定を戻す
restart(|64).exe ドライバを再起動して設定を反映 それぞれx86/64
CRU.exeで設定して、ドライバ再起動すると設定反映。
元に戻すときはreset-all.exeを使えば元に戻せる。
一番上のDetailed resolutionsの3840×2160の行を選択して、Edit→解像度を変更して保存。この画像では2560×1440にしてるけど、他の解像度でも同様。
適用出来たらCRU.exeは閉じて、restart(|64).exeを実行してドライバを再起動する。
めでたく信号解像度が2560×1440に変わった。
やったぜ…
参考文献
「アクティブなシグナルモードはEDIDで決まる」って記載がヒントになった。