
私は Nvidia RTX 3070 と Samsung C49RG90 モニターを持っています。モニターは HDMI 経由でビデオ カードに接続されています。システムをサスペンドしてから再び起動しない限り、すべて正常に動作します。その場合、解像度が 1024x768 に変わります。ログインして Nvidia コントロール パネルを開き、正しい解像度に戻すことはできますが、再びスリープ状態にすると、解像度は常に 1024x768 に戻ります。
私は Nvidia ドライバーのバージョン 470.86 を使用していますが、古いバージョンでも同じように動作します。
起動後に解像度を手動で設定して実行するとxrandr
、次のようになります。
Screen 0: minimum 8 x 8, current 5120 x 1440, maximum 32767 x 32767
HDMI-0 connected primary 5120x1440+0+0 (normal left inverted right x axis y axis) 1mm x 1mm
3840x1080 59.97 +
5120x1440 59.98* 29.98
3840x2160 59.94 50.00 29.97 25.00 23.98
2560x1440 59.95
2560x1080 60.00 59.94
1920x1080 60.00 59.94 50.00
1680x1050 59.95
1600x900 60.00
1440x900 59.89
1280x1024 75.02 60.02
1280x800 59.81
1280x720 60.00 59.94 50.00
1152x864 75.00
1024x768 75.03 70.07 60.00
800x600 75.00 72.19 60.32 56.25
720x576 50.00
720x480 59.94
640x480 75.00 72.81 59.94
DP-0 disconnected (normal left inverted right x axis y axis)
DP-1 disconnected (normal left inverted right x axis y axis)
DP-2 disconnected (normal left inverted right x axis y axis)
DP-3 disconnected (normal left inverted right x axis y axis)
DP-4 disconnected (normal left inverted right x axis y axis)
DP-5 disconnected (normal left inverted right x axis y axis)
マシンをスリープ状態にして再度起動し、 を実行するとxrandr
、次のようになります。
Screen 0: minimum 8 x 8, current 5120 x 1440, maximum 32767 x 32767
HDMI-0 connected primary 1024x768+3327+362 (normal left inverted right x axis y axis) 0mm x 0mm panning 5120x1440+0+0
3840x1080 59.97 +
5120x1440 59.98 29.98
3840x2160 59.94 50.00 29.97 25.00 23.98
2560x1440 59.95
2560x1080 60.00 59.94
1920x1080 60.00 59.94 50.00
1680x1050 59.95
1600x900 60.00
1440x900 59.89
1280x1024 75.02 60.02
1280x800 59.81
1280x720 60.00 59.94 50.00
1152x864 75.00
1024x768 75.03 70.07 60.00
800x600 75.00 72.19 60.32 56.25
720x576 50.00
720x480 59.94
640x480 75.00 72.81 59.94
DP-0 disconnected (normal left inverted right x axis y axis)
DP-1 disconnected (normal left inverted right x axis y axis)
DP-2 disconnected (normal left inverted right x axis y axis)
DP-3 disconnected (normal left inverted right x axis y axis)
DP-4 disconnected (normal left inverted right x axis y axis)
DP-5 disconnected (normal left inverted right x axis y axis)
1024x768 (0x208) 94.500MHz +HSync +VSync
h: width 1024 start 1072 end 1168 total 1376 skew 0 clock 68.68KHz
v: height 768 start 769 end 772 total 808 clock 85.00Hz
xorg.conf
私のファイルは次のとおりです:
# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings: version 470.57.01
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 0 0
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
Option "Xinerama" "0"
EndSection
Section "Files"
EndSection
Section "Module"
Load "dbe"
Load "extmod"
Load "type1"
Load "freetype"
Load "glx"
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"
# HorizSync source: edid, VertRefresh source: edid
Identifier "Monitor0"
VendorName "Unknown"
ModelName "Samsung C49RG9x"
HorizSync 30.0 - 160.0
VertRefresh 24.0 - 120.0
Option "DPMS"
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "NVIDIA GeForce RTX 3070"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "Stereo" "0"
Option "nvidiaXineramaInfoOrder" "DFP-0"
Option "metamodes" "5120x1440 +0+0; 800x600 +0+0; 640x480 +0+0"
Option "SLI" "Off"
Option "MultiGPU" "Off"
Option "BaseMosaic" "off"
SubSection "Display"
Depth 24
EndSubSection
EndSection
さらに詳しい情報が必要になる可能性が高いことは理解していますが、どこを調べればよいかわかりません。
答え1
数年間、時々この問題に取り組んできましたが、私は問題を解決できたと思います。
初め、この質問Nvidia 開発者フォーラムで報告されている問題は、私の問題とほぼ同じです。その質問の作成者と同様に、問題の根本は、モニターがスリープ解除時に EDID 情報を提供していないことであり、そのため Ubuntu がデフォルトの 1024x768 解像度を選択していると考えています。
これを回避するために、私はEDIDを説明した通りにエクスポートしましたここファイルをASCII形式で保存し、名前を付けてcrg-edit.txt
、 に移動しました/etc/X11
。しかし、ない「ファイルからディスプレイ EDID をロードする」セクションのコマンドを実行します。代わりに、手動で/etc/X11/xorg.conf
ファイルを開いて次のように編集しました (構成内のコメントを参照)。
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "Stereo" "0"
Option "nvidiaXineramaInfoOrder" "DFP-0"
Option "CustomEDID" "GPU-0.HDMI-0:/etc/X11/crg-edid.txt" # I added this line
Option "metamodes" "5120x1440 +0+0" # I removed the 1024x768 option from here
Option "SLI" "Off"
Option "MultiGPU" "Off"
Option "BaseMosaic" "off"
SubSection "Display"
Depth 24
EndSubSection
EndSection
これらの手順を実行すると、モニターは 3840x1080 というより高い解像度でサスペンドから復帰しますが、目標の解像度である 5120x1440 にはまだ達していません。そこで実行しxrandr --verbose
、何らかの理由でその解像度が優先されることに気付きました。
...
3840x1080 (0x1be) 266.500MHz +HSync -VSync +preferred
h: width 3840 start 3888 end 3920 total 4000 skew 0 clock 66.62KHz
v: height 1080 start 1083 end 1093 total 1111 clock 59.97Hz
5120x1440 (0x1bf) 469.000MHz +HSync -VSync *current
h: width 5120 start 5168 end 5200 total 5280 skew 0 clock 88.83KHz
v: height 1440 start 1443 end 1453 total 1481 clock 59.98Hz
...
さらに周りを見回すと、これ質問。その後、私は質問をxorg.conf
次のように編集しました。
Section "Monitor"
# HorizSync source: edid, VertRefresh source: edid
Identifier "Monitor0"
VendorName "Unknown"
ModelName "Samsung C49RG9x"
HorizSync 30.0 - 160.0
VertRefresh 24.0 - 120.0
Option "DPMS"
Option "PreferredMode" "5120x1440" # I added this line
EndSection
そして
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "Stereo" "0"
Option "nvidiaXineramaInfoOrder" "DFP-0"
Option "CustomEDID" "GPU-0.HDMI-0:/etc/X11/crg-edid.txt"
Option "metamodes" "5120x1440 +0+0"
Option "SLI" "Off"
Option "MultiGPU" "Off"
Option "BaseMosaic" "off"
SubSection "Display"
Virtual 5120 1440 # I added this line
Depth 24
EndSubSection
EndSection
カスタム EDID とその他の設定の両方が必要だったかどうかはわかりませんが、動作しているのでそのままにしておきたいので、気にしていません。しかし、他の人の役に立つかもしれないので、調査結果を共有したいと思いました。
編集: Ubuntu 22.04 をインストールしたときにこのプロセスを実行しましたが、問題なく動作しました。これらの手順を実行した後、初めてログインすると、画面がデフォルトで 3840x1080 になったことに注意してください。Ubuntu コントロール パネルを使用して解像度を 5120x1440 に戻しましたが、再起動やサスペンドを行ってもその設定が維持されます。
答え2
私も同じ問題を抱えています。Pop!_OS 22.04 を使用していますが、アップデート後しばらくしてこの問題が発生しました。これはドライバーの問題に違いありません。モニターがスリープ モードになってから復帰したときに気付きました。どちらのモニターでも、800x400 まで低下します。基本的に、私はモニターをオフにしてから再びオンにしています。私のモニターは、クリスマスにもらったばかりの 27 インチ Asus VQR です。これはモニターの問題ではないことはわかっています。なぜなら、どのモニターを最初のモニターとして設定したかによって変わるからです。
リフレッシュ レートとディスプレイ解像度をいろいろ試してみましたが、モニター (DP で接続) は問題ではないと思います。20.04 をインストールして 21.10 にアップデートし、さらに 22.04 にアップデートしたときに発生しました。そのため、あなたの問題の原因が何なのかはわかりませんが、私の場合はドライバーが原因だと思います。私はドライバーの専門家ではないので、当面は修正を待つ必要があります。
xrandr を使用してファイルを構成して、コンピューターを起動するたびにモニターの特定の解像度とカーディナリティを設定できることは知っています。次はそれを探して試してみます。3 台のモニターを使用したときに、本当にうまくいかなかったのです。