我有三台显示器,但其中一台显示器的分辨率较低,只有 1600x900,而本机分辨率为 1920x1080。在显示设置中,它显示显示器为“未知”,但当我运行 get-edid | parse-edid 时,它确实识别了它,如下所示
$ get-edid | parse-edid
Attempting to use i2c interface
Only trying 3 as per your request.
256-byte EDID successfully retrieved from i2c bus 3
Looks like i2c was successful. Have a good day.
WARNING: Checksum failed
Trying to continue...
Section "Monitor"
Identifier "ASUS VS228"
ModelName "ASUS VS228"
VendorName "ACI"
# Monitor Manufactured week 34 of 2013
# EDID version 1.3
# Digital Display
DisplaySize 480 270
Gamma 2.20
Option "DPMS" "true"
Horizsync 24-83
VertRefresh 50-75
# Maximum pixel clock is 170MHz
#Not giving standard mode: 1920x1080, 60Hz
#Not giving standard mode: 1280x960, 60Hz
#Not giving standard mode: 1280x1024, 60Hz
#Not giving standard mode: 1440x900, 60Hz
#Not giving standard mode: 1680x1050, 60Hz
#Not giving standard mode: 1152x864, 75Hz
#Not giving standard mode: 1280x720, 60Hz
#Not giving standard mode: 1280x800, 60Hz
#Extension block found. Parsing...
Modeline "Mode 16" 27.00 720 736 798 858 480 489 495 525 -hsync -vsync
Modeline "Mode 0" 148.50 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync
Modeline "Mode 1" 25.200 640 656 752 800 480 490 492 525 -hsync -vsync
Modeline "Mode 2" 27.027 720 736 798 858 480 489 495 525 -hsync -vsync
Modeline "Mode 3" 27.027 720 736 798 858 480 489 495 525 -hsync -vsync
Modeline "Mode 4" 27.000 720 732 796 864 576 581 586 625 -hsync -vsync
Modeline "Mode 5" 27.000 720 732 796 864 576 581 586 625 -hsync -vsync
Modeline "Mode 6" 74.250 1280 1720 1760 1980 720 725 730 750 +hsync +vsync
Modeline "Mode 7" 74.250 1280 1390 1420 1650 720 725 730 750 +hsync +vsync
Modeline "Mode 8" 74.250 1920 2448 2492 2640 1080 1082 1089 1125 +hsync +vsync interlace
Modeline "Mode 9" 74.250 1920 2008 2052 2200 1080 1082 1087 1125 +hsync +vsync interlace
Modeline "Mode 10" 54.054 1440 1472 1596 1716 480 489 495 525 -hsync -vsync
Modeline "Mode 11" 54.054 1440 1472 1596 1716 480 489 495 525 -hsync -vsync
Modeline "Mode 12" 54.000 1440 1464 1592 1728 576 581 586 625 -hsync -vsync
Modeline "Mode 13" 54.000 1440 1464 1592 1728 576 581 586 625 -hsync -vsync
Modeline "Mode 14" 148.500 1920 2448 2492 2640 1080 1084 1089 1125 +hsync +vsync
Modeline "Mode 15" 148.500 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync
Modeline "Mode 17" 74.25 1280 1390 1430 1650 720 725 730 750 +hsync +vsync
Modeline "Mode 18" 74.25 1280 1720 1760 1980 720 725 730 750 +hsync +vsync
Modeline "Mode 19" 27.00 720 732 796 864 576 581 586 625 -hsync -vsync
Option "PreferredMode" "Mode 16"
EndSection
与我的其他两台工作显示器不同,这台显示器提供了警告:校验失败这可能是它无法加载 edid 的原因。有没有什么办法可以绕过这个问题?
我尝试过但未能得到正确解决方案的事情
1.) 使用以下方式手动设置分辨率xrandr --newmode 和 --addmode但这会产生 badmatch 错误
2.) 更新 nvidia 显卡驱动程序 --- 我将驱动程序更新为最新版本的 nVidia 440,并尝试了其他版本
3.) 在 /etc/X11/xorg.conf 中更改我的 xorg.conf 文件。我尝试在“未知”显示下添加新的 modlines,但没有成功,所以我又回到使用 nvidia-settings 创建的默认配置,如下所示:
# nvidia-xconfig: 版本 440.64 “服务器布局”部分 标识符“Layout0” 屏幕 0 “屏幕 0” 输入设备“键盘0”“核心键盘” 输入设备“Mouse0”“CorePointer” 结束部分 “文件”部分 结束部分 “输入设备”部分 # 从默认生成 标识符“Mouse0” 驱动程序“鼠标” 选项“协议”“自动” 选项“设备”“/dev/psaux” 选项“Emulate3Buttons”“否” 选项“ZAxisMapping”“4 5” 结束部分 “输入设备”部分 # 从默认生成 标识符“Keyboard0” 驱动程序“kbd” 结束部分 “监控”部分 标识符“Monitor0” 供应商名称“未知” 模型名称“未知” 选项“DPMS” 结束部分 “设备”部分 标识符“Device0” 驱动程序“nvidia” 供应商名称“NVIDIA Corporation” 结束部分 “屏幕”部分 标识符“Screen0” 设备“Device0” 监控“Monitor0” 默认深度 24 “显示”子部分 深度 24 结束子节 结束部分```
答案1
经过 10 小时的尝试,我终于在未知的显示器上获得了 1920x1080 的分辨率。原来 nvidia-settings 正在运行一个“不可见的”xorg.conf 文件。如果合并 xorg.conf,nvidia-settings 会为您提供查看隐藏设置的选项,为此我运行了:
sudo nvidia-settings
然后在 XServer 显示配置选项卡中,它提供了“保存到 X 配置文件”选项。从那里,您可以选择与现有的 xorg.conf 文件合并。一旦我这样做了,它就会显示 nvidia-settings 添加到 xorg.conf 文件的所有隐藏属性,我马上注意到水平刷新值太低了,我把它改成了 83。下面是我的新 xorg.conf 文件
# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings: version 440.64
# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig: version 440.64
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 0 0
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
Option "Xinerama" "0"
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 "DFP-1"
HorizSync 28.0 - 83.0
VertRefresh 43.0 - 75.0
Option "DPMS"
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce GTX 970"
EndSection
Section "Screen"
# Removed Option "metamodes" "HDMI-0: 1600x900 +1680+900, DVI-I-0: nvidia-auto-select +655+0, DVI-D-0: 1680x1050_60_0 +0+900"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "Stereo" "0"
Option "nvidiaXineramaInfoOrder" "DFP-4"
Option "metamodes" "HDMI-0: 1920x1080 +1680+900, DVI-I-0: nvidia-auto-select +655+0, DVI-D-0: 1680x1050_60_0 +0+900"
Option "SLI" "Off"
Option "MultiGPU" "Off"
Option "BaseMosaic" "off"
SubSection "Display"
Depth 24
EndSubSection
EndSection