2つのモニターが接続されているNVidia GT8600があります(1つはVGAポートを介して、もう1つはコンポーネントポートを介して)。デフォルトのxorg.confを使用すると、2番目のモニター(コンポーネント)は検出されず、1番目のモニターはモニターを強制的にオフにする解像度で実行されます。だから手動で設定してみました。両方のモニターがオンになっていますが、解像度が正しくありません。モデル行などを作成してみましたが、無視され、両方のモニタで誤った解像度を実行しています。
モニタ0(LCD)が800x480 60Hz、モニタ1(プロジェクタ)1920x1080 60Hz、拡張デスクトップ、モニタ1がモニタ0の右側にあるようにしたいと思います。私の2つのxorg設定は次のとおりです。
50-lcd.conf:
# LCD display in SilverStoneTek case
Section "Monitor"
Identifier "LCD"
VendorName "SilverstoneTek"
ModelName "Chassis"
HorizSync 28.0 - 33.0
VertRefresh 43.0 - 72.0
Modeline "800x480_60.00" 29.58 800 816 896 992 480 481 484 497 -HSync +Vsync
EndSection
Section "Device"
Identifier "VGAport"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce 8600 GT"
EndSection
Section "Screen"
Identifier "Screen0"
Device "VGAport"
Monitor "LCD"
DefaultDepth 24
Option "TwinViewXineramaInfoOrder" "CRT-0"
Option "metamodes" "CRT-0: 800x480_60.00 +0+0, TV-0: 1920x1080_60.00 +0+0"
Option "ConnectedMonitor" "CRT-0, TV-0"
SubSection "Display"
Depth 24
Modes "800x480_60.00" "800x480"
EndSubSection
EndSection
60-projector.conf:
Section "Monitor"
Identifier "Projector"
VendorName "Sony"
ModelName "VPL-HW20"
HorizSync 15.0 - 600.0
VertRefresh 15.0 - 600.0
Modeline "1920x1080_60.00" 172.80 1920 2040 2248 2576 1080 1081 1084 1118 -HSync +Vsync
Option "dpms"
EndSection
Section "Device"
# do not use the frequencies provided by the monitor edid
Identifier "ComponentPort"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce 8600 GT"
EndSection
Section "Screen"
Identifier "Screen1"
Device "ComponentPort"
Monitor "Projector"
DefaultDepth 24
Option "metamodes" "CRT-0: 800x480_60.00 +0+0, TV-0: 1920x1080_60.00 +0+0"
SubSection "Display"
Depth 24
Modes "1920x1080_60.00" "1920x1080"
EndSubSection
EndSection
しかし、xrandrは間違った解像度を使用していることを示し、私のカスタムモデルは表示さえしません。
Screen 0: minimum 8 x 8, current 1824 x 768, maximum 8192 x 8192
DVI-I-0 connected primary 800x600+0+168 (normal left inverted right x axis y axis) 0mm x 0mm
1024x768 60.00 +
800x600 72.19 60.32* 56.25
800x480 60.00
640x480 59.94
512x384 60.00
400x300 72.19
320x240 60.05
DVI-I-1 disconnected (normal left inverted right x axis y axis)
TV-0 connected 1024x768+800+0 (normal left inverted right x axis y axis) 0mm x 0mm
1024x768 60.00*+
800x600 60.01
720x480 60.00
640x480 60.01
640x400 60.00
512x384 60.00
DVI-I-2 disconnected (normal left inverted right x axis y axis)
DVI-I-3 disconnected (normal left inverted right x axis y axis)
重要な場合、Xorg.0.logはCRT-0とTV-0を参照し、xranrdはそれをDVI-I-0とTV-0と呼びます。 Xorg.0.logにはエラーがなく、内容全体がかなり長いため、再公開しません。しかし、ここにいくつかの奇妙な行があります。
[ 3545.187] (II) NVIDIA(0): Setting mode "CRT-0:800x480_60.00+0+0,TV-0:1920x1080_60.00+0+0"
[ 3546.255] (II) NVIDIA(0): Setting mode "DVI-I-0: 800x480_60.00 @800x480 +0+0 {ViewPortIn=800x480, ViewPortOut=800x480+0+0}, TV-0: nvidia-auto-select @1024x768 +800+0 {ViewPortIn=1024x768, ViewPortOut=1024x768+0+0}"
[ 3546.425] (II) NVIDIA(0): Setting mode "DVI-I-0: 800x600_60 @800x600 +0+168 {ViewPortIn=800x600, ViewPortOut=800x600+0+0}, TV-0: nvidia-auto-select @1024x768 +800+0 {ViewPortIn=1024x768, ViewPortOut=1024x768+0+0}"
LCDを800x480に設定してからすぐに800x600に切り替えようとしているようです。なぜ?プロジェクターを1920×1080に設定しようとせず、「nvidia-auto-select」のみを使用してください。なぜ?
答え1
私はNvidiaがモニターのEDIDに基づいて解像度を取得していると思うので、モデルラインを無視します。 xorg.confの「モニター」セクションにEDIDを無視するオプションを追加できます。それは次のとおりです。
Option "UseEDID" "false"
Option "UseEDIDFreqs" "false"
Option "IgnoreEDID" "true"