Fedora 32 检测到错误的显示器分辨率

Fedora 32 检测到错误的显示器分辨率

我拥有一台 Lenovo v320 17IKB 笔记本电脑。我安装了一台新显示器 (iiyama ProLite XUB3493WQSU-B1),其分辨率为 3440x1440,但在我的设置中,我可以选择的最大分辨率是 2560x1440。xrandr输出以下内容:

HDMI-1 connected 2560x1440+0+0 (normal left inverted right x axis y
axis) 800mm x 345mm 2560x1440 59.95* 1720x1440 75.00 2048x1152 60.00
1920x1200 59.95 1920x1080 60.00 60.00 50.00 59.94 1920x1080i 60.00
50.00 59.94 1600x1200 60.00 1600x900 60.00 1280x1024 75.02 60.02 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 720x576i 50.00 720x480 60.00 59.94 720x480i 60.00 59.94
640x480 75.00 72.81 66.67 60.00 59.94 720x400 70.08

我还不知道 HDMI 版本。我希望你可以帮助我。

答案1

好吧,我这些天没有笔记本电脑或运行 Fedora,而且我不是专家,..但我确实有同样的显示器和同样的问题(尽管是在 Debian Buster 上)。我认为问题在于 EDID 数据需要的同步速率高于我的计算机在 3440x1440 下所能提供的同步速率。屏幕规格为 48Hz 至 75Hz。通过阅读周围的内容,我发现很多计算机只能通过显示端口提供该分辨率范围内的同步速率。我用的是HDMI。正确的答案可能是对 EDID 设置进行一些巧妙的处理,但这超出了我的范围。

我的解决方法是从 xorg 开始的:

~$ cvt 3440 1440 44

(44 是我正在使用的刷新率。我通过反复试验发现了这一点。从 24 之类的值开始,然后逐步提高 - 您必须针对每个增量执行下面的其余过程,看看它是否有效。)建议您在下一个命令中使用模型行,在我的例子中,我按如下方式进行:

~$ xrandr --newmode "3440x1440_44.00"  299.75  3440 3664 4024 4608  1440 1443 1453 1479 -hsync +vsync
~$ xrandr --addmode HDMI-1 3440x1440_44.00
~$ xrandr --output HDMI-1 --mode 3440x1440_44.00

我把它放在一个脚本中,每次登录时运行。我相信聪明的人可以让它永久存在。

然后在 Wayland 上获得相同的刷新率:

  • 登录 Wayland 会话
  • 查找设备名称:设备可以在/sys/class/drm/中看到,例如card0-HDMI-A-1(可用分辨率在模式文件中列出)在示例中名称为HDMI-A-1

那么在启动时:

  • 按空格键进入手动模式,选择常用的启动选项,但不要按 Enter 键,而是按 e 进行编辑。
  • 然后找到代表您常用启动选项的部分,并在那里找到启动命令(可能以安静结尾)。之后键入一个空格(用于分隔命令)。然后输入: video=HDMI-A-1:3440x1440@44 (或您在案例中计算出的任何内容)
  • 然后按 Ctrl-x 使用该选项运行一次。

看看当您登录 Wayland 会话时它是否有效

如果它有效,请使用以下命令使其永久化:

su --c 'gedit /etc/default/grub'

在默认 linux 条目末尾的引号内输入:video=HDMI-A-1:3440x1440@44

然后使用以下内容更新 grub:

su - root update-grub

重新启动 - 现在应该可以工作了。

至于以如此低的同步率运行是否是一个好主意,那是另一回事了。

我的背景阅读:

相关内容