我在使用 HP 2009v 显示器的 Ubuntu 20.04 上遇到了屏幕分辨率问题,该显示器的原始分辨率为 1600x900 像素。
问题是,当我启动计算机(带有集成 Intel 显卡)时,显示器显示接收的分辨率超出范围,什么都没显示。经过一番折腾,我设法使用 xrandr 命令在用户会话中设置了正确的分辨率。现在我想至少在登录屏幕上设置正确的分辨率,然后可能也设置 grub 引导加载程序的分辨率。
我编辑了 /etc/gdm3/Init/Default 文件并添加了以下几行,但没有任何变化:
xrandr --newmode "1600x900_60.00" 118.25 1600 1696 1856 2112 900 903 908 934 -hsync +vsync
xrandr --addmode HDMI-3 1600x900_60.00
xrandr --output HDMI-3 --mode 1600x900_60.00
我还将 ~/.config/monitors.xml 复制到 /var/lib/.config 但没有任何变化
如何在登录屏幕上设置适当的显示分辨率?
此外,我需要在 grub 和 ubuntu 启动时设置适当的分辨率。我编辑了 /etc/default/grub,添加了以下行
GRUB_GFXMODE=1600x900
GRUB_GFXPAYLOAD=1600x900
但这里也没有任何变化。显示器一直显示输入超出范围。
我该如何解决此问题?
答案1
实际上,经过一个多月的研究和编辑一堆配置文件后,问题的真正根源是我在 aliexpress 上购买的廉价 HDMI 转 VGA 适配器。换用在亚马逊上购买的更贵的适配器解决了问题。分辨率设置正确,无需任何特殊设置。我无法解释为什么这个全新的(尽管很便宜)适配器无法将 EDID 数据从视频卡正确传输到 VGA 显示器……难以置信!
答案2
至于登录屏幕:尝试静态 X11 配置,通过创建文件 /etc/X11/xorg.conf.d/10-monitor.conf,内容如下
Section "Device"
Identifier "Configured Video Device"
Driver "intel"
EndSection
Section "Monitor"
Identifier "Configured Monitor"
EndSection
Section "Screen"
Identifier "Configured Screen"
Device "Configured Video Device"
Monitor "Configured Monitor"
SubSection "Display"
Modes "1600x900" "640x480"
EndSubSection
EndSection
有用的网页:https://wiki.ubuntu.com/X/Config/Resolution
至于 grub 屏幕:您是否查阅过 grub 信息文件?
关于 gdm3 的说明
这仅适用于在 /etc/gdm3/custom.conf 中禁用 wayland 的 gdm3,即在 /etc/gdm3/custom.conf 中删除该行中的 '#' 注释符号
#WaylandEnable=false