有的是需要一个异形分辨率,有的是因为显卡驱动问题导致没有想要的分辨率,都适用下面的方法。

查询目标分辨率参数

比如由于驱动问题不支持1920x1080,我们需要添加这个分辨率。查询这个分辨率的参数:

  cvt 1920 1080 60
# 下面是输出的结果
# 1920x1080 59.96Hz (CVT 2.07M9) hsync: 67.16 kHz; pclk: 173.00Mhz
Modeline "1920x1080_60.00" 173.00 1920 2048 2248 1080 1083 1088 1120 -hsync +vsync
  

指令cvt后面三个参数分辨是横向分辨率、纵向分辨率、刷新率。我们需要的是Modeline开头的这一行

将新的分辨率添加到系统中

使用指令把刚刚查询到的分辨率参数注册到系统,使用的是xrandr --newmode指令,后面的参数直接抄写Modeline后面的即可。

注册到系统后还需要把分辨率绑定到屏幕。即下面的两行指令。

  xrandr --newmode "1920x1080_60.00" 173.00 1920 2048 2248 1080 1083 1088 1120 -hsync +vsync
xrandr  --addmode  HDMI-A-0  1920x1080_60.00
  

设置新的分辨率

与普通设置分辨率的方法不同,不需要再指定rate了。

  xrandr  --output  HDMI-A-0  --mode  1920x1080_60.00
  

分辨率自动化调整

与其他xrand日志一样,这个调整需要放入开机自启动脚本来实现自动化实现。

这里需要把注册和设定分辨率的指令都写入开机自启动脚本,即:

  xrandr  --newmode "1920x1080_60.00" 173.00 1920 2048 2248 1080 1083 1088 1120 -hsync +vsync
xrandr  --addmode  HDMI-A-0  1920x1080_60.00
xrandr  --output   HDMI-A-0  --mode  1920x1080_60.00
  

不同的分辨率会产生不同的参数,但是不同的显卡与接口参数是相同的。这里注册的新分辨率不能被操作系统的显示设置识别。