![第二台显示器的分辨率问题](https://linux22.com/image/1091114/%E7%AC%AC%E4%BA%8C%E5%8F%B0%E6%98%BE%E7%A4%BA%E5%99%A8%E7%9A%84%E5%88%86%E8%BE%A8%E7%8E%87%E9%97%AE%E9%A2%98.png)
我知道有很多类似的帖子,但我找不到解决问题的方法。我刚刚全新安装了 Ubuntu 17.10(因为我弄乱了 Nvidia 驱动程序,所以我决定重新开始)。我有两个相同的显示器,21.5 英寸全高清,但第二个显示器的分辨率固定为 1024x768。我尝试使用 Nvidia 驱动程序或默认驱动程序,但没有任何结果。正如您所见,它根本无法检测到我的第二个显示器。
两个显示器都插入同一个 GPU,即 Nvidia GTX 950。该 GPU 有一个 DisplayPort、一个 HDMI 和一个 DVI-I 输入。
- 主显示器使用 VGA 转 HDMI 电缆(从显示器到 GPU)
- 第二种使用 VGA 转 DVI-I(使用 VGA 转 DVI 适配器)
下面有一些可能有帮助的信息。
xrand 输出:
Screen 0: minimum 320 x 200, current 2944 x 1080, maximum 8192 x 8192
XWAYLAND0 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 480mm x 270mm
1920x1080 59.96*+
XWAYLAND1 connected 1024x768+1920+0 (normal left inverted right x axis y axis) 0mm x 0mm
1024x768 59.92*+
lshw -c 视频输出:
*-display
description: VGA compatible controller
product: GM206 [GeForce GTX 950]
vendor: NVIDIA Corporation
physical id: 0
bus info: pci@0000:01:00.0
version: a1
width: 64 bits
clock: 33MHz
capabilities: pm msi pciexpress vga_controller bus_master cap_list rom
configuration: driver=nouveau latency=0
resources: irq:123 memory:f6000000-f6ffffff memory:e0000000-efffffff memory:f0000000-f1ffffff ioport:e000(size=128) memory:c0000-dffff
我的司机:
我已经尝试过的失败方法:
使用 ubuntu 上的信息维基百科我尝试按照以下命令手动设置所需的分辨率:
~$ cvt 1920 1080
# 1920x1080 59.96 Hz (CVT 2.07M9) hsync: 67.16 kHz; pclk: 173.00 MHz
Modeline "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
~$ xrandr --newmode "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
~$ xrandr --addmode XWAYLAND1 "1920x1080_60.00"
~$ xrandr --output XWAYLAND1 --mode "1920x1080_60.00"
xrandr: Configure crtc 1 failed
如果我使用“附加驱动程序”菜单中的 Nvidia 二进制驱动程序并执行相同的命令,我将收到“失败请求的 X 错误:BadMatch(无效参数属性)”错误,我在进行全新安装之前已经对其进行了测试。
我尝试使用某人在类似帖子中建议的 Arandr 软件,但仍然出现相同的错误。
抱歉发了这么长的帖子。我尽力提供尽可能多的信息。
答案1
经过几天的研究,这就是我在 Ubuntu 和 Pop OS 中可以使用的方法。
只需向下/etc/X11/xorg.conf
滚动到Device
部分并添加Option "IgnoreEDIDChecksum" "DFP-1"
即可EndSection 之前
所以现在我的设备部分看起来像这样。
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "GeForce GTX 1050 Ti"
Option "IgnoreEDIDChecksum" "DFP-1"
EndSection
我希望这能帮助任何想要解决这个问题的人。仅供参考,我有双显示器,它们属于不同的品牌,但尺寸和分辨率相同。
PS您可以尝试更改DFP-1
为DFP-0
并重新启动以测试更改
答案2
经过大量搜索,我找到了一种解决方法(或者我可以称之为修复)。 以下是我修复它的步骤。
- 我从“软件和更新”->“附加驱动程序”禁用了 Nvidia 驱动程序
- 有两个相同的显示器(同一供应商等),我获取了工作显示器的 EDID
- 我通过 Nvidia 设置窗口生成了 X 配置文件
- 我手动修改了 xorg.conf 文件(位于 /etc/X11/xorg.conf),并在“屏幕”部分添加了以下选项:
Option "CustomEDID" "CRT-0:/myfullPath/edid.bin
其中“CRT-0”是 Nvidia 分配给我的显示器的先前名称,edid.bin 是工作显示器的 EDID 文件。 - 然后我重新启动,一切运行正常。
答案3
我遇到过类似的问题,通过不使用 VGA 转 DP 适配器解决了这个问题。使用 DP 电缆后问题立即消失。