瑞芯微Rockchip开发者社区
直播中

CDCNKA

9年用户 1302经验值
擅长:385288
私信 关注
[问答]

RK3568 Debian10系统支持xrandr命令管理多屏扩展显示吗

xrandr是什么呢?
RK3568 Debian10系统支持xrandr命令管理多屏扩展显示吗?

回帖(1)

h1654155275.5994

2022-3-2 17:36:19
1.xrandr命令

“xrandr”是一款官方的 RandR扩展配置工具,它可以设置屏幕显示的大小、方向、镜像等。对于多屏幕显示的情况,可以使用xrandr进行管理。


forlinx@forlinx:~$ xrandr --help
usage: xrandr [options]
  where options are:
  --display or -d
  --help
  -o
            or --orientation
  -q        or --query
  -s /x or --size /x
  -r or --rate or --refresh
  -v        or --version
  -x        (reflect in x)
  -y        (reflect in y)
  --screen
  --verbose
  --current
  --dryrun
  --nograb
  --prop or --properties
  --fb x
  --fbmm x
  --dpi /
  --output
      --auto
      --mode
      --preferred
      --pos x
      --rate or --refresh
      --reflect normal,x,y,xy
      --rotate normal,inverted,left,right
      --left-of
      --right-of
      --above
      --below
      --same-as
      --set
      --scale x
      --scale-from x
      --transform ,,,,,,,,
      --off
      --crtc
      --panning x[++[/x++[////]]]
      --gamma ::
      --brightness
      --primary
  --noprimary
  --newmode
            
            
            [flags...]
            Valid flags: +HSync -HSync +VSync -VSync
                         +CSync -CSync CSync Interlace DoubleScan
  --rmmode
  --addmode
  --delmode
  --listproviders
  --setprovideroutputsource
  --setprovideroffloadsink
  --listmonitors
  --listactivemonitors
  --setmonitor {auto|/x/++} {none|,,...}
  --delmonitor
双屏扩展显示

RK3568 Debian10系统支持xrandr命令管理多屏扩展显示。同时接入LVDS屏幕和HDMI屏幕,系统会默认非热插拔显示设备作为主屏,所以LVDS会被识别为primary screen。默认会设置两个屏幕为扩展显示

root@linaro-alip:/# xrandr
Screen 0: minimum 320 x 200, current 2560 x 800, maximum 8192 x 8192
LVDS-1 connected primary 1280x800+0+0 (normal left inverted right x axis y axis) 0mm x 0mm
   1280x800      59.76*+
HDMI-1 connected 1280x720+1280+0 (normal left inverted right x axis y axis) 0mm x 0mm
   3840x2160     60.00 +  60.00    50.00    59.94    30.00    25.00    24.00    29.97    23.98
   4096x2160     60.00    50.00    59.94
   1920x1080     60.00    50.00    59.94
   1920x1080i    60.00    50.00    59.94
   1600x1200     60.00
   1680x1050     59.88
   1400x1050     59.95
   1600x900      60.00
   1280x1024     75.02    60.02
   1440x900      59.90
   1152x864      75.00
   1280x720      60.00*   50.00    59.94
   1024x768      75.03    70.07    60.00
   832x624       74.55
   800x600       72.19    75.00    60.32    56.25
   720x576       50.00
   720x480       60.00    59.94
   720x480i      60.00    59.94
   640x480       75.00    72.81    66.67    60.00    59.94
   720x400       70.08
[2]+  Exit 2                  pppd call quectel-ppp
root@linaro-alip:/#
可以使用xrandr在两个屏幕中选择哪个做主屏,哪个做副屏。

xrandr --output LVDS-1 --right-of HDMI-1 --auto
也可以将两个屏幕设置成同显。

xrandr --output HDMI-1 --same-as LVDS-1 --auto


2.xinput命令

xinput命令用于管理系统的输入设备,首先必须安装xinput

apt-get update

apt-get install xinput

forlinx@forlinx:~$ xinput --help
usage :
        xinput get-feedbacks
        xinput set-ptr-feedback
        xinput set-integer-feedback
        xinput get-button-map
        xinput set-button-map [ [...]]
        xinput set-pointer [ ]
        xinput set-mode ABSOLUTE|RELATIVE
        xinput list [--short || --long || --name-only || --id-only] [...]
        xinput query-state
        xinput test [-proximity]
        xinput create-master [] []
        xinput remove-master [Floating|AttachToMaster (dflt:Floating)] [] []
        xinput reattach
        xinput float
        xinput set-cp
        xinput test-xi2 [--root]
        xinput map-to-output
        xinput list-props [ ...]
        xinput set-int-prop [ ...]
        xinput set-float-prop [ ...]
        xinput set-atom-prop [ ...]
        xinput watch-props
        xinput delete-prop
        xinput set-prop [--type=atom|float|int] [--format=8|16|32] [ ...]
        xinput disable
        xinput enable
root@linaro-alip:/# xinput
⎡ Virtual core pointer                          id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ ILITEK ILITEK-TP                          id=7    [slave  pointer  (2)]
⎜   ↳ ILITEK ILITEK-TP Mouse                    id=8    [slave  pointer  (2)]
⎜   ↳ USB OPTICAL MOUSE                         id=11   [slave  pointer  (2)]
⎣ Virtual core keyboard                         id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ adc-keys                                  id=6    [slave  keyboard (3)]
    ↳ rk805 pwrkey                              id=9    [slave  keyboard (3)]
    ↳ fe6e0030.pwm                              id=10   [slave  keyboard (3)]
root@linaro-alip:/#
双屏异触

使用xinput对触摸设备和显示设备进行绑定。ILITEK ILITEK-TP触摸设备的id是7,将其与LVDS绑定。USB OPTICAL MOUSE 触摸设备的id是11,将其与HDMI-1绑定。

forlinx@forlinx:~$ xinput map-to-output 7 LVDS-1
forlinx@forlinx:~$ xinput map-to-output 11 HDMI-1
这样就可以实现双屏异触了。测试了一下,两个屏幕各自的触摸效果还不错。
举报

更多回帖

×
20
完善资料,
赚取积分