无法设置 2560x1440 ubuntu,显示器支持 4k,GPU 支持 7680x4320@60Hz

无法设置 2560x1440 ubuntu,显示器支持 4k,GPU 支持 7680x4320@60Hz

我已经为解决分辨率问题苦苦挣扎了 3 天,却无能为力

所以我有 2 个显示器,一个是 4k 3840x2160,另一个是 1920x1080 全高清,我的 GPU 能够达到“7680x4320@60Hz”,因此它符合要求,我可以毫无问题地以 4k + 全高清运行系统。当我想要转到 2560x1440 时,问题就开始了。

一些奇怪的事情:

在 fedora 33 上,我能够运行 2560x1440,并且 nvidia 驱动程序工作了几个月,没有任何问题,但我不得不迁移到 ubuntu,在 ubuntu 中安装 nvidia 驱动程序后,噩梦就开始了。

即使没有 nvidia 驱动程序,groovy gorilla 也无法显示 2560x1440,它是 4k,然后直接跳转到 1920x1080,但使用 hippo 时,我没有 nvidia 驱动程序就有 2k 分辨率,但在安装 nvidia 驱动程序后(尝试了几乎所有驱动程序版本),分辨率从显示器设置实用程序中消失

在所有上述情况下,2560x1440 仍然保留/显示在 nvidias xserver 选项卡中,但它被称为“2560x1440 缩放”,如果我从 xserver 更改分辨率,linux 就会变得无响应、冻结并崩溃。

我还尝试从 xrandr 实用程序添加行,手动添加分辨率并在所有 ubuntus 上得到这个:sudo xrandr --addmode DP-0 2560x1440_60.00 X 失败请求的错误:BadMatch(无效参数属性)失败请求的主要操作码:140(RANDR)失败请求的次要操作码:18(RRAddOutputMode)失败请求的序列号:37 输出流中的当前序列号:38

我没有更换任何电缆或硬件,几乎尝试了所有我能做的事情……但都无济于事。我需要 2560x1440 才能工作,就像我在 Fedora 33 上遇到的那样。我联系了开发人员并提交了一个错误,他们告诉我一些关于内核差异的事情,换句话说,他们不知道可能是什么问题,救命!!!

我不想仅仅因为 2560x1440 分辨率问题而更改 Linux 发行版。

答案1

我遇到了同样的问题。您必须手动添加分辨率。我通过这种方式解决了。

通过这些命令,您将获得可能的“模式行”设置,用于添加新的分辨率。

sudo get-edid > ~/lg_edid
parse-edid < ~/lg_edid

你会得到类似的东西:

Section "Monitor"
    Identifier "LF27T850"
    ModelName "LF27T850"
    VendorName "SAM"
    # Monitor Manufactured week 22 of 2020
    # EDID version 1.3
    # Digital Display
    DisplaySize 600 340
    Gamma 2.20
    Option "DPMS" "true"
    Horizsync 27-112
    VertRefresh 48-72
    # Maximum pixel clock is 300MHz
    #Not giving standard mode: 1680x1050, 60Hz
    #Not giving standard mode: 1280x800, 60Hz
    #Not giving standard mode: 1280x720, 60Hz
    #Not giving standard mode: 1280x1024, 60Hz
    #Not giving standard mode: 1440x900, 60Hz
    #Not giving standard mode: 1600x900, 60Hz
    #Not giving standard mode: 1152x864, 75Hz

    #Extension block found. Parsing...
    Modeline    "Mode 7" 148.50 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync 
    Modeline    "Mode 0" 291.75 2560 2608 2640 2720 1440 1443 1448 1490 +hsync -vsync 
    Modeline    "Mode 1" 148.500 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync
    Modeline    "Mode 2" 148.500 1920 2448 2492 2640 1080 1084 1089 1125 +hsync +vsync
    Modeline    "Mode 3" 74.250 1280 1390 1420 1650 720 725 730 750 +hsync +vsync
    Modeline    "Mode 4" 74.250 1280 1720 1760 1980 720 725 730 750 +hsync +vsync
    Modeline    "Mode 5" 27.027 720 736 798 858 480 489 495 525 -hsync -vsync
    Modeline    "Mode 6" 27.000 720 732 796 864 576 581 586 625 -hsync -vsync
    Modeline    "Mode 8" 148.50 1920 2448 2492 2640 1080 1084 1089 1125 +hsync +vsync 
    Modeline    "Mode 9" 74.25 1280 1390 1430 1650 720 725 730 750 +hsync +vsync 
    Modeline    "Mode 10" 74.25 1280 1720 1760 1980 720 725 730 750 +hsync +vsync 
    Option "PreferredMode" "Mode 7"
EndSection

就我而言,我对名为“Mode 0”的 Modeline 感兴趣,因为它包含我感兴趣的 2560x1440 分辨率。

"Mode 0" 291.75 2560 2608 2640 2720 1440 1443 1448 1490 +hsync -vsync

“Mode 0” 是一个名称,您可以在后续步骤中将其更改为任何您想要的名称。我将其更改为“2560x1440”。

现在您必须使用 添加设置xrandr。首先,检查您感兴趣的输出。您xrandr只需在终端中输入命令即可使用该命令。在我的情况下,我得到:

Screen 0: minimum 320 x 200, current 4480 x 1440, maximum 16384 x 16384
eDP-1 connected 1920x1080+0+360 (normal left inverted right x axis y axis) 294mm x 165mm
   1920x1080     59.93*+
   1680x1050     59.95    59.88  
   1600x1024     60.17  
   1400x1050     59.98  
   1600x900      59.99    59.94    59.95    59.82  
   1280x1024     60.02  
   1440x900      59.89  
   1400x900      59.96    59.88  
   1280x960      60.00  
   1440x810      60.00    59.97  
   1368x768      59.88    59.85  
   1360x768      59.80    59.96  
   1280x800      59.99    59.97    59.81    59.91  
   1152x864      60.00  
   1280x720      60.00    59.99    59.86    59.74  
   1024x768      60.04    60.00  
   960x720       60.00  
   928x696       60.05  
   896x672       60.01  
   1024x576      59.95    59.96    59.90    59.82  
   960x600       59.93    60.00  
   960x540       59.96    59.99    59.63    59.82  
   800x600       60.00    60.32    56.25  
   840x525       60.01    59.88  
   864x486       59.92    59.57  
   800x512       60.17  
   700x525       59.98  
   800x450       59.95    59.82  
   640x512       60.02  
   720x450       59.89  
   700x450       59.96    59.88  
   640x480       60.00    59.94  
   720x405       59.51    58.99  
   684x384       59.88    59.85  
   680x384       59.80    59.96  
   640x400       59.88    59.98  
   576x432       60.06  
   640x360       59.86    59.83    59.84    59.32  
   512x384       60.00  
   512x288       60.00    59.92  
   480x270       59.63    59.82  
   400x300       60.32    56.34  
   432x243       59.92    59.57  
   320x240       60.05  
   360x202       59.51    59.13  
   320x180       59.84    59.32  
DP-1 disconnected (normal left inverted right x axis y axis)
HDMI-1 disconnected (normal left inverted right x axis y axis)
HDMI-2 connected primary 2560x1440+1920+0 (normal left inverted right x axis y axis) 597mm x 336mm
   1920x1080     60.00    50.00    59.94  
   1680x1050     59.88  
   1600x900      60.00  
   1280x1024     75.02    60.02  
   1440x900      59.90  
   1280x800      59.91  
   1152x864      75.00  
   1280x720      60.00    50.00    59.94  
   1024x768      75.03    70.07    60.00  
   832x624       74.55  
   800x600       72.19    75.00    60.32    56.25  
   720x576       50.00  
   720x480       60.00    59.94  
   640x480       75.00    72.81    66.67    60.00    59.94  
   720x400       70.08  
   2560x1440     71.99* 

我对 HDMI-2 输出感兴趣。

现在我们需要添加我们的 Modeline:

xrandr --newmode "2560x1440" 291.75 2560 2608 2640 2720 1440 1443 1448 1490 +hsync -vsync
xrandr --addmode HDMI-2 2560x1440

就是这样。显示设置中应该有一个选项可以选择分辨率。

但是这些设置并不是永久的。要使它们永久生效,您必须~/.profile通过添加两行代码来修改文件。

这将打开您感兴趣的文件:

gedit ~/.profile

将这两行粘贴到文件中,一切就会正常工作。

xrandr --newmode "2560x1440" 291.75 2560 2608 2640 2720 1440 1443 1448 1490 +hsync -vsync
xrandr --addmode HDMI-2 2560x1440

答案2

好的,谢谢你的回复。我在这里做了一些研究,发现了一些有趣的事情:

  1. 我正在使用 DisplayPort,它在 nvidias 菜单中标记为 DP-0

看起来 edid 1.3 无法识别显示端口或者我做错了什么?它说:

> This is read-edid version 3.0.2. Prepare for some fun. Attempting to
> use i2c interface No EDID on bus 0 No EDID on bus 1 No EDID on bus 2
> No EDID on bus 3 Looks like no busses have an EDID. Sorry!

然后我尝试使用 HDMI 而不是 DPort ,它被 edid 命令识别,如下所示:

Checksum Correct

Section "Monitor"
    Identifier "LG Ultra HD"
    ModelName "LG Ultra HD"
    VendorName "GSM"
    # Monitor Manufactured week 5 of 2016
    # EDID version 1.3
    # Digital Display
    DisplaySize 600 340
    Gamma 2.20
    Option "DPMS" "true"
    Horizsync 30-135
    VertRefresh 56-61
    # Maximum pixel clock is 300MHz
    #Not giving standard mode: 1152x864, 60Hz
    #Not giving standard mode: 1280x1024, 60Hz
    #Not giving standard mode: 1280x720, 60Hz
    #Not giving standard mode: 1600x900, 60Hz
    #Not giving standard mode: 1920x1080, 60Hz
    #Not giving standard mode: 1280x800, 60Hz

#Extension block found. Parsing...
Modeline    "Mode 8" 148.50 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync 
Modeline    "Mode 0" 297.00 3840 4016 4104 4400 2160 2168 2178 2250 +hsync +vsync 
Modeline    "Mode 1" 148.50 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync 
Modeline    "Mode 2" 148.500 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync
Modeline    "Mode 3" 74.250 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync
Modeline    "Mode 4" 74.250 1920 2008 2052 2200 1080 1082 1087 1125 +hsync +vsync interlace
Modeline    "Mode 5" 74.250 1280 1390 1420 1650 720 725 730 750 +hsync +vsync
Modeline    "Mode 6" 27.027 720 736 798 858 480 489 495 525 -hsync -vsync
Modeline    "Mode 7" 25.200 640 656 752 800 480 490 492 525 -hsync -vsync
Option "PreferredMode" "Mode 8"

结束部分

这里没有 2560,我想可能是因为使用了 HDMI 电缆?在说任何话之前,我再次说明,我能够在 fedora + nvidia 驱动程序下以 2560x1440 分辨率工作,这台显示器(已列出分辨率)没有问题,我可以在 ubuntu 上以该分辨率工作,但不需要 nvidia 驱动程序。


这里有什么可行的步骤吗?或者,当显示器通过 DisplayPort DP-0 连接时,如何让 edid 看到我的显示器?

PS 在 Windows 中也没有问题,它始终被列为 2560x1440,无论使用什么驱动程序,我都可以随时将我的显示器设置为该分辨率。

答案3

它不会起作用 - 在 Linux 中,nvidia 驱动程序在支持高刷新率(分辨率)方面存在限制。此外,由于 nvidia 元模式,在使用 nvidia 驱动程序时使用 xrandr 是没有意义的。上面的这些家伙没有告诉你的是,他们很可能使用 amd gpu。对于 amd,他们的配方将适用于 nvidia - 不,你的希望是新的 nvidia 470 驱动程序 - 也许它会在 wayland 上工作

相关内容