因此,我将一台 HP 显示器作为外接显示器连接到我的笔记本电脑上。显示器的文档说,使用其提供的 HDMI 电缆的最佳分辨率是 2560x1440 @ 60 Hz。当我启动 Windows 时,我可以获得该分辨率。但无论我怎么尝试,我都无法在 Ubuntu 20.04 中获得该分辨率。
我的笔记本电脑上没有 DisplayPort 连接,因此我使用提供的 HDMI 电缆。
我尝试使用 设置分辨率xrandr --admode
,但新模式失败:
$ 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 --newmode "2560x1440" 312.25 2560 2752 3024 3488 1440 1443 1448 1493 -hsync +vsync
$ xrandr --addmode XWAYLAND1 2560x1440
$ xrandr --output XWAYLAND1 --mode 2560x1440
xrandr: Configure crtc 1 failed
以下是 的输出xrandr --verbose
:
Screen 0: minimum 16 x 16, current 3840 x 1441, maximum 32767 x 32767
XWAYLAND0 connected 1920x1080+1920+361 (0x24) normal (normal left inverted right x axis y axis) 290mm x 170mm
Identifier: 0x21
Timestamp: 20221
Subpixel: unknown
Gamma: 1.0:1.0:1.0
Brightness: 0.0
Clones:
CRTC: 0
CRTCs: 0
Transform: 1.000000 0.000000 0.000000
0.000000 1.000000 0.000000
0.000000 0.000000 1.000000
filter:
non-desktop: 0
supported: 0, 1
1920x1080 (0x24) 173.000MHz -HSync +VSync *current +preferred
h: width 1920 start 2048 end 2248 total 2576 skew 0 clock 67.16KHz
v: height 1080 start 1083 end 1088 total 1120 clock 59.96Hz
XWAYLAND1 connected 1920x1200+0+0 (0x25) normal (normal left inverted right x axis y axis) 600mm x 340mm
Identifier: 0x23
Timestamp: 20221
Subpixel: unknown
Gamma: 1.0:1.0:1.0
Brightness: 0.0
Clones:
CRTC: 1
CRTCs: 1
Transform: 1.000000 0.000000 0.000000
0.000000 1.000000 0.000000
0.000000 0.000000 1.000000
filter:
non-desktop: 0
supported: 0, 1
1920x1200 (0x25) 193.250MHz -HSync +VSync *current +preferred
h: width 1920 start 2056 end 2256 total 2592 skew 0 clock 74.56KHz
v: height 1200 start 1203 end 1209 total 1245 clock 59.88Hz
以下是输出lspci -k | grep -EA3 'VGA|3D|Display'
00:02.0 VGA compatible controller: Intel Corporation HD Graphics 620 (rev 02)
DeviceName: Onboard IGD
Subsystem: Dell HD Graphics 620
Kernel driver in use: i915
--
00:13.0 Non-VGA unclassified device: Intel Corporation Sunrise Point-LP Integrated Sensor Hub (rev 21)
Subsystem: Dell Sunrise Point-LP Integrated Sensor Hub
Kernel driver in use: intel_ish_ipc
Kernel modules: intel_ish_ipc
和glxinfo | grep -i vendor
:
server glx vendor string: SGI
client glx vendor string: Mesa Project and SGI
Vendor: Intel (0x8086)
OpenGL vendor string: Intel
我正在运行带有 Mesa Intel® HD Graphics 620 (KBL GT2) 卡的 Ubuntu 20.04.1 LTS。Gnome 版本为 3.35.3,以 Wayland 为窗口系统。
关于如何使显示器显示最佳分辨率有什么建议吗?
编辑1
我尝试过切换到 Xorg,而不是 Wayland。我仍然遇到同样的问题。如果我启动 Xorg,以下是来自的相关行xrandr --verbose
:
HDMI-1 connected 1920x1200+1920+0 (0xa1) normal (normal left inverted right x axis y axis) 597mm x 336mm
Identifier: 0x43
Timestamp: 76498
Subpixel: unknown
Gamma: 1.0:1.0:1.0
Brightness: 1.0
Clones:
CRTC: 1
CRTCs: 0 1 2
Transform: 1.000000 0.000000 0.000000
0.000000 1.000000 0.000000
0.000000 0.000000 1.000000
filter:
EDID:
00ffffffffffff00220e753401010101
091e0103803c22782a9325a9544d9e25
0c5054a10800d1c081c081809500a9c0
a940b300d100565e00a0a0a029503020
350055502100001a000000fd00323c1e
5a19000a202020202020000000fc0048
502045323733710a20202020000000ff
0036434d303039303939430a202001cc
020319b149101f041303120211016703
0c0010000032e2002b023a801871382d
40582c450055502100001e023a80d072
382d40102c458055502100001e565e00
a0a0a029503020350055502100001a00
00000000000000000000000000000000
00000000000000000000000000000000
00000000000000000000000000000023
_MUTTER_PRESENTATION_OUTPUT: 0
HDCP Content Type: HDCP Type0
supported: HDCP Type0, HDCP Type1
Content Protection: Undesired
supported: Undesired, Desired, Enabled
max bpc: 12
range: (8, 12)
content type: No Data
supported: No Data, Graphics, Photo, Cinema, Game
Colorspace: Default
supported: Default, SMPTE_170M_YCC, BT709_YCC, XVYCC_601, XVYCC_709, SYCC_601, opYCC_601, opRGB, BT2020_CYCC, BT2020_RGB, BT2020_YCC, DCI-P3_RGB_D65, DCI-P3_RGB_Theater
aspect ratio: Automatic
supported: Automatic, 4:3, 16:9
Broadcast RGB: Automatic
supported: Automatic, Full, Limited 16:235
audio: auto
supported: force-dvi, off, auto, on
link-status: Good
supported: Good, Bad
CONNECTOR_ID: 92
supported: 92
non-desktop: 0
range: (0, 1)
1920x1200 (0xa1) 154.000MHz +HSync -VSync *current
h: width 1920 start 1968 end 2000 total 2080 skew 0 clock 74.04KHz
v: height 1200 start 1203 end 1209 total 1235 clock 59.95Hz
1920x1080 (0xa2) 148.500MHz +HSync +VSync
h: width 1920 start 2008 end 2052 total 2200 skew 0 clock 67.50KHz
v: height 1080 start 1084 end 1089 total 1125 clock 60.00Hz
1920x1080 (0xa3) 148.500MHz +HSync +VSync
h: width 1920 start 2448 end 2492 total 2640 skew 0 clock 56.25KHz
v: height 1080 start 1084 end 1089 total 1125 clock 50.00Hz
1920x1080 (0xa4) 148.352MHz +HSync +VSync
h: width 1920 start 2008 end 2052 total 2200 skew 0 clock 67.43KHz
v: height 1080 start 1084 end 1089 total 1125 clock 59.94Hz
1600x1200 (0xa5) 162.000MHz +HSync +VSync
h: width 1600 start 1664 end 1856 total 2160 skew 0 clock 75.00KHz
v: height 1200 start 1201 end 1204 total 1250 clock 60.00Hz
1680x1050 (0x4b) 119.000MHz +HSync -VSync
h: width 1680 start 1728 end 1760 total 1840 skew 0 clock 64.67KHz
v: height 1050 start 1053 end 1059 total 1080 clock 59.88Hz
1600x900 (0xa6) 108.000MHz +HSync +VSync
h: width 1600 start 1624 end 1704 total 1800 skew 0 clock 60.00KHz
v: height 900 start 901 end 904 total 1000 clock 60.00Hz
1280x1024 (0x52) 108.000MHz +HSync +VSync
h: width 1280 start 1328 end 1440 total 1688 skew 0 clock 63.98KHz
v: height 1024 start 1025 end 1028 total 1066 clock 60.02Hz
1440x900 (0xa7) 88.750MHz +HSync -VSync
h: width 1440 start 1488 end 1520 total 1600 skew 0 clock 55.47KHz
v: height 900 start 903 end 909 total 926 clock 59.90Hz
1280x720 (0xa8) 74.250MHz +HSync +VSync
h: width 1280 start 1390 end 1430 total 1650 skew 0 clock 45.00KHz
v: height 720 start 725 end 730 total 750 clock 60.00Hz
1280x720 (0xa9) 74.250MHz +HSync +VSync
h: width 1280 start 1720 end 1760 total 1980 skew 0 clock 37.50KHz
v: height 720 start 725 end 730 total 750 clock 50.00Hz
1280x720 (0xaa) 74.176MHz +HSync +VSync
h: width 1280 start 1390 end 1430 total 1650 skew 0 clock 44.96KHz
v: height 720 start 725 end 730 total 750 clock 59.94Hz
1024x768 (0x67) 65.000MHz -HSync -VSync
h: width 1024 start 1048 end 1184 total 1344 skew 0 clock 48.36KHz
v: height 768 start 771 end 777 total 806 clock 60.00Hz
800x600 (0x76) 40.000MHz +HSync +VSync
h: width 800 start 840 end 968 total 1056 skew 0 clock 37.88KHz
v: height 600 start 601 end 605 total 628 clock 60.32Hz
720x576 (0xab) 27.000MHz -HSync -VSync
h: width 720 start 732 end 796 total 864 skew 0 clock 31.25KHz
v: height 576 start 581 end 586 total 625 clock 50.00Hz
720x480 (0xac) 27.027MHz -HSync -VSync
h: width 720 start 736 end 798 total 858 skew 0 clock 31.50KHz
v: height 480 start 489 end 495 total 525 clock 60.00Hz
720x480 (0xad) 27.000MHz -HSync -VSync
h: width 720 start 736 end 798 total 858 skew 0 clock 31.47KHz
v: height 480 start 489 end 495 total 525 clock 59.94Hz
640x480 (0xae) 25.200MHz -HSync -VSync
h: width 640 start 656 end 752 total 800 skew 0 clock 31.50KHz
v: height 480 start 490 end 492 total 525 clock 60.00Hz
640x480 (0x85) 25.175MHz -HSync -VSync
h: width 640 start 656 end 752 total 800 skew 0 clock 31.47KHz
v: height 480 start 490 end 492 total 525 clock 59.94Hz
720x400 (0xaf) 28.320MHz -HSync +VSync
h: width 720 start 738 end 846 total 900 skew 0 clock 31.47KHz
v: height 400 start 412 end 414 total 449 clock 70.08Hz
编辑2:
查看日志后grep 2560
,我查看了一下/var/log/syslog
,发现以下几行:
Nov 25 13:57:04 laptop systemd[1606]: Starting GNOME Shell on X11...
Nov 25 13:57:04 laptop /usr/lib/gdm3/gdm-x-session[1696]: (II) modeset(0): EDID vendor "BOE"
Nov 25 13:57:04 laptop /usr/lib/gdm3/gdm-x-session[1696]: (II) modeset(0): Printing DDC gath
Nov 25 13:57:04 laptop /usr/lib/gdm3/gdm-x-session[1696]: (II) modeset(0): Modeline "1920x10
Nov 25 13:57:04 laptop /usr/lib/gdm3/gdm-x-session[1696]: (II) modeset(0): Modeline "1920x10
Nov 25 13:57:04 laptop /usr/lib/gdm3/gdm-x-session[1696]: (--) modeset(0): HDMI max TMDS fre
Nov 25 13:57:04 laptop gnome-shell[1853]: Failed to use stored monitor configuration: Invalid mode 2560x1440 (59.864616) for monitor 'HPN HP E273q'
这就是启动时发生的情况。如果我尝试通过 更改分辨率xrandr
,则会得到:
Nov 25 13:09:47 laptop gnome-shell[1853]: Failed to use stored monitor configuration: Invalid mode 2560x1440 (59.864616) for monitor 'HPN HP E273q'
Nov 25 13:09:53 laptop /usr/lib/gdm3/gdm-x-session[1696]: (II) modeset(0): Allocate new frame buffer 4480x1440 stride
Nov 25 13:09:53 laptop /usr/lib/gdm3/gdm-x-session[1696]: (EE) modeset(0): failed to set mode: Invalid argument
Nov 25 13:09:53 laptop /usr/lib/gdm3/gdm-x-session[1696]: (II) modeset(0): Allocate new frame buffer 3840x1200 stride
Nov 25 13:09:54 laptop /usr/lib/gdm3/gdm-x-session[1696]: (II) modeset(0): EDID vendor "BOE", prod id 1703
Nov 25 13:09:54 laptop /usr/lib/gdm3/gdm-x-session[1696]: (II) modeset(0): Printing DDC gathered Modelines:
Nov 25 13:09:54 laptop /usr/lib/gdm3/gdm-x-session[1696]: (II) modeset(0): Modeline "1920x1080"x0.0 138.78 1920 1968 2000 2080 1080 1083 1088 1112 +hsync -vsync (66.7 kHz eP)
Nov 25 13:09:54 laptop /usr/lib/gdm3/gdm-x-session[1696]: (II) modeset(0): Modeline "1920x1080"x0.0 111.02 1920 1968 2000 2080 1080 1083 1088 1112 +hsync -vsync (53.4 kHz e)
Nov 25 13:09:54 laptop /usr/lib/gdm3/gdm-x-session[1696]: (--) modeset(0): HDMI max TMDS frequency 250000KHz
编辑3:
我可以使用 来获得 30 Hz 的 2560x1440 分辨率xrandr
。只有 60.00(或 55、59.9 等)分辨率无法工作。
答案1
根据您发布的日志,您的 HDMI 输出限制为 250 MHz 像素时钟:
(--) modeset(0): HDMI max TMDS frequency 250000KHz
这可能是您的屏幕、电缆和/或视频芯片的限制。无论如何,您必须在此限制内工作。
该cvt
工具无需特定选项即可生成具有“舒适”消隐时间的标准 VESA CVT 模式线,适用于创建该标准时的大多数显示器。
使用您所需的分辨率和刷新率运行它(就像您所做的那样)会给出以下模式行:
# 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
该模式线需要 312.25 MHz 像素时钟,这超过了 HDMI 输出所能提供的频率。
对于 HDMI 输出来说,拥有“舒适”的消隐时间既不必要也不相关,因此可以使用“减少”的消隐时间。cvt
有一个--reduced
用于此目的的选项。运行cvt --reduced 2560 1440 60
将得到以下模式行:
# 2560x1440 59.95 Hz (CVT 3.69M9-R) hsync: 88.79 kHz; pclk: 241.50 MHz
Modeline "2560x1440R" 241.50 2560 2608 2640 2720 1440 1443 1448 1481 +hsync -vsync
这个有241.50 MHz像素时钟,应该可以与您的 HDMI 输出配合使用。
实际上,解码你的 EDID 输出http://www.edidreader.com/给出命令所给出的准确时间cvt --reduced
。由于 EDID 中的信息是您的屏幕认为您应该使用的信息,因此上面生成的模式行完全有可能在您的系统上工作。
还有一个谜团:为什么它不能直接使用。我使用的是 2560x1440 显示器,没有遇到这样的问题。
答案2
您有第二根 HDMI 电缆可以试试吗?我知道这听起来很傻,但我以前遇到过非常类似的问题(显示器只能显示 1920x1080 而不是 2560x1080),解决办法是更换电缆。
答案3
我遇到了同样的问题,在 Windows 中它可以以 2k 分辨率运行,但在 PopOs 中却不行。
您还可以以 60 Hz 运行,具体操作如下:
在 Windows 中使用“监视器资产管理器”软件获取 EDID。从此复制 2560x1440 分辨率(Windows 中的首选分辨率)的模式行,从实时 EDID 或从 Windows 注册表选项选择(两者大致相同)。
然后您可以在中使用这些模式行值xrandr --newmode
,然后xrandr --addmode <interface> <resolution>
(通过检查名称xrandr
)。
这种方法对我来说很有效。我尝试使用cvt
工具来生成模式行,但没有成功。由于 Windows 可以使用这些模式行,因此 Linux 也有可能可以使用,因为监视器是相同的。