降低内置显示屏的分辨率

降低内置显示屏的分辨率

我发现了许多类似的问题,尝试了所有可能的解决方案,但到目前为止都没有对我有用。

我有一台联想 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 之外的任何其他分辨率。我尝试使用内置设置displaysnvidia-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,所以你可以替换VGA1DP-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

http://www.thinkwiki.org/wiki/Category:W530

https://en.wikipedia.org/wiki/Native_resolution

答案2

根据上面的问题。您没有 xorg.conf 。

有时这是即时生成的,或者使用默认值。现在我认为除了覆盖默认值外,它根本不会用到。

xorg.conf 首先从 /etc 运行,然后从 /etc/X11 运行,然后 X 查找其他替代方法和默认值。

您可以使用类似 X --configure 的命令来创建 xorg

它将创建一个 xorg.conf,您可以将其复制到您的 /etc 目录中。'另一种方法是复制您的 Xfailsafe.conf、配置、重命名为 xorg.conf,然后放置在 /etc 目录中。

有时它会被覆盖,您可能必须更改权限。

点击这里阅读。

问候,韦斯利

相关内容