最大解像度が異なるモニターが 2 つあります (2560x1440 と 1920x1080)。Windows では両方のモニターの最大解像度を設定できますが、Linux (manjaro、プロプライエタリな NVIDIA ドライバー、xrandr 1.5) では大きい方の解像度が 2048x1152 に制限されます。xrandr 経由でカスタム解像度を追加する方法についての質問/スレッド/記事をいくつか読みましたが、どれもうまくいきません。問題は次のとおりです。
xrandr の出力:
Screen 0: minimum 8 x 8, current 3968 x 1152, maximum 16384 x 16384
DVI-I-0 disconnected (normal left inverted right x axis y axis)
DVI-I-1 disconnected (normal left inverted right x axis y axis)
DVI-I-2 connected 1920x1080+2048+0 (normal left inverted right x axis y axis) 478mm x 269mm
1920x1080 60.00*+
... skipped few lines ....
640x480 75.00 72.81 59.94
HDMI-0 connected primary 2048x1152+0+0 (normal left inverted right x axis y axis) 553mm x 311mm
2048x1152 60.00*+
... skipped few lines ...
640x480 75.00 59.94 59.93
DVI-I-3 disconnected (normal left inverted right x axis y axis)
cvt を使用して新しいカスタム解像度を生成します。
$ cvt 2560 1440 60
# 2560x1440 59.96 Hz (CVT 3.69M9) hsync: 89.52 kHz; pclk: 312.25 MHz
Modeline "2560x1440_60.00" 312.25 2560 2752 3024 3488 1440 1443 1448 1493 -hsync +vsync
今、私は新たな決意をしたいと思っています。
xrandr --newmode 2560x1440_60.00 312.25 2560 2752 3024 3488 1440 1443 1448 1493 -hsync +vsync
xrandr の出力は次のようになります。
Screen 0: minimum 8 x 8, current 3968 x 1152, maximum 16384 x 16384
DVI-I-0 disconnected (normal left inverted right x axis y axis)
DVI-I-1 disconnected (normal left inverted right x axis y axis)
DVI-I-2 connected 1920x1080+2048+0 (normal left inverted right x axis y axis) 478mm x 269mm
1920x1080 60.00*+
... skipped few lines ...
640x480 75.00 72.81 59.94
HDMI-0 connected primary 2048x1152+0+0 (normal left inverted right x axis y axis) 553mm x 311mm
2048x1152 60.00*+
... skipped few lines ...
640x480 75.00 59.94 59.93
DVI-I-3 disconnected (normal left inverted right x axis y axis)
2560x1440_60.00 (0x313) 312.250MHz -HSync +VSync
h: width 2560 start 2752 end 3024 total 3488 skew 0 clock 89.52KHz
v: height 1440 start 1443 end 1448 total 1493 clock 59.96Hz
この解像度を出力 HDMI-0 に追加しようとすると、次のエラーが発生します。
$ xrandr --addmode HDMI-0 2560x1440_60.00
X Error of failed request: BadMatch (invalid parameter attributes)
Major opcode of failed request: 140 (RANDR)
Minor opcode of failed request: 18 (RRAddOutputMode)
Serial number of failed request: 33
Current serial number in output stream: 34
以前、この方法を使用して、さまざまな PC (ノートブック + 外部モニター、両方とも同じ解像度) で問題なく必要に応じてモニターをセットアップすることができました。 何かアドバイスがあれば、ぜひ教えてください。
答え1
nVidia ドライバーには、バグがあっても EDID に従う厳格なポリシーがあります。
EDID を無視し、グラフィック アダプタでサポートされているすべての解像度から選択する xorg オプションがあります。次のいずれかを使用します。
Option "UseEDID" "boolean" Option "ModeValidation" "NoEdidModes"
次の部分的な機能を無視できます:
Option "UseEDIDFreqs" "FALSE" Option "IgnoreEDIDChecksum" "<con-1>, <con-2>"
または、EDID 検証のより高度な調整については、サポートされている値に関するリファレンスを参照してください。
Option "ModeValidation" "string"
また、EDID の修正/変更されたコピーを挿入するオプションもあります。警告: これは危険です。すべてのモニターが堅牢に作られているわけではありません。
Option "CustomEDID" "<con-1>:</pathto/edid1.bin>; <con-2>:</pathto/edid2.bin>"
参照:
注記:
ちなみに、次のコマンドを使用して EDID データが取得されたかどうかを確認します。
xrandr --verbose