Ubuntu 22.10中Xorg缺失1440x900分辨率,Wayland正常的原因及恢复方法
问题原因分析
- Ubuntu 22.10对Xorg环境的Intel显卡驱动组件(包括Xorg Server、Mesa或
xserver-xorg-video-intel)做了版本更新,驱动的分辨率模式生成逻辑发生变化——相比22.04,新版本更依赖显示器EDID提供的原生分辨率,不再自动生成1440x900这类非原生但符合屏幕比例的常用分辨率。 - Wayland compositor(如GNOME Shell)的分辨率适配逻辑更灵活,会主动生成并适配符合屏幕比例的常用分辨率,因此不受此影响。
手动恢复1440x900分辨率的步骤
临时生效(重启后失效)
生成分辨率模式参数
执行cvt命令生成1440x900@60Hz的模式参数:cvt 1440 900 60复制输出中
Modeline整行内容(例如:Modeline "1440x900_60.00" 106.50 1440 1528 1672 1904 900 903 909 934 -hsync +vsync)。添加模式到xrandr
先通过xrandr命令查看你的内置显示器输出名称(通常是eDP-1),然后执行:xrandr --newmode "1440x900_60.00" 106.50 1440 1528 1672 1904 900 903 909 934 -hsync +vsync注意替换成你刚才复制的完整Modeline参数。
绑定模式到显示器
将模式添加到目标输出(以eDP-1为例):xrandr --addmode eDP-1 "1440x900_60.00"应用分辨率
此时可以通过“设置>显示”选择1440x900分辨率,或用命令行直接切换:xrandr --output eDP-1 --mode "1440x900_60.00"
永久生效(开机自动加载)
创建Xorg配置文件让分辨率永久生效:
- 新建配置文件:
sudo nano /usr/share/X11/xorg.conf.d/10-custom-resolution.conf - 写入以下内容(替换成你的显示器Identifier和Modeline参数):
Section "Monitor" Identifier "eDP-1" Modeline "1440x900_60.00" 106.50 1440 1528 1672 1904 900 903 909 934 -hsync +vsync Option "PreferredMode" "1440x900_60.00" EndSection Section "Screen" Identifier "Screen0" Device "Card0" Monitor "eDP-1" SubSection "Display" Modes "1440x900_60.00" EndSubSection EndSection - 保存退出(按
Ctrl+O回车确认,Ctrl+X退出),重启系统后设置即可自动生效。
内容的提问来源于stack exchange,提问作者Томица Кораћ
相关产品推荐
相关产品推荐

