pycod
很多人在说我们讲故事吹NB 但是我们吹过的NB ,正在一一变为现实 !!!!!

入门

什么是xrandr?

xrandr是与XRandR 扩展名交互的命令行工具[请参阅x.org, Wikipedia ],它允许对X服务器进行实时(重新)配置(即,无需重新启动):它提供模式(分辨率,刷新)的自动发现。速率等)以及动态配置输出(调整大小,旋转,移动等)的功能。

FIXME:各个驱动程序的状态?

对xorg.conf有什么后果?

从开始squeezexorg.conf完全删除配置文件应该可以很好地工作,但是如果无法解决问题,让我们记录一下可以从文件中删除的内容RandR

通过驱动程序自动检测模式,大多数情况下,配置文件(xorg.conf)中的几个配置选项变得无用。您可能要删除:

  • HorizSyncVertRefresh从该Monitor部分。

  • Display小节中的模式Screen

  • ModeLine从本Monitor节开始。

也无需保留静态双头配置。一些建议,以获取一个小的xorg.conf

  • 降双重DeviceScreen/Monitor部分,需要单独的一个。

  • 从其余部分中 删除MonitorLayout选项和Screen行 Device

  • 放下ServerLayout部分。

  • 放下RightOf/LeftOf指示该节中剩余的ScreenServerLayout

 

基本的xrandr用法

一旦xorg.conf删除或更新了配置文件(),默认情况下启动服务器应启用一些输出。它们的左上角将在图像的同一部分,但是它们的模式可能会有所不同。

可以通过配置所有输出xrandr要查看可用的输出,只需运行xrandr

$ xrandr
Screen 0: minimum 320 x 200, current 1280 x 800, maximum 4096 x 4096
VGA1 disconnected (normal left inverted right x axis y axis)
LVDS1 connected 1280x800+0+0 inverted X and Y axis (normal left inverted right x axis y axis) 261mm x 163mm
   1280x800       59.8*+
   1024x768       60.0
   800x600        60.3     56.2
   640x480        59.9
DVI1 disconnected (normal left inverted right x axis y axis)
TV1 disconnected (normal left inverted right x axis y axis)

评论:

  • 我们看到4个输出:VGA1LVDS1DVI1TV1

  • 仅连接了内部面板(LVDS1),它支持60 Hz的4种模式,56 Hz的1种模式。

  • 标有星号(*)的模式是当前模式。

  • 标有加号(+)的是首选。大多数监视器向驱动程序报告首选模式。服务器/驱动程序通常默认情况下会选择它。

FIXME:提及输出名称约定?

处理VGA1输出属性时,应使用:

$ xrandr --output VGA1 <options>

动态添加/删除头

过去,在插入新显示器时不得不重新启动X的日子已经一去不复返了。使用RandR1.2,您可以随时插入/拔出监视器。运行以下行将查询所有输出,并以其默认模式启用它们:

$ xrandr --auto

您还可以使用以下命令禁用一个输出:

$ xrandr --output LVDS1 --off

对于某些不能很好地支持多个输出的错误应用程序,这可能很有用。另外,由于CRTC的限制(请参阅下面的“注意事项”部分),通常需要先禁用一个输出,然后再启用另一个输出,因为大多数硬件同时仅支持2个。

改变模式

使用上面的xrandr输出,您可以将LVDS1模式更改为 1024x768使用:

$ xrandr --output LVDS1 --mode 1024x768

刷新率也可以同时或独立更改:

$ xrandr --output LVDS1 --mode 1024x768 --rate 75
$ xrandr --output LVDS1 --rate 75

要返回默认模式:

$ xrandr --output LVDS1 --auto
 

将输出放置在虚拟屏幕中

非KMS设置的一些配置:

让我们看一下最大虚拟屏幕尺寸,4096x4096在此示例中可以看到 

$ xrandr|head -1
Screen 0: minimum 320 x 200, current 1280 x 800, maximum 4096 x 4096

使用KMS(FIXME:链接到解释什么是KMS的页面)时,无需指定任何Virtual选项。如果使用DRI而没有KMS,则可能需要这样做。实际上,驱动程序通常会创建一个小尺寸的默认虚拟屏幕,例如1600x1200,以减少内存消耗。

如果计划使用显示不同区域的多个输出,则应在该部分小节中xorg.conf添加Virtual一行以进行 配置DisplayScreen

Section "Screen"
  …
  SubSection "Display"
    Depth 24
    Virtual 3000 2000
  EndSubSection
EndSection

放置输出

使用以下选项放置输出: --right-of--left-of--above--below例如,要将VGA1输出放置在内部面板(LVDS1的右侧,请执行以下操作

$ xrandr --output VGA1 --right-of LVDS1

请注意,硬件和内存限制可能会严重限制虚拟屏幕的大小,请参阅下面的“警告”部分。

 

添加新模式

在某些情况下,某些模式可能会丢失。例如,如果监视器未报告正确的EDID信息。或者,如果输出在启动时没有提供CRTC,因为另一个输出正在使用它,并且您同时禁用了它。

如果存在一种模式,则可以使用以下命令将其添加到一个输出中:

$ xrandr --addmode VGA1 800x600

如果该模式不存在,则可以首先通过传递模型来创建它:

$ xrandr --newmode <ModeLine>

您可以使用gtfcvt工具(xserver-xorg-core包装中随附创建Modeline 

posted on 2020-10-14 16:09  pycod  阅读(474)  评论(0编辑  收藏  举报