基本上,我已经完成了为自己制定决议的所有正确步骤......
$ xrandr --newmode "1824x1036_60.00" a bunch of number -hsync +vsync
(我在另一台电脑上,所以我无法复制和粘贴^)
一切正常,但当我实际使用 HDMI 时,它会将该特定分辨率添加到表内容“DVI-D-0”。因此,当我尝试通过 HDMI 显示器上的 xrandr 更改分辨率时,它不知道我指的“1824x1036_60.00”是什么意思。任何帮助都将不胜感激!:)
PS 分辨率很奇怪,因为它的显示器很奇怪。它没有原生分辨率。
fletcher@fletcher-desktop:~$ xrandr -q
Screen 0: minimum 8 x 8, current 1280 x 720, maximum 16384 x 16384
VGA-0 connected (normal left inverted right x axis y axis)
1024x768 60.0 +
1360x768 60.0 59.8
1152x864 60.0
800x600 72.2 60.3 56.2
680x384 119.9 119.6
640x480 59.9
512x384 120.0
400x300 144.4
320x240 120.1
HDMI-0 connected 1280x720+0+0 (normal left inverted right x axis y axis) 708mm x 398mm
1280x720 60.0*+ 59.9 50.0
1920x1080 59.9 50.0 30.0 25.0 24.0 30.0 30.0 25.0
1024x768 60.0
800x600 60.3
720x576 50.0 25.0
720x480 60.0 59.9 30.0
DVI-D-0 disconnected (normal left inverted right x axis y axis)
1808x1036_60.00 (0x2c3) 155.8MHz
h: width 1808 start 1920 end 2112 total 2416 skew 0 clock 64.5KHz
v: height 1036 start 1039 end 1049 total 1075 clock 60.0Hz
1808_1036_60.00 (0x2c4) 155.8MHz
h: width 1808 start 1920 end 2112 total 2416 skew 0 clock 64.5KHz
v: height 1036 start 1039 end 1049 total 1075 clock 60.0Hz
1804_1036_60.00 (0x2c9) 155.8MHz
h: width 1808 start 1920 end 2112 total 2416 skew 0 clock 64.5KHz
v: height 1036 start 1039 end 1049 total 1075 clock 60.0Hz
1920x1200_60.00 (0x2ca) 193.2MHz
h: width 1920 start 2056 end 2256 total 2592 skew 0 clock 74.6KHz
v: height 1200 start 1203 end 1209 total 1245 clock 59.9Hz
1824x1036_60.00 (0x2cb) 156.8MHz
h: width 1824 start 1936 end 2128 total 2432 skew 0 clock 64.5KHz
v: height 1036 start 1039 end 1049 total 1075 clock 60.0Hz
1824x1036_59.00 (0x2d2) 154.0MHz
h: width 1824 start 1936 end 2128 total 2432 skew 0 clock 63.3KHz
v: height 1036 start 1039 end 1049 total 1074 clock 59.0Hz
1824x1036_30.00 (0x2d4) 72.5MHz
h: width 1824 start 1880 end 2056 total 2288 skew 0 clock 31.7KHz
v: height 1036 start 1039 end 1049 total 1057 clock 30.0Hz
答案1
使用一些像 arandr 这样的工具。
它允许您以图形方式定义显示器位置和分辨率(从显示器支持的模式中选择),然后它会生成一个使用这些设置调用 xrandr 的脚本。然后您可以使用生成的命令执行任何您想做的事情。
并非所有显示器都支持您创建的自定义分辨率。
答案2
前几天我的液晶电视也遇到了同样的问题。默认分辨率设置会导致过度扫描。我不得不在原始分辨率下创建一个自定义设置,但最小安装似乎不会报告该设置(尽管分辨率在 12.04 live cd 中的 xrandr 下列出)。
无论如何,您走在正确的轨道上。获取可用的自定义模式行是最困难的部分。我在 live cd 中找到了可用的分辨率设置,然后从中复制了模式行。获得模式行后,您可以使用 --newmode 标志将其添加到 xrandr,就像您所做的那样。再执行两个命令,您就可以设置了。
所有信息均可在此处找到:
https://wiki.ubuntu.com/X/Config/Resolution#Setting_xrandr_changes_persistently
首先,您需要确定要使用的显示端口。根据您的原始帖子,我猜这是 HDMI-0。您还需要尝试添加到端口的模式的名称。名称是 xrandr 中每个端口下列出的第一列数字(即 1024x768 或 1360x768 等)。如果您创建了模式行,那么它是 --newmode 命令中引号之间的部分(在您的情况下为“1824x1036_60.00”)。
现在您掌握了这些信息,您可以将新模式添加到您想要的端口......
$ xrandr --addmode HDMI-0 1824x1036_60.00
现在您应该看到 HDMI-0 端口下的 xrandr 中列出了新模式。
您可以使用这个切换到它...
$ xrandr --output HDMI-0 --mode 1824x1036_60.00
xrandr 设置(包括添加的模式)在关机/重启时会丢失。有几种不同的方法可以保留它们。我将这三个命令放入一个脚本中,并在 lightdm 启动时调用该脚本。