我尝试在我的 Ubuntu 笔记本电脑上使用这款显示器 Acer XB270H,但它无法被识别,并且出现分辨率错误的情况。
注意:我首先使用带有显示器 DP 线的扩展坞,并购买了一条迷你 DP 转 DP 线,以便能够直接将计算机插入显示器:但没有改变,这不是硬件问题。
我尝试使用以下命令强制执行新配置xrandr
:
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 DP1 "1920x1080_60.00"
这里显示了什么:
gsd-color[2315]: unable to get EDID for xrandr-DP1: unable to get EDID for output
因此,以下命令将第二个监视器变为黑色,显示'no signal'
:
xrandr --output DP1 --mode 1920x1080_60.00
眼镜
Linux 4.18.0-13-generic #14-Ubuntu SMP x86_64 GNU/Linux
lspci -v | grep VGA
:
00:02.0 VGA compatible controller: Intel Corporation 3rd Gen Core processor Graphics Controller (rev 09) (prog-if 00 [VGA controller])```
inxi -Gxx
:
Graphics: Device-1: Intel 3rd Gen Core processor Graphics driver: i915 v: kernel bus ID: 00:02.0
chip ID: 8086:0166
Display: x11 server: X.Org 1.20.1 driver: i915 compositor: gnome-shell
resolution: 1366x768~60Hz, 1024x768~60Hz
OpenGL: renderer: Mesa DRI Intel Ivybridge Mobile v: 4.2 Mesa 18.2.2 compat-v: 3.0
direct render: Yes
更新 :
我现在尝试使用xorg.conf
建议的文件。
为了获取 EDID,我无法使用read-edid
, parse-edid
: /sys/class/drm/card0-DP1/edid : Partial Read... Try again...
,并且无法在互联网上找到它。
我终于设法从以下位置获取 EDID(256 位)文件视窗使用moninfo.exe
工具:
ls -al /etc/X11/edid.bin
-rwxr----- 1 root root 256 Feb 3 14:00 /etc/X11/edid.bin
我尝试遵循一些 Xorg 指南,但此错误出现了太多次:
gsd-color[2995]: failed to get edid: unable to get EDID for output
答案1
您的日志显示无法读取EDID
您的显示端口,我猜是您的外接显示器。英特尔要求您通过提供EDID
配置xorg.conf
,至少这是我能从记忆中找出的。
我可以建议您尝试使用老式的方式来创建您的xorg.conf
.
尝试创建一个xorg.conf
,如果不存在,您可以在下面创建一个/etc/X11/xorg.conf.d
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0"
Screen 1 "Screen1" RightOf "Screen 0"
InputDevice "Keyboard0" "CoreKeyboard"
InputDevice "Mouse0" "CorePointer"
InputDevice "Touchpad0" "SendCoreEvents"
EndSection
Section "Monitor"
Identifier "Monitor0"
VendorName "Unknown"
ModelName "Unknown"
# ModeLine "1600x900_60.00" 118.25 1600 1696 1856 2112 900 903 908 934 -hsync +vsync"
HorizSync 30.0 - 75.0
VertRefresh 60.0
Option "DPMS"
EndSection
Section "Monitor1"
Identifier "Monitor1"
VendorName "<Vendor_Name>"
ModelName "<Model_Name>"
# ModeLine "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync"
HorizSync 30.0 - 75.0
VertRefresh 60.0
Option "DPMS"
EndSection
Section "Device"
Identifier "<Device_Identifier>"
Driver "<i915!?>"
VendorName "Intel Corporation"
Option "UseEdidDpi" "FALSE" # Make it TRUE and in the next line supply that
Option "CustomEDID" "DFP-2:/etc/X11/<EDID_config_from_Screen_Manufacturer>.bin"
Option "DPI" "150x155"
Section "Screen0"
Identifier "Screen0"
Monitor "Monitor0"
DefaultDepth 24
Option "Stereo" "0"
Option "metamodes" "1600x900 +0+0"
Option "SLI" "Off"
Option "MultiGPU" "Off"
Option "BaseMosaic" "off"
SubSection "Display"
Depth 24
# Mode "1600x900_60.00"
EndSubSection
EndSection
Section "Screen0"
Identifier "Screen1"
Monitor "Monitor1"
DefaultDepth 24
Option "Stereo" "0"
Option "metamodes" "1920x1080 +0+0"
SubSection "Display"
Depth 24
# Mode "1920x1080_60.00"
EndSubSection
EndSection
我确信您可能需要编辑上面的文件,但是它会给您一个开始。尝试并回传您的成功/障碍。
跟进
至于51号线:我理解它是因为您试图将显示器映射到显示器。如果是这样,请创建一个Device
部分并指定显示器和视频卡。就像下面这样:
Section "Device"
Identifier "Device0"
Option "Monitor0" "DVI" # Use your settings
Option "Monitor1" "DP2"
Driver "intel"
EndSection
您遇到问题的其他线路号码是什么?您可以通过 登录吗X
?
EDID
您可以阅读此链接
答案2
我只想添加我的解决方案来解决这个问题。我无法尝试 DependencyHell 的 EDID 解决方案,因为我的机器上没有窗口。具有两个相同的 24" 显示器的双显示器始终可以完美地以 1920x1080 工作。奇怪的是,在连接第三个同样相同的显示器后,第二个显示器不再以 1920x1080 工作。即使将其连接到不同的端口(DP-1 或 DP-3 或 HDMI) -0),仍然是同样的错误。 grep EDID”说:
nvidia-modeset: WARNING: GPU:0: Unable to read EDID for display device HDMI-0
最后,我能够使用特殊的 xorg.conf 解决该问题:
Section "Monitor"
Identifier "Monitor1"
VendorName "Unknown"
ModelName "Acer B246HL"
HorizSync 30.0 - 80.0
VertRefresh 55.0 - 76.0
Option "DPMS"
Modeline "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
EndSection
Section "Monitor"
Identifier "Monitor2"
VendorName "Unknown"
ModelName "Acer B246HL"
HorizSync 30.0 - 80.0
VertRefresh 55.0 - 76.0
Option "DPMS"
Modeline "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
EndSection
Section "Monitor"
Identifier "Monitor3"
VendorName "Unknown"
ModelName "Acer B246HL"
HorizSync 30.0 - 80.0
VertRefresh 55.0 - 76.0
Option "DPMS"
Modeline "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
EndSection
Section "Device"
Identifier "Card0"
Driver "nvidia"
Option "DP-1" "Monitor1"
Option "DP-3" "Monitor2"
Option "HDMI-0" "Monitor3"
BusID "PCI:39:0:0"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor1"
Monitor "Monitor2"
Monitor "Monitor3"
DefaultDepth 24
SubSection "Display"
Depth 24
Modes "1920x1080_60.00"
EndSubSection
EndSection
模型行可以通过以下方式生成:
cvt 1920 1080
其余的应该是不言自明的。如有疑问请追问。
这是唯一对我有用的解决方案,在“xrandr --addmode”命令之后,xrandr 的所有内容都开始生成错误。
答案3
问题的作者提供了以下解决方案。
我终于按照下面答案的想法找到了解决方案。我必须说,我很难知道要在这个
xorg.conf
文件中指定什么才能最终使其工作。示例、指南和文档对于什么是强制性的、什么不是强制性的以及正确的值并不是非常精确。
- 问题1:检索显示器 EDID
- 解决方案:通过工具使用Windows
moninfo.exe
。
- 问题2: 配置合适的
xorg.conf
文件- 解决方案:不要生成复杂的,而只是通过多个测试来填充必要的...(即:xorg 在移动某些程序窗口或打开第二个应用程序时崩溃...)
/etc/X11/xorg.conf :
Section "Monitor" Identifier "MonitorLVDS1" VendorName "Monitor Vendor" ModelName "Monitor Model" EndSection Section "Monitor" Identifier "MonitorDP1" VendorName "Acer" ModelName "XB270H" Option "Right Of" "MonitorLVDS1" EndSection Section "Device" Identifier "Device0" BusID "PCI:00:02:0" Option "LVDS-1" "MonitorLVDS1" Option "DP-1" "MonitorDP1" Driver "intel" Option "CustomEDID" "DP1:/etc/X11/edid.bin" Option "UseEDID" "true" EndSection Section "Screen" Identifier "Screen0" Device "Device0" DefaultDepth 24 SubSection "Display" Depth 24 Virtual 3286 1200 EndSubSection EndSection Section "ServerLayout" Identifier "Default Layout" Screen "Screen0" EndSection