我发现了许多类似的问题,尝试了所有可能的解决方案,但到目前为止都没有对我有用。
我有一台联想 ThinkPad W530 和一台 LG IPS234 显示器,并且正在运行 ubuntu 16.04.01(uname -a
打印输出Linux <machine_name> 4.4.0-38-generic #57-Ubuntu SMP Tue Sep 6 15:42:33 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
)。我安装了 nvidia-375 驱动程序,这是我的显卡的 lspsi 输出:
> sudo lspci | grep -i vga
01:00.0 VGA compatible controller: NVIDIA Corporation GK107GLM [Quadro K1000M] (rev a1)
以下是 xrand 的输出:
Screen 0: minimum 8 x 8, current 3840 x 1080, maximum 16384 x 16384
VGA-0 disconnected (normal left inverted right x axis y axis)
LVDS-0 connected primary 1920x1080+0+0 (normal left inverted right x axis y axis) 344mm x 193mm
1920x1080 60.00*+ 50.00
DP-0 connected 1920x1080+1920+0 (normal left inverted right x axis y axis) 510mm x 290mm
1920x1080 60.00*+ 59.94 50.00 60.05 60.00 50.04
1680x1050 59.95
1280x1024 60.02
1280x960 60.00
1280x720 60.00 59.94 50.00
1152x864 60.00
1024x768 60.00
800x600 60.32
720x576 50.00
720x480 59.94
640x480 59.94 59.93
DP-1 disconnected (normal left inverted right x axis y axis)
DP-2 disconnected (normal left inverted right x axis y axis)
DP-3 disconnected (normal left inverted right x axis y axis)
DP-4 disconnected (normal left inverted right x axis y axis)
DP-5 disconnected (normal left inverted right x axis y axis)
从上面的命令可以看出,我无法为我的主显示器选择除 1920x1080 之外的任何其他分辨率。我尝试使用内置设置displays
和nvidia-settings
,但都无法更改分辨率。
我已尝试运行(用生成cvt 1360 768 60
):
xrandr --newmode "1360x768_60.00" 84.75 1360 1432 1568 1776 768 771 781 798 -hsync +vsync
然后xrandr --addmode LVDS-0 "1360x768_60.00"
。但是此命令失败并出现错误:
X Error of failed request: BadMatch (invalid parameter attributes)
Major opcode of failed request: 140 (RANDR)
Minor opcode of failed request: 18 (RRAddOutputMode)
Serial number of failed request: 45
Current serial number in output stream: 46
正如其他答案所指出的,我尝试编辑我的 xorg.conf 文件,但我没有这样的文件:
> ls /etc/X11
app-defaults xkb Xresources
cursors xorg.conf.07232016 Xsession
default-display-manager xorg.conf.failsafe Xsession.d
fonts xorg.conf.nvidia-xconfig-original Xsession.options
rgb.txt Xreset xsm
xinit Xreset.d Xwrapper.config
我该怎么做才能改变我的笔记本电脑的分辨率?
编辑:从 nvidia 下载 nvidia 驱动程序并从命令行再次安装后,我终于有了一个 xorg.conf。同时遵循以下说明这个帖子和一些类似的资源我在该Screen
部分添加了以下行:
Option "ModeValidation" "AllowNonEdidModes, NoVirtualSizeCheck, NoMaxPClkCheck, NoWidthAlignmentCheck, NoExtendedGpuCapabilitiesCheck"
现在我在 xrandr 中有几个额外的选项:
xrandr
Screen 0: minimum 8 x 8, current 3840 x 1080, maximum 16384 x 16384
VGA-0 disconnected (normal left inverted right x axis y axis)
LVDS-0 connected 1920x1080+0+0 (normal left inverted right x axis y axis) 344mm x 193mm
1920x1080 60.00*+ 59.93 50.00
1680x1050 59.88
1600x1024 60.17
1400x1050 59.98
1280x1024 60.02
1280x960 60.00
960x540 59.99
840x525 60.01 59.88
800x512 60.17
700x525 59.98
640x512 60.02
640x480 60.00
... Options for the LG monitor ...
糟糕的是,如果我选择 1920x1080 以外的任何选项,我的屏幕最终都会严重扭曲。它在水平方向上被分成 2 个部分,或者在每个象限中分成 4 个部分,并且每个部分都是其他部分的镜像。而且每个部分的显示都严重拉伸。
答案1
造成您遇到困难的根本原因似乎是选择了不受支持的分辨率(您的显示器或显示面板无法显示的分辨率),这解释了您得到的结果。不幸的是,您的 LVDS-0 连接主显示器不支持其他分辨率。我相信是因为固定光栅无法像 CRT 显示器那样更改分辨率以匹配正在显示的信号,并且它似乎不支持插值(图像缩放),这会导致图像质量下降。
W530 配备以下 TFT 显示屏之一:
15.6" TFT display with 1366x768 (HD) resolution with LED backlight
15.6" TFT display with 1600x900 (HD+) resolution with LED backlight
15.6" TFT display with 1920x1080 (FHD) resolution with LED backlight
既然如此,我相信您在 FHD 面板上只能支持 1920 x 1080 的分辨率。
但是,如果您愿意,您可以降低另一个屏幕的分辨率。
如果这您的手册看起来是这样的,您支持的分辨率是:
Display Modes:
(Resolution) Horizontal Frequency(kHz) Vertical Frequency(Hz) Polarity(H/V)
720 x 400 31.468 70 -/+
640 x 480 31.469 60 -/-
640 x 480 37.500 75 -/-
800 x 600 37.879 60 +/+
800 x 600 46.875 75 +/+
1024 x 768 48.363 60 -/-
1024 x 768 60.023 75 +/+
1152 x 864 67.500 75 +/+
1280 x 1024 63.981 60 +/+
1280 x 1024 79.976 75 +/+
1680 x 1050 65.290 60 -/+
* 1920 x 1080 67.500 60 +/+ *Recommended Mode
如上表所示,您选择的分辨率 1360x768_60.00 不受此型号支持。请使用支持的分辨率之一。
用于cvt
从上表生成受支持的分辨率的模式行,例如:
cvt 1280 1024 75
在我的系统上它产生了一个模式行
Modeline "1280x1024_75.00" 138.75 1280 1368 1504 1728 1024 1027 1034 1072 -hsync +vsync
但你的会有所不同,我预计最终会+hsync +vsync
注意:请始终根据显示器的规格生成您自己的模式行。选择为其他显示器设计的模式行可能会产生不可预测的结果。
如果您的显示器设置正确,xrandr
应该会输出所有可用的模式。
这是我的显示器的一个例子:
xrandr
Screen 0: minimum 320 x 200, current 1440 x 900, maximum 32767 x 32767
VGA1 connected primary 1440x900+0+0 (normal left inverted right x axis y axis) 408mm x 255mm
1440x900 59.9*+ 75.0
1280x1024 75.0 60.0
1280x960 60.0
1152x864 75.0
1280x720 60.0
1024x768 75.1 70.1 66.0 60.0
832x624 74.6
800x600 72.2 75.0 60.3 56.2
640x480 75.0 72.8 66.7 60.0
720x400 70.1
HDMI1 disconnected (normal left inverted right x axis y axis)
DP1 disconnected (normal left inverted right x axis y axis)
HDMI2 disconnected (normal left inverted right x axis y axis)
DP2 disconnected (normal left inverted right x axis y axis)
VIRTUAL1 disconnected (normal left inverted right x axis y axis)
在上面的输出中,* 标记表示当前模式,+ 标记表示首选模式。
如果模式已经存在,你可以将其添加到输出中
xrandr --addmode VGA1 800x600
在哪里VGA1是你的输出。看来你的输出是 DP-0,所以你可以替换VGA1和DP-0。
如果缺少支持的模式,您可以使用命令添加
xrandr——新模式模式线在哪里模式线是 cvt 的输出。在示例中,输出结果为:
xrandr --newmode "1280x1024_75.00" 138.75 1280 1368 1504 1728 1024 1027 1034 1072 -hsync +vsync
回顾一下。
1)查阅手册中支持的分辨率表格,选择一个并将其添加到 xrandr 输出的选项中(如上例所示)
或者,如果没有列出支持的分辨率,请使用以下命令生成支持的分辨率的 Modeline,cvt
然后使用以下命令创建新模式,如上所示xrandr --newmode ...
如果有什么不清楚的地方,请给我留言,我会尽力澄清。
资料来源:
https://www.manualslib.com/manual/415945/Lg-Ips234v.htm
https://pkg-xorg.alioth.debian.org/howto/use-xrandr.html
答案2
根据上面的问题。您没有 xorg.conf 。
有时这是即时生成的,或者使用默认值。现在我认为除了覆盖默认值外,它根本不会用到。
xorg.conf 首先从 /etc 运行,然后从 /etc/X11 运行,然后 X 查找其他替代方法和默认值。
您可以使用类似 X --configure 的命令来创建 xorg
它将创建一个 xorg.conf,您可以将其复制到您的 /etc 目录中。'另一种方法是复制您的 Xfailsafe.conf、配置、重命名为 xorg.conf,然后放置在 /etc 目录中。
有时它会被覆盖,您可能必须更改权限。
问候,韦斯利