我的显卡是 Nvidia GT 440,我在 Linux Mint 18 上使用 nvidia 二进制驱动程序 v384.130。我有一台 Dell U2518D,其原始分辨率为 2560x1440@60Hz,问题是 Mint 设置中的分辨率选项变得16:9 高达 1920x1080。在网上做了一些研究,尝试了很多不同的 xorg.conf 文件配置后,我未能解决问题,并发现也许我应该创建一个自定义 EDID 文件?
所以使用 get-edid 工具我得到这个:
This is read-edid version 3.0.2. Prepare for some fun.
Attempting to use i2c interface
No EDID on bus 0
No EDID on bus 1
No EDID on bus 2
No EDID on bus 3
No EDID on bus 4
1 potential busses found: 5
256-byte EDID successfully retrieved from i2c bus 5
Looks like i2c was successful. Have a good day.
Checksum Correct
Section "Monitor"
Identifier "DELL U2518D"
ModelName "DELL U2518D"
VendorName "DEL"
# Monitor Manufactured week 14 of 2018
# EDID version 1.3
# Digital Display
DisplaySize 550 310
Gamma 2.20
Option "DPMS" "true"
Horizsync 30-90
VertRefresh 56-76
# Maximum pixel clock is 250MHz
#Not giving standard mode: 1152x864, 75Hz
#Not giving standard mode: 1600x1200, 60Hz
#Not giving standard mode: 1280x1024, 60Hz
#Not giving standard mode: 1920x1080, 60Hz
#Extension block found. Parsing...
Modeline "Mode 16" 148.50 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync
Modeline "Mode 0" 241.50 2560 2608 2640 2720 1440 1443 1448 1481 +hsync -vsync
Modeline "Mode 1" 148.500 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync
Modeline "Mode 2" 74.250 1920 2008 2052 2200 1080 1082 1087 1125 +hsync +vsync interlace
Modeline "Mode 3" 74.250 1280 1390 1420 1650 720 725 730 750 +hsync +vsync
Modeline "Mode 4" 27.027 720 736 798 858 480 489 495 525 -hsync -vsync
Modeline "Mode 5" 27.027 720 736 798 858 480 489 495 525 -hsync -vsync
Modeline "Mode 6" 27.027 1440 1478 1602 1716 480 484 487 525 -hsync -vsync interlace
Modeline "Mode 7" 27.000 1440 1464 1590 1728 576 578 581 625 -hsync -vsync interlace
Modeline "Mode 8" 25.200 640 656 752 800 480 490 492 525 -hsync -vsync
Modeline "Mode 9" 27.027 1440 1478 1602 1716 480 484 487 525 -hsync -vsync interlace
Modeline "Mode 10" 27.000 720 732 796 864 576 581 586 625 -hsync -vsync
Modeline "Mode 11" 27.000 720 732 796 864 576 581 586 625 -hsync -vsync
Modeline "Mode 12" 27.000 1440 1464 1590 1728 576 578 581 625 -hsync -vsync interlace
Modeline "Mode 13" 74.250 1280 1720 1760 1980 720 725 730 750 +hsync +vsync
Modeline "Mode 14" 74.250 1920 2448 2492 2640 1080 1082 1089 1125 +hsync +vsync interlace
Modeline "Mode 15" 148.500 1920 2448 2492 2640 1080 1084 1089 1125 +hsync +vsync
Modeline "Mode 17" 147.18 2048 2096 2128 2208 1080 1083 1093 1111 +hsync -vsync
Modeline "Mode 18" 74.25 1280 1390 1430 1650 720 725 730 750 +hsync +vsync
Modeline "Mode 19" 58.23 2048 2096 2128 2208 1080 1083 1093 1099 +hsync -vsync
Option "PreferredMode" "Mode 16"
EndSection
因此,在“#Extension block found. Parsing...”行下方,我可以看到模式 0 是我想要的模式(本机分辨率),它存在于此处,但不在 Linux Mint 的分辨率选项中,而且还有首选模式的选项为模式 16,实际上是 1920x1080 分辨率,这是 Linux Mint 推荐的选项。
我还想指出,Windows 7 上也发生了同样的情况,我通过在 nvidia 控制面板中创建自定义分辨率来修复它。
有什么建议么?
我还发布了 xorg.conf 文件,因为它现在是原始状态。
# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig: version 384.130 (buildmeister@swio-display-x86-rhel47-03) Wed Mar 21 04:09:03 PDT 2018
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0"
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 "Unknown"
HorizSync 28.0 - 33.0
VertRefresh 43.0 - 72.0
Option "DPMS"
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
Option "ModeValidation" "AllowNonEdidModes"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Depth 24
EndSubSection
EndSection