如何在 Ubuntu 12.04 中为 LCD 添加显示分辨率?xrandr 问题

Ser*_*gaI 56 display graphics intel-graphics display-resolution

我是 Ubuntu 的新手。我已经安装了 Ubuntu 12.04 并且在尝试为我的 LCD 显示器设置正确的分辨率时被卡住了。

LCD 的原始分辨率为 1920x1080

这是来自的输出xrandr

$ xrandr
Screen 0: minimum 320 x 200, current 1280 x 720, maximum 4096 x 4096
LVDS1 connected 1280x720+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
1280x720 60.0*+
800x600 60.3 56.2 
640x480 59.9
VGA1 disconnected (normal left inverted right x axis y axis)
Run Code Online (Sandbox Code Playgroud)

然后我创建新的模式行:

$ cvt 1920 1080 60
1920x1080 59.96 Hz (CVT 2.07M9) hsync: 67.16 kHz; pclk: 173.00 MHz
Modeline "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
Run Code Online (Sandbox Code Playgroud)

到现在为止还挺好。然后我使用xrandr以下方法创建新模式:

$ xrandr --newmode "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
Run Code Online (Sandbox Code Playgroud)

但出于某种原因,为 VGA (VGA1) 输出而不是 LCD 输出 (LVDS1) 创建了新模式:

$ xrandr
Screen 0: minimum 320 x 200, current 1280 x 720, maximum 4096 x 4096
LVDS1 connected 1280x720+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
1280x720 60.0*+
800x600 60.3 56.2 
640x480 59.9 
VGA1 disconnected (normal left inverted right x axis y axis)
1920x1080_60.00 (0xbc) 173.0MHz <---------- ????!!!!!!
h: width 1920 start 2048 end 2248 total 2576 skew 0 clock 67.2KHz
v: height 1080 start 1083 end 1088 total 1120 clock 60.0Hz
Run Code Online (Sandbox Code Playgroud)

因此,如果我尝试向 LVDS1 添加模式,则会出现错误:

$ xrandr --addmode LVDS1 "1920x1080_60.00"
X Error of failed request: BadMatch (invalid parameter attributes)
Major opcode of failed request: 149 (RANDR)
Minor opcode of failed request: 18 (RRAddOutputMode)
Serial number of failed request: 25
Current serial number in output stream: 26
Run Code Online (Sandbox Code Playgroud)

将该新模式添加到 VGA1 工作正常,但我不使用该 VGA1 输出。

zvi*_*ard 82

您可以使用 xrandr 将缺少的分辨率添加到 Ubuntu 12.04。

首先,使用 cvt 创建新的分辨率模式。

sudo cvt 1920 1080 60
Run Code Online (Sandbox Code Playgroud)

部分输出应类似于:“Modeline "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync”(不带引号)。

接下来,声明一个新的分辨率模式。

sudo xrandr --newmode "1920x1080_60.00" 173.00 1920 2048 2248 2576 1080 1083 1088 1120 -hsync +vsync
Run Code Online (Sandbox Code Playgroud)

接下来,找出您的视频设备的名称。

sudo xrandr -q
Run Code Online (Sandbox Code Playgroud)

我的被​​命名为“Virtual1”(运行虚拟机)。一旦知道了设备的名称,您就可以最终将新的分辨率模式添加到设备/系统中。

sudo xrandr --addmode Virtual1 1920x1080_60.00
Run Code Online (Sandbox Code Playgroud)

在此处的“添加未检测到的分辨率”部分中查看更多信息:https : //wiki.ubuntu.com/X/Config/Resolution/#Adding_undetected_resolutions

  • 在 --admode X 上获取错误失败请求错误:BadMatch(无效参数属性)失败请求的主要操作码:141(RANDR)失败请求的次要操作码:18(RRAddOutputMode)失败请求的序列号:39 输出中的当前序列号流:40 (14认同)

elo*_*age 15

这个链接帮助了我。

简而言之:像您一样运行 xrandr 和 cvt,然后创建以下文件:

/usr/share/X11/xorg.conf.d/10-monitor.conf
Run Code Online (Sandbox Code Playgroud)

在文件中,根据您的规格更改 < > 中的参数:

Section "Monitor"
  Identifier "Monitor0"
  <INSERT MODELINE HERE>
EndSection
Section "Screen"
  Identifier "Screen0"
  Device "<INSERT DEVICE HERE>"
  Monitor "Monitor0"
  DefaultDepth 24
  SubSection "Display"
    Depth 24
    Modes "<INSERT MODENAME HERE>"
  EndSubSection
EndSection
Run Code Online (Sandbox Code Playgroud)