Linux 如何增加自定义分辨率设置?

问题陈述

我希望设置屏幕分辨率为 1600 × 900,但系统的分辨率设置(xrandr)里没有这个选项。请问是否有办法增加这个分辨率设置呢?(软、硬件信息见下文)

补充信息

debian 好像有 wiki 来着?

不管了,反正咱 arch 有 wiki 的。
https://wiki.archlinuxcn.org/wiki/Xrandr

1 个赞

多谢!这个方法试过,添加自定义分辨率后直接黑屏死机了,按 Ctrl + Alt + Backspace 重启 Xorg 才恢复。我回去再好好看看文档,或许是之前的操作有疏漏。

Debian也是有Wiki的。
https://wiki.debian.org/FrontPage

也可以上Debian的社区以及论坛了解一些问题。

1 个赞

多谢!现在我怀疑可能是驱动程序的问题。等有空我直接去 Linux Mint 的官方论坛或 IRC 频道问一下吧。

1 个赞

今天又仔细观察了一下,感觉可能是 cvt 命令的计算结果有问题。

输入 xrandr -q,查询到系统内置的分辨率如下:

$ xrandr -q                 
Screen 0: minimum 320 x 200, current 1440 x 900, maximum 16384 x 16384
eDP connected primary 1440x900+0+0 (normal left inverted right x axis y axis) 309mm x 173mm
   1920x1080     60.00 +
   1680x1050     60.00  
   1280x1024     60.00  
   1440x900      60.00* 
   1280x800      60.00  
   1280x720      60.00  
   1024x768      60.00  
   800x600       60.00  
   640x480       60.00  
HDMI-A-0 disconnected (normal left inverted right x axis y axis)

然后按照网上的方法,依次执行命令:

$ cvt 1600 900
# 1600x900 59.95 Hz (CVT 1.44M9) hsync: 55.99 kHz; pclk: 118.25 MHz
Modeline "1600x900_60.00"  118.25  1600 1696 1856 2112  900 903 908 934 -hsync +vsync
$ sudo xrandr --newmode "1600x900_60.00"  118.25  1600 1696 1856 2112  900 903 908 934 -hsync +vsync    
$ sudo xrandr --addmode eDP "1600x900_60.00"

接下来再运行 xrandr -q,可以看到新增加的分辨率,但是刷新率和内置的那些分辨率选项不一样:

$ xrandr -q
Screen 0: minimum 320 x 200, current 1440 x 900, maximum 16384 x 16384
eDP connected primary 1440x900+0+0 (normal left inverted right x axis y axis) 309mm x 173mm
   1920x1080     60.00 +
   1680x1050     60.00  
   1280x1024     60.00  
   1440x900      60.00* 
   1280x800      60.00  
   1280x720      60.00  
   1024x768      60.00  
   800x600       60.00  
   640x480       60.00  
   1600x900_60.00  59.95  
HDMI-A-0 disconnected (normal left inverted right x axis y axis)

接下来,到系统设置里面修改分辨率为新增的 1600x900,电脑就会黑屏,同时键盘上的指示灯也会熄灭。必须按 Ctrl + Alt + Backspace 重启 X。

我猜测,可能是因为 cvt 计算出来的分辨率配置,对应的刷新率是 59.95 Hz,和显示器的参数(60 Hz)不匹配,因此该配置无法生效。

我用 cvt 计算一个已有的分辨率(比如,1440x900),结果的刷新率也不是 60 Hz。应用 cvt 的计算结果后,计算机也会出现黑屏的问题。因此我怀疑问题出在 cvt 上,其计算结果存在问题。