无法在配备英特尔显卡的 Ubuntu 20.04 上设置 2560x1440 分辨率

无法在配备英特尔显卡的 Ubuntu 20.04 上设置 2560x1440 分辨率

因此,我将一台 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 也有可能可以使用,因为监视器是相同的。

相关内容