跳到主要内容

使用平板充当 Linux 的副屏

· 阅读需 3 分钟

系统环境

系统Arch Linux
内核6.7.6-arch1-1
CPUAMD Ryzen 5 5600H with Radeon Graphics
显示器2560x1600
平板小新 Pad Plus 2021 2000x1000
图形协议X11

创建虚拟屏幕

使用 xrandr (不推荐)

可以使用xrandr命令查看当前的显示器配置,例如:

$ xrandr

Screen 0: minimum 320 x 200, current 5120 x 1600, maximum 16384 x 16384
eDP connected primary 2560x1600+2560+0 (normal left inverted right x axis y axis) 345mm x 215mm
2560x1600 120.01*+ 96.03 72.01 60.00 50.01 48.00
1920x1200 120.01
1920x1080 120.01
1600x1200 120.01
1680x1050 120.01
1280x1024 120.01
1440x900 120.01
1280x800 120.01
1280x720 120.01
1024x768 120.01
800x600 120.01
640x480 120.01
HDMI-A-0 connected 2560x1440+0+80 (normal left inverted right x axis y axis) 530mm x 290mm
2560x1440 59.95*+
1920x1200 59.95
1920x1080 60.00 60.00 50.00 59.94 30.00 25.00 24.00 29.97 23.98
1600x1200 59.95
1680x1050 59.88
1600x900 60.00
1280x1024 75.02 60.02
1440x900 59.90
1280x960 60.00
1280x800 59.91
1152x864 75.00
1280x720 60.00 50.00 30.00 25.00 59.94 29.97 24.00 23.98
1024x768 75.03 60.00
800x600 75.00 60.32
720x480 60.00 59.94
640x480 75.00 60.00 59.94
DisplayPort-0 disconnected (normal left inverted right x axis y axis)

可以看到有一个空闲接口 DisplayPort-0, 我们可以使用这个空闲接口创建虚拟屏幕。

首先使用 gtf 命令生成一个模式:

# gtf 宽 高 刷新率
$ gtf 2000 1000 60

# 2000x1000 @ 60.00 Hz (GTF) hsync: 62.10 kHz; pclk: 165.93 MHz
Modeline "2000x1000_60.00" 165.93 2000 2120 2336 2672 1000 1001 1004 1035 -HSync +Vsync

接着将其导入到 xrandr 中:

$ xrandr --newmode "2000x1200_60.00"  201.50  2000 2136 2352 2704  1200 1201 1204 1242  -HSync +Vsync
$ xrandr --addmode DisplayPort-0 "2000x1200_60.00"

最后激活显示器:

$ xrandr --output DisplayPort-0 --mode "2000x1200_60.00" --right-of eDP

eDP 是我的笔记本内置屏幕,同时也是主屏幕,--right-of 表示将虚拟屏幕放在右边。同时还有 --left-of --above --below 等选项。

这样创建的虚拟屏幕有些缺点,例如黑色背景,有些软件会崩溃等。

使用 HDMI Dummy (推荐)

HDMI Dummy 可以翻译为 HDMI 欺骗器、HDMI 虚拟显示器等等。某宝上几块钱就可以买一个,插入后系统会认为有一个显示器连接上了。

串流到平板

使用 Sunshine + Moonlight

使用 Deskreen

使用 VNC

使用 Weylus

参考