Ubuntu 18.04
实际显示器的最大分辨率“分辨率(最大):2560x1440”
双显示器设置。
问题:安装 NVidia 驱动程序后,一切都变得更大,就好像屏幕分辨率降低了一样。
期望:显示效果与 Nouveau 相同,但支持双显示器。
到此为止的步骤:
- 机器中已安装卡
- 已启动
- 垂直方向的显示屏非常薄,但跨越了两个显示器
- 在终端中检查所需的驱动程序
ubuntu-drivers devices
- 推荐的司机是
nvidia-driver-390 - distro non-free recommended
- 打开“软件和更新”应用程序并转到“其他驱动程序”部分。列出了“nvidia-driver-390”,因此我选择了它并单击“应用更改”。驱动程序已下载。
- 重新启动
- 现在显示分辨率较低,所有内容都比以前大很多。
为了解决这个问题,我:
- 检查 NVidia X 服务器设置以验证分辨率是否设置为 1920x1080(即)。
- 检查了 Ubuntu 设置中的“屏幕显示”设置,确认“分辨率”也设置为 1920x1080(就是这个),并且比例为 100%(就是这个,唯一的其他选项是 200%,这会使东西变得更大)
- 生成了 /etc/X11/xorg.conf 文件,并尝试根据谷歌搜索在“监控”下添加一个选项
Option "DPI" "96x96"
。重启后没有变化。 - 尝试了 NVidia X 服务器设置中的“保存到 X 配置文件”选项,并
Option "DPI" "96x96"
再次应用该设置,以防 NVidia 查找到错误的位置。重启后没有变化。
以下是 xorg.conf 的内容:
# nvidia-xconfig: X configuration file generated by nvidia-xconfig
# nvidia-xconfig: version 390.132 (buildmeister@swio-display-x64-rhel04-14) Fri Nov 1 05:15:46 PDT 2019
# nvidia-settings: X configuration file generated by nvidia-settings
# nvidia-settings: 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 "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 "BenQ EW3270ZL"
HorizSync 30.0 - 89.0
VertRefresh 50.0 - 76.0
Option "DPMS"
Option "DPI" "96x96"
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce GT 630"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "Stereo" "0"
Option "nvidiaXineramaInfoOrder" "DFP-0"
Option "metamodes" "DVI-I-2: nvidia-auto-select +0+0, DVI-I-3: nvidia-auto-select +1920+0"
Option "SLI" "Off"
Option "MultiGPU" "Off"
Option "BaseMosaic" "off"
Option "UseEdidDpi" "False"
SubSection "Display"
Depth 24
EndSubSection
EndSection
请问我该怎么办?谢谢。
更新:
仍然没有进展,但也尝试了以下/一些额外的信息。
NVidia 卡有两个 DVI 输出。显示器采用 HDMI,因此我在每个显示器上都使用从 DVI 到 HDMI 的转换线。不确定这是否会影响分辨率检测。
尝试根据显示器支持的最高分辨率为 xrandr 添加自定义分辨率(已知通过主板上的 HDMI 运行时有效)
xrandr
检查支持的分辨率
Screen 0: minimum 8 x 8, current 3840 x 1080, maximum 16384 x 16384
DVI-I-0 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 709mm x 399mm
1920x1080 60.00*+ 59.94 50.00 60.05 60.00 50.04
1680x1050 59.95
1600x900 60.00
1280x1024 75.02 60.02
1280x800 59.81
1280x720 60.00 59.94 50.00
1024x768 75.03 60.00
800x600 75.00 60.32
720x576 50.00
720x480 59.94
640x480 75.00 59.94 59.93
DVI-I-1 connected 1920x1080+1920+0 (normal left inverted right x axis y axis) 709mm x 399mm
1920x1080 60.00*+ 59.94 50.00 60.05 60.00 50.04
1680x1050 59.95
1600x900 60.00
1280x1024 75.02 60.02
1280x800 59.81
1280x720 60.00 59.94 50.00
1024x768 75.03 60.00
800x600 75.00 60.32
720x576 50.00
720x480 59.94
640x480 75.00 59.94 59.93
HDMI-0 disconnected (normal left inverted right x axis y axis)
获取已知的显示器支持的最大分辨率的 ModeLine:
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 添加新的分辨率:
xrandr --newmode "2560x1440_60.00" 312.25 2560 2752 3024 3488 1440 1443 1448 1493 -hsync +vsync
然后再次执行 xrandr 看看发生了什么:
Screen 0: minimum 8 x 8, current 3840 x 1080, maximum 16384 x 16384
DVI-I-0 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 709mm x 399mm
1920x1080 60.00*+ 59.94 50.00 60.05 60.00 50.04
1680x1050 59.95
1600x900 60.00
1280x1024 75.02 60.02
1280x800 59.81
1280x720 60.00 59.94 50.00
1024x768 75.03 60.00
800x600 75.00 60.32
720x576 50.00
720x480 59.94
640x480 75.00 59.94 59.93
DVI-I-1 connected 1920x1080+1920+0 (normal left inverted right x axis y axis) 709mm x 399mm
1920x1080 60.00*+ 59.94 50.00 60.05 60.00 50.04
1680x1050 59.95
1600x900 60.00
1280x1024 75.02 60.02
1280x800 59.81
1280x720 60.00 59.94 50.00
1024x768 75.03 60.00
800x600 75.00 60.32
720x576 50.00
720x480 59.94
640x480 75.00 59.94 59.93
HDMI-0 disconnected (normal left inverted right x axis y axis)
2560x1440_60.00 (0x2be) 312.250MHz -HSync +VSync
h: width 2560 start 2752 end 3024 total 3488 skew 0 clock 89.52KHz
v: height 1440 start 1443 end 1448 total 1493 clock 59.96Hz
我注意到 xrandr 已将自定义分辨率添加到 HDMI-0,但不影响 DVI-I-0 或 DVI-I-1。我认为这是因为 xrandr 对 NVidia 卡没有影响?
于是我再次查看了 Xorg 设置。“NVidia X Server Settings”工具似乎确实保存到了/etc/X11/xorg.conf
文件中。因此我假设它确实从这个文件中获取了设置。我跟着这个帖子将 ModeLine 添加到该monitor
部分,然后从Screen
Xorg.conf 文件的部分引用它。
这也没有影响。
因此仍然非常欢迎您提出想法:)
答案1
好的,我解决了。我卸载了 NVidia 驱动程序并使用了 Nouvea。如果我知道可以这样开始,我就会这么做,因为我不需要任何 NVidia 功能,只需要双显示器支持。
对于那些对最后一种方法感兴趣的人,这里是它。请注意,这些说明仅适用于我的设备,因此您需要在以下命令中更改设备的名称。
在终端:
xrandr
这将为您提供输出,其中显示所有可用的图形输出及其支持的分辨率。您应该看到 HDMI-1 已连接并支持 2560x1440 分辨率。并且 DVI-I-1-2(或类似产品)也已连接,但仅支持 1920x1080,因此我们需要让 DVI-I-1-2 也支持 2560x1440
为此,我们需要使用 xrandr 添加另一个 2560x1440 分辨率的配置文件,然后将其应用于 DVI-I-1-2。再次在终端中:
cvt 2560 1440 60
这将为您提供执行此操作所需的“模式行”。
目前该行是:
"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
然后将模式添加到DVI-I-2
xrandr --addmode DVI-I-2 2560x1440_60.00
现在您应该可以转到正常显示设置并为每个显示器选择更高的分辨率。
但是,这不会在用户会话之间持续存在,因此您需要解决这个问题。
创建一个 .xprofile 文件,该文件将在每次 Ubuntu 启动时自动执行(执行此操作之前请检查它是否存在)。并将其设置为具有执行权限:
touch $HOME/.xprofile
chmod +x $HOME/.xprofile
将上面的两行复制并粘贴到该文件中:
xrandr --newmode "2560x1440_60.00" 312.25 2560 2752 3024 3488 1440 1443 1448 1493 -hsync +vsync
xrandr --addmode DVI-I-2 2560x1440_60.00
重新启动后,您将在两个显示器上获得全分辨率。