Ubuntuラップトップでモニターを動作させようとしています。モニターはこれです 安い27 "韓国語モニター 2560x1440の解像度を持っています-そして、他には何もありません。このモニターの仕様は次のとおりです。
とにかく、モニターは、DVI出力を備えたnVidiaカードを備えたUbuntuデスクトップで美しく動作します。ただし、ラップトップでこのモニターを使用すると問題が発生します。いくつかの周りを検索した後、ミニディスプレイポートにアクティブアダプターを使用することを示唆している fewposts を見つけたので、行って購入しました デュアルリンクDVIへのミニディスプレイ-Dアダプター。 。このアダプターを使用すると、モニターはnvidia-settings
ツールによって認識されますが、解像度情報が正しくありません。
ご覧のとおり、モニターは正しく認識されておらず、設定可能な他の解像度はありません。この buntuフォーラムへの投稿 と他の オーバークロックへの投稿 は両方とも、モニターが破損したEDIDファイルを報告していることを示唆しています。私は彼らの指示に従ってみましたが、これまでのところ、ラップトップからモニターに画像を表示することはできませんでした。
私が使用しているラップトップは、1920x1080画面のASUS G75VWです。 VGA、HDMI 1.4a、およびミニディスプレイポートがあります。グラフィックカードは、2GBの専用メモリを搭載したnvidia gforce gtx 660Mです。私はここでUbuntu 12.10を実行していますが、これは数週間前に12.04からアップグレードします。
私が言ったように、xorg.conf
でModeline
を指定することや、上記のフォーラム投稿から見つけたEDIDファイルへのリンクを含むいくつかの提案を試みました。しかし、見つけたEDIDファイルがモニターに適しているかどうかはわかりません。私の問題の解決策は、モニターのEDIDファイルを取得し、それを修正し、xorg.conf
を修正してnvidiaドライバーに正しい解像度をロードさせることだと思います。ただし、これを実行するために必要な手順はわかりません。
以下は、このモニターに関連するSudo xrandr --prop
出力の一部です。
DP-1 connected 800x600+1920+0 (normal left inverted right x axis y axis) 0mm x 0mm
SignalFormat: DisplayPort
supported: DisplayPort
ConnectorType: DisplayPort
ConnectorNumber: 3 (0x00000003)
_ConnectorLocation: 3 (0x00000003)
800x600 60.3*+
この投稿で述べた のように、この出力にEDIDファイルが表示されることを期待していましたが、そこにはありません。また、 このドキュメント。 に続くxandr
を使用して新しいモードを追加しようとしました。ここに私がやったことと私が得たエラーがあります:
$ 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 --addmode DP-1 "2560x1440_60.00"
X失敗した要求のエラー:BadMatch(無効なパラメーター属性)失敗した要求のメジャーオペコード:140(RANDR)失敗した要求のマイナーオペコード:18(RRAddOutputMode)失敗した要求のシリアル番号:39出力ストリームの現在のシリアル番号:40
このエラーが何であるかはわかりません。今度はgtf
ユーティリティを使用して、別のモードを追加してみました。違いはありませんでした。 xrandr -q
の出力は次のとおりです。
xrandr -q
Screen 0: minimum 8 x 8, current 2720 x 1080, maximum 16384 x 16384
VGA-0 disconnected (normal left inverted right x axis y axis)
LVDS-0 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 382mm x 215mm
1920x1080 60.0*+ 40.0
DP-0 disconnected (normal left inverted right x axis y axis)
HDMI-0 disconnected (normal left inverted right x axis y axis)
DP-1 connected 800x600+1920+0 (normal left inverted right x axis y axis) 0mm x 0mm
800x600 60.3*+
2560x1440_60.00 (0x3f9) 312.2MHz
h: width 2560 start 2752 end 3024 total 3488 skew 0 clock 89.5KHz
v: height 1440 start 1443 end 1448 total 1493 clock 60.0Hz
2560x1440 (0x3fa) 311.8MHz
h: width 2560 start 2744 end 3024 total 3488 skew 0 clock 89.4KHz
v: height 1440 start 1441 end 1444 total 1490 clock 60.0Hz
そして、これが私が動作しているxorg.confに最も近いものです
Section "ServerLayout"
# Removed Option "Xinerama" "0"
Identifier "Layout0"
Screen 0 "Screen0" 0 0
Screen 1 "Screen1" RightOf "Screen0"
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
Option "Xinerama" "0"
EndSection
Section "Files"
EndSection
Section "Monitor"
Identifier "Monitor1"
VendorName "Unknown"
ModelName "DFP-3"
HorizSync 89.40
VertRefresh 60.00
#HorizSync 43.95
#VertRefresh 30.00
ModeLine "2560x1440_60" 311.83 2560 2744 3024 3488 1440 1441 1444 1490 -hsync +vsync
#ModeLine "2560x1440_30" 146.27 2560 2680 2944 3328 1440 1441 1444 1465 -hsync +vsync
Option "DPMS"
EndSection
Section "Monitor"
# HorizSync source: edid, VertRefresh source: edid
Identifier "Monitor0"
VendorName "Unknown"
ModelName "Chi Mei Optoelectronics corp."
HorizSync 44.4 - 67.1
VertRefresh 40.0 - 60.0
Option "DPMS"
EndSection
Section "Device"
Identifier "Device1"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce GTX 660M"
BusID "PCI:1:0:0"
Screen 1
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce GTX 660M"
BusID "PCI:1:0:0"
Screen 0
EndSection
Section "Screen"
Option "Stereo" "0"
#Option "NoLogo" "False"
#Option "UseEDID" "False"
#Option "UseEDIDDPI" "False"
#Option "UseEDIDFreqs" "False"
Option "metamodes" "2560x1440_60"
Identifier "Screen1"
Device "Device1"
Monitor "Monitor1"
DefaultDepth 24
Option "ExactModeTimingsDVI" "True"
#Option "metamodes" "DFP-3: 2560x1440_60 +0+0"
SubSection "Display"
Depth 24
EndSubSection
EndSection
Section "Screen"
# Removed Option "metamodes" "DFP-0: nvidia-auto-select +0+0; DFP-0: nvidia-auto-select +0+0; DFP-0: 1920x1080 +0+0; DFP-0: 1920x1080_60 +0+0; DFP-0: 1920x1080_40 +0+0; DFP-0: nvidia-auto-select @1920x1024 +0+0; DFP-0: nvidia-auto-select @1920x720 +0+0; DFP-0: nvidia-auto-select @1920x768 +0+0; DFP-0: nvidia-auto-select @1920x600 +0+0; DFP-0: nvidia-auto-select @1920x480 +0+0"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "Stereo" "0"
#Option "nvidiaXineramaInfoOrder" "DFP-0"
Option "metamodes" "DFP-0: nvidia-auto-select +0+0; DFP-0: nvidia-auto-select +0+0; DFP-0: 1920x1080 +0+0; DFP-0: 1920x1080_60 +0+0; DFP-0: 1920x1080_40 +0+0; DFP-0: nvidia-auto-select +0+0; DFP-0: nvidia-auto-select +0+0; DFP-0: nvidia-auto-select +0+0; DFP-0: nvidia-auto-select +0+0; DFP-0: nvidia-auto-select +0+0"
SubSection "Display"
Depth 24
EndSubSection
EndSection
#Section "Extensions"
# Option "Composite" "Disable"
#EndSection
X構成を数時間調整した後、私はここで助けを求める時だと決めました。 EDIDとXの構成に関する経験のある人がこの問題を解決するための手を貸してくれたら本当にありがたいです。
最近、同様の問題が発生しました。カスタムのXorg.confファイルを作成することもできましたが、他のモニターに接続すると、すべての素晴らしい自動構成が損なわれてしまいます。
代わりに、破損したEDIDを書き直しました。
ここにいくつかの資料があります:ref: https://en.wikipedia.org/wiki/Extended_display_identification_data#External_links
edid-rw: https://github.com/bulletmark/edid-rw (これはあなたのために働くかもしれません... I試してみて、edidを読むことはできましたが、書くことができませんでした?!最初に試してみてください?)
モニターのi2cアドレスを見つける必要があります。
i2cdetect -l
// vgaを探します。この場合、「1」を取得しました
i2cdetect 1
//アドレスを探します。この場合は1つだけです。
sudo i2cdump 1 0x50 b
//現在のedidを取得します
バグポストのxorgリストの一部として、モニターのedidのリストをインターネットで見つけました。ファイルnew.binに入れます。
チェックサム!..この次の行は0を吐き出します。
x = $(sum -s new.bin | cut -d "" -f 1); echo "$ x%256" | bc
上記のedid-rwがうまくいかなかったので、私は調べました:
これを使用してedidを記述しました。
警告-危険-i2cアドレスが正しいことを確認して、下に挿入してください!
猫new.bin | hexdump -v -e '"Sudo i2cset -y 1 0x50 0x%_ax 0x "/ 1"%02X b\n "'
最終結果を確認する:
(上記で見つけたアドレス情報を、「1 0x50」の代わりにi2cdetectを使用して使用してください)
Sudo i2cdump 1 0x50 b> test.bin
cat test.bin
x = $(sum -s test.bin | cut -d "" -f 1); echo "$ x%256" | bcは、良好であれば0を返す必要があります