我刚买了一块新的 nvidia 显卡,在 windows 下(双启动设置)在 1440x900 分辨率下运行良好。不幸的是,ubuntu 无法识别我的显示器。这是我的 xrandr -q 输出
Screen 0: minimum 8 x 8, current 1360 x 768, maximum 16384 x 16384
DVI-I-0 disconnected (normal left inverted right x axis y axis)
DVI-I-1 disconnected (normal left inverted right x axis y axis)
HDMI-0 disconnected (normal left inverted right x axis y axis)
DP-0 disconnected (normal left inverted right x axis y axis)
DP-1 disconnected (normal left inverted right x axis y axis)
DVI-D-0 connected primary 1360x768+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
1024x768 60.0 +
1360x768 60.0* 59.8
1152x864 60.0
800x600 72.2 60.3 56.2
680x384 60.0 59.8
640x480 59.9
512x384 60.0
400x300 72.2
320x240 60.1
1440x900_60.00 (0x1e7) 106.5MHz
h: width 1440 start 1528 end 1672 total 1904 skew 0 clock 55.9KHz
v: height 900 start 903 end 909 total 934 clock 59.9Hz
我设法添加了所需的分辨率(1440x900),但当我这样做时
xrandr --output DVI-D-0 --mode 1440x900_60.00
我明白了
xrandr: cannot find mode 1440x900_60.00
答案1
好的,谜底已经揭晓:我使用 vga 转 DVI 适配器将 DVI 电缆换成了 vga 电缆,Ubuntu 突然能够识别我的显示器并设置正确的分辨率。可能是因为我的显示器太旧了。这绝不是解决更大问题(即无法通过 xrandr 设置正确的分辨率)的正确答案,但我可以忍受。
答案2
您需要创建一个新模式并应用它。
按顺序执行的命令:
cvt 1440 900
xrandr --newmode "1440x900_60" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
后面这行的部分xrandr --newmode
与使用命令时应该获得的输出类似cvt
,因此将“resolution_refreshRate”(此处为“1440x900_60”)点的输出复制到该+vsync
点并将其添加到xrandr --newmode
。
然后:
xrandr --addmode LVDS1 resolution_refreshRate (don't use speechmarks)
xrandr --output LVDS1 --mode resolution_refreshRate
如果要使更改永久生效:
xrandr.sh
例如,创建一个 bash 脚本,并将 xrandr 命令放入其中:/bin/bash #!/bin/bash sudo xrandr --newmode ""1440x900_60"" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync sudo xrandr --addmode LVDS1 1440x900_60 xrandr --输出 LVDS1 --模式 1440x900_60
使用以下命令使脚本可执行
chmod +x xrandr.sh
在仪表板中搜索“启动应用程序”,运行它,并将脚本添加为启动应用程序。
每次您登录帐户时,这些命令都会运行。
笔记:我使用的LVDS1
是假定的显示器名称,但您的名称可能不一样。您可以使用以下方式找到您的显示器名称:
xrandr | grep " connected " | awk '{ print$1 }'
以上所有都可以为你完成这程序——包括启动脚本。