未列出的屏幕分辨率

swi*_*h87 9 xorg x11 multi-monitor resolution monitors

在我的新电脑上,我在 i7 处理器的 igpu 上连接了 2 个屏幕,1 个使用 hdmi。另一个使用dvi。两个屏幕都是一样的,但是hdmi连接的那个X里面分辨率不对,设置里面不能选择。如何解决这个问题?

swi*_*h87 8

第一次运行

$ xrandr
Run Code Online (Sandbox Code Playgroud)

这将给出如下输出:

Screen 0: minimum 320 x 200, current 5120 x 1080, maximum 8192 x 8192
HDMI1 connected 2560x1080+2560+0 (normal left inverted right x axis y axis) 677mm x 290mm 
   1920x1080     60.00*  
   1680x1050     59.88  
   1600x900      59.98  
...

HDMI2 connected 2560x1080+0+0 (normal left inverted right x axis y axis) 677mm x 290mm
   2560x1080     60.00*+
   2560x1080_60.00  59.98  
   1920x1080     60.00    50.00    59.94    30.00    29.97  
   1920x1080i    60.00    50.00    59.94  
... 
Run Code Online (Sandbox Code Playgroud)

将 2560x1080 添加到 HDMI1 首先运行下一个命令

$ cvt 2560 1080
Run Code Online (Sandbox Code Playgroud)

示例输出:

2560x1080 59.98 Hz (CVT) hsync: 67.17 kHz; pclk: 230.00 MHz
Modeline "2560x1080_60.00"  230.00  2560 2720 2992 3424  1080 1083 1093 1120 -hsync +vsync
Run Code Online (Sandbox Code Playgroud)

现在您需要使用此输出来测试分辨率,然后添加设置以在下一个会话中使用。

测试:

$ xrandr --newmode "2560x1080_60.00"  230.00  2560 2720 2992 3424  1080 1083 1093 1120 -hsync +vsync
$ xrandr --addmode HDMI1 2560x1080_60.00
$ xrandr --output HDMI1 --mode 2560x1080_60.00
Run Code Online (Sandbox Code Playgroud)

如果可行,您可以将其添加到 xorg 配置中

$ sudo vim /etc/X11/xorg.conf.d/40-monitor.conf
Run Code Online (Sandbox Code Playgroud)

或者

$ sudo vim /usr/share/X11/xorg.conf.d/40-monitor.conf

Section "Monitor"
    Identifier "HDMI1"
    Modeline "2560x1080_60.00"  230.00  2560 2720 2992 3424  1080 1083 1093 1120 -hsync +vsync
    Option "PreferredMode" "2560x1080"
EndSection
Run Code Online (Sandbox Code Playgroud)