平板当电脑的萤幕,很多Windows和macOS软件都有这功能,例如Duet Display能让iPad当
电脑延伸桌面使用。不过他们需要依赖专有软件呢,且没有一个支援Linux的。
本文希望使用开源软件的方案,实现平板当Linux电脑延伸桌面的目的。并且,这些方案也
可以在Windows系统使用。
双萤幕效果示例,左边是Linux电脑萤幕,右边是在平板上的延伸桌面。Linux视窗可以拖
放到平板上。
https://i.imgur.com/vrLa8JA.png
我的做法,简言之就是做个虚拟萤幕出来,然后调整远端桌面软件,让它撷取那个虚拟萤
幕的画面,进而远端串流到平板上。这个许多前辈分享过了,不过我要改进一些。
原理图如下
https://i.imgur.com/InmqtM4.png
远端桌面软件选择
允许自由组态的远端桌面软件应该都能设定要撷取Linux的哪个萤幕。
只是要单纯看图片文字的,x11VNC就能应付
希望低延迟播放影片和玩游戏的,Moonlight + Sunshine
需要使用平板触控笔输入的,Weylus
制作虚拟萤幕
最简单的方式是买一个HDMI欺骗器,就有第二个萤幕了。这样不论X11还是Wayland环境都
能撷取。
若要软件模拟第二个萤幕的话,比较麻烦,Intel跟Nvidia的方案不相同,依赖桌面环境的
实作(GNOME和KDE都有类似功能,那XFCE怎么办?)也不是很稳定的解决方案
所以用xrandr吧。仅限X11环境使用,Wayland没有通用的解决方案。
xrandr可以利用闲置的视讯输出孔当作第二萤幕,但若电脑没有多的HDMI输出孔呢?
这个时候利用EVDI驱动,它原本是设计给DisplayLink使用的,兼具生成一个虚拟萤幕
的功能,于是EVDI生成的萤幕就可以交给xrandr调整了.
实作
安装EVDI驱动
sudo apt install evdi-dkms
加载核心模组,生成一个虚拟萤幕(应该是DVI开头)
sudo modprobe evdi options initial_device_count=1
用xrandr赋予分辨率
xrandr