[X][xrandr][archlinux] 手动调整显示器分辨率

有一些时候,电脑并不能正确的识别出显示器的最大分辨率,这有可能是软件的原因,硬件的原因,显示器的原因,VGA线的原因等其他原因。

我遇到的情况,是开机时候连着VGA的话,就可以正确识别。如果使用中间进行了插拔,便不能获得最佳分辨率了。

我当前这台显示器最佳分辨率是1920x1080, 断过VGA之后识别出来的分辨率是1280x768。

除了在KDE的配置中无法设置更高分辨率,xrandr的输出中,也没有检测到更高的分辨率

> xrandr 
Screen 0: minimum 8 x 8, current 1366 x 1536, maximum 32767 x 32767
eDP1 connected primary 1366x768+0+768 (normal left inverted right x axis y axis) 310mm x 170mm
   1366x768      60.00*+
   1280x720      60.00  
   1024x768      60.00  
   1024x576      60.00  
   960x540       60.00  
   800x600       60.32    56.25  
   864x486       60.00  
   640x480       59.94  
   720x405       60.00  
   680x384       60.00  
   640x360       60.00  
DP1 disconnected (normal left inverted right x axis y axis)
DP2 connected 1024x768+91+0 (normal left inverted right x axis y axis) 480mm x 270mm
   1024x768      60.00* 
   800x600       60.32    56.25  
   848x480       60.00  
   640x480       59.94  
HDMI1 disconnected (normal left inverted right x axis y axis)
HDMI2 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)

为了不想重启电脑,采用如下方式手配分辨率。

参考:https://wiki.archlinux.org/index.php/xrandr#Adding_undetected_resolutions

我将使用的工具是xrandr。步骤如下:

1.  找到正确的参数:

/home/tong/VM/kingkong-centos6.3 [tong@T7] [11:42]
> cvt 1920 1080
# 1920x1080 59.96 Hz (CVT 2.07M9) hsync: 67.16 kHz; pclk: 173.00 MHz
Modeline "1920x1080_60.00"  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync

找到正确参数的首选途径是到/var/log/Xorg.0.log中寻找,但是我并没有找到,wiki中提供的内容如下:

[    45.063] (II) intel(0): clock: 241.5 MHz   Image Size:  597 x 336 mm
[    45.063] (II) intel(0): h_active: 2560  h_sync: 2600  h_sync_end 2632 h_blank_end 2720 h_border: 0
[    45.063] (II) intel(0): v_active: 1440  v_sync: 1443  v_sync_end 1448 v_blanking: 1481 v_border: 0

2.  将步骤一中获取到的参数增加到xrandr中。

/home/tong/VM/kingkong-centos6.3 [tong@T7] [11:45]
> xrandr --newmode "1920x1080_60.00"  173.00  1920 2048 2248 2576  1080 1083 1088 1120 -hsync +vsync
/home/tong/VM/kingkong-centos6.3 [tong@T7] [11:46]
> xrandr --addmode DP2 1920x1080_60.00

如果一且顺利的话,此时再查看xrandr命令,将发现最佳分辨率设置成功:

/home/tong/VM/kingkong-centos6.3 [tong@T7] [11:47]
> xrandr                              
Screen 0: minimum 8 x 8, current 1366 x 1536, maximum 32767 x 32767
eDP1 connected primary 1366x768+0+768 (normal left inverted right x axis y axis) 310mm x 170mm
   1366x768      60.00*+
   1280x720      60.00  
   1024x768      60.00  
   1024x576      60.00  
   960x540       60.00  
   800x600       60.32    56.25  
   864x486       60.00  
   640x480       59.94  
   720x405       60.00  
   680x384       60.00  
   640x360       60.00  
DP1 disconnected (normal left inverted right x axis y axis)
DP2 connected 1024x768+107+0 (normal left inverted right x axis y axis) 480mm x 270mm
   1024x768      60.00* 
   800x600       60.32    56.25  
   848x480       60.00  
   640x480       59.94  
   1920x1080_60.00  59.96  
HDMI1 disconnected (normal left inverted right x axis y axis)
HDMI2 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)

3.  调整显示器,使用新增的最佳分辨率

/home/tong/VM/kingkong-centos6.3 [tong@T7] [11:47]
> xrandr --output DP2 --mode 1920x1080_60.00

不出意外的话,显示器上应该已经获得了正确的显示信息。如果有意外,欢迎留言 :)

原文地址:https://www.cnblogs.com/hugetong/p/6872668.html