ネイティブ解像度が1680x1050のモニターがありますが、検出されないため、nvidiaドライバーで設定できません。私は公式のubuntuドキュメントで示唆されているように、xrandrで解決を強制する結果なしで試しました: https://wiki.ubuntu.com/X/Config/Resolution#Adding_undetected_resolutions だから私はしようとしています同じ公式ページの最後に示されているように、/ etc/X11に手動で生成されたxorg.confファイルによって設定された解像度を取得します。
カスタムxorg.confを作成してネイティブ解像度を設定することができました。xorgログ(/var/log/xorg.0.log)でわかるように、xorg.conf構成ファイルはロードされていますが、カスタム解像度1680x1050は「EDID」でリストされていないため、破棄されました: https://en.wikipedia.org/wiki/Extended_Display_Identification_Data
Custumの解像度をEDIDのリストされた構成と比較し、リストされていないためネイティブの解像度を破棄するXorgステップをオーバーライドする方法は?何か案は?
Xorg.0.logの関連部分は次のとおりです。
**[ 3448.936] (==) Using config file: "/etc/X11/xorg.conf"**
[ 3448.936] (==) Using system config directory "/usr/share/X11/xorg.conf.d"
[ 3448.936] (==) ServerLayout "Layout0"
[ 3448.936] (**) |-->Screen "Screen0" (0)
[ 3448.936] (**) | |-->Monitor "Monitor0"
[ 3448.936] (**) | |-->Device "Device0"
[ 3448.936] (**) |-->Input Device "Keyboard0"
..........
..............
3448.959] (II) Loading /usr/lib/xorg/modules/libwfb.so
[ 3448.959] (II) Module wfb: vendor="X.Org Foundation"
[ 3448.959] compiled for 1.18.3, module version = 1.0.0
[ 3448.959] ABI class: X.Org ANSI C Emulation, version 0.4
[ 3448.959] (II) Loading sub module "ramdac"
[ 3448.959] (II) LoadModule: "ramdac"
[ 3448.959] (II) Module "ramdac" already built-in
[ 3448.959] (**) NVIDIA(0): Depth 24, (--) framebuffer bpp 32
[ 3448.959] (==) NVIDIA(0): RGB weight 888
[ 3448.959] (==) NVIDIA(0): Default visual is TrueColor
[ 3448.959] (==) NVIDIA(0): Using gamma correction (1.0, 1.0, 1.0)
[ 3448.960] (**) NVIDIA(0): Option "NoLogo" "True"
**[ 3448.960] (**) NVIDIA(0): Option "MetaModes" "1680x1050_60 +0+0"**
[ 3448.960] (**) NVIDIA(0): Enabling 2D acceleration
[ 3449.310] (II) NVIDIA(GPU-0): Display (Samsung SyncMaster (CRT-0)) does not support NVIDIA
[ 3449.310] (II) NVIDIA(GPU-0): 3D Vision stereo.
[ 3449.311] (II) NVIDIA(0): NVIDIA GPU GeForce 7050 PV / nForce 630a (C68) at PCI:0:18:0
[ 3449.311] (II) NVIDIA(0): (GPU-0)
[ 3449.311] (--) NVIDIA(0): Memory: 524288 kBytes
[ 3449.311] (--) NVIDIA(0): VideoBIOS: 05.67.32.26.00
[ 3449.311] (--) NVIDIA(0): Interlaced video modes are supported on this GPU
[ 3449.311] (--) NVIDIA(0): Valid display device(s) on GeForce 7050 PV / nForce 630a at PCI:0:18:0
[ 3449.311] (--) NVIDIA(0): Samsung SyncMaster (CRT-0) (connected)
[ 3449.311] (--) NVIDIA(0): DFP-0
[ 3449.311] (--) NVIDIA(0): Samsung SyncMaster (CRT-0): 350.0 MHz maximum pixel clock
[ 3449.311] (--) NVIDIA(0): DFP-0: 155.0 MHz maximum pixel clock
[ 3449.311] (--) NVIDIA(0): DFP-0: Internal Single Link TMDS
[ 3449.311] (**) NVIDIA(0): Using HorizSync/VertRefresh ranges from the EDID for display
[ 3449.311] (**) NVIDIA(0): device Samsung SyncMaster (CRT-0) (Using EDID frequencies
[ 3449.311] (**) NVIDIA(0): has been enabled on all display devices.)
**[ 3449.312] (WW) NVIDIA(0): No valid modes for "1680x1050_60+0+0"; removing.**
**[ 3449.312] (WW) NVIDIA(0): Unable to validate any modes; falling back to the default mode
[ 3449.312] (WW) NVIDIA(0): "nvidia-auto-select".**
[ 3449.312] (WW) NVIDIA(0):
[ 3449.312] (II) NVIDIA(0): Validated MetaModes:
[ 3449.312] (II) NVIDIA(0): "CRT-0:nvidia-auto-select"
[ 3449.312] (II) NVIDIA(0): Virtual screen size determined to be 1600 x 1200
[ 3449.313] (WW) NVIDIA(0): Unable to support custom viewPortOut 1600 x 900 +0 +150
[ 3449.313] (WW) NVIDIA(0): Unable to support custom viewPortOut 1600 x 900 +0 +150
[ 3449.313] (--) NVIDIA(0): DPI set to (99, 98); computed from "UseEdidDpi" X config
[ 3449.313] (--) NVIDIA(0): option
[ 3449.313] (--) Depth 24 pixmap format is 32 bpp
[ 3449.318] (II) NVIDIA(0): Setting mode "CRT-0:nvidia-auto-select"
Xorg.confでEDID定義の構成をオーバーライドする方法は、「Device」セクションに次の行を追加することです。
Option "UseEdid" "False"
つまり、XOrgの構成ファイルを作成およびカスタマイズすることで、Ubuntuでネイティブのディスプレイ解像度を設定することは可能です。ステップバイステップガイドは次のとおりです。
1)新しいxorg.confファイルを作成して、構成フォルダー「/ etc/X11」に配置します。このファイルを設定していない場合、Webには多くの例がありますが、nvidiaドライバーがある場合は、生成するツールが付属しています。ただ走れ
Sudo nvidia-xconfig
2)この新しいファイルxorg.confを編集して、ディスプレイのネイティブ解像度の設定で「画面」および「モニター」セクションをカスタマイズします。/etc/X11システムフォルダーに変更を保存できるようにするには、ターミナルで「Sudo gedit」を実行する必要があります。水平および垂直リフレッシュレートなど、モニターの例や特定のオプションをWebで検索する方が簡単です。 「1680x1050」(またはネイティブ解像度)および「xorg.conf」を検索することをお勧めします。 Syncmaster 2043NWXの「モニター」セクションの例を次に示します。
Section "Monitor"
Identifier "Monitor0"
VendorName "Unknown"
ModelName "Samsung SyncMaster"
HorizSync 30.0 - 81.0
VertRefresh 56.0 - 75.0
Option "DPMS"
EndSection
3)ドライバーがディスプレイから取得したEDIDデータにネイティブ構成がリストされていなかったため、EDIDをオーバーライドする行を追加し、xorg.confを通じてこの解決を強制します。この回答の最初の行です。
4)ファイルを保存してログアウトします。必ずxorg.confを/ etc/X11に保存し、ubuntuセッションからログアウトしてください。 /etc/X11/xorg.confはX-Windowが起動または再起動するたびに読み込まれるため、すべてが正常であれば、ログアウト後にネイティブ解像度が設定され、ログイン画面でも動作するはずです。問題が発生した場合、一時的に/etc/X11/xorg.confの名前を/etc/X11/_xorg.confに変更すると、デフォルトの解像度でログインできるはずです。 /var/log/xorg.0.logのX-windowログを確認して、設定の何が問題なのかを理解してください。
xorg.confの例です、nvidia-xconfigによって生成され、SyncMaster2043nwxのネイティブ解像度を設定するためにカスタマイズされています。
# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig: version 304.131 (buildmeister@swio-display-x64-rhel04-16) Sun Nov 8 22:48:17 PST 2015
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 0 0
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
EndSection
Section "Files"
EndSection
Section "InputDevice"
# generated from default
Identifier "Mouse0"
Driver "mouse"
Option "Protocol" "auto"
Option "Device" "/dev/psaux"
Option "Emulate3Buttons" "no"
Option "ZAxisMapping" "4 5"
EndSection
Section "InputDevice"
# generated from default
Identifier "Keyboard0"
Driver "kbd"
EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "Unknown"
ModelName "Samsung SyncMaster"
HorizSync 30.0 - 81.0
VertRefresh 56.0 - 75.0
Option "DPMS"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "metamodes" "1680x1050_60 +0+0"
Option "NoLogo" "True"
SubSection "Display"
Depth 24
EndSubSection
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce 7050 PV 7 nForce 630a"
Option "UseEDID" "FALSE"
EndSection
すべてのUbuntuコミュニティに感謝します。多くのさまざまな投稿を通して、これらすべてを理解するのに役立ちます。