如果你手头有一台 Mac,又恰好有一台闲置的 iPhone 或 iPad,大概率想过把它们拼成双屏来用。这件事本身不新鲜,新鲜的是最近有个免费开源的项目解决了这个痛点,没有订阅费、不需要硬件加密狗、也不用登录同一个 Apple ID。
项目叫 OpenDisplay,作者是 Philip Poloczek,目前 GitHub 上有 1000 多颗 star。
一款免费开源的 macOS 工具,能把 iPhone 或 iPad 变成 Mac 的真正扩展显示器(非镜像),通过 USB 或 WiFi 连接,支持 Retina 高清显示、触摸操作,是 Apple Sidecar/Duet Display 的替代方案。
把闲置的 iPhone 或 iPad 变成 Mac 真正第二块屏幕的开源工具
显示模式与设备数量:
macOS 会将设备识别为真实的第二台显示器(支持在系统设置中拖拽排列),而不是单纯的投屏。当然,如果你只需要投屏,它也同样提供屏幕镜像模式。
支持同时连接多台设备,每一台连接上的 iPhone 或 iPad 都会成为一个独立的扩展屏幕。
连接方式有两种:
USB 有线:通过 macOS 内置的 usbmuxd 守护进程直连,延迟最低,插上线就能用,无需任何网络配置;
WiFi 无线:WiFi 模式通过 Bonjour 自动发现,在 Mac 端的下拉菜单中直接选择即可。
关于画质:
OpenDisplay 会生成一个和你 iPhone/iPad 屏幕像素完全匹配的虚拟显示器(@2x HiDPI,也就是所谓的视网膜级别),所以文字边缘锐利、不发虚,看起来和原生屏幕一样清晰。
另外,横竖屏切换也处理了:旋转设备后,虚拟显示器会自动重建为竖屏,保持原生分辨率。
关于触控:
手指点一下 = 鼠标左键点击
按住并拖动 = 鼠标按住拖动
两根手指上下滑动 = 触控板滚动页面
Apple Pencil 以及更多手势操作已在路线图中规划。
高性能低延迟管线:采用硬件 H.264 编码(VideoToolbox 实时模式,无 B 帧)、TCP_NODELAY、帧丢弃背压与关键帧恢复机制,确保画面流畅。
屏幕内容仅在 Mac 与设备间的单条 TCP 连接上传输,不经过任何第三方服务器,无账户、无分析追踪。
安装和上手
需要装两个端:一个 Mac 端(负责采集和发送画面),一个 iOS 端(负责接收和显示)。
Mac 端从 GitHub Releases 页面下载 OpenDisplay.dmg,已做 Developer ID 签名和 Apple 公证,macOS 14 以上双击即开,不会有 Gatekeeper 弹窗。打开 .dmg 后把 App 拖进「应用程序」文件夹即可。
iOS 端推荐走 TestFlight 公测:testflight.apple.com/join/3NYaY11c。想自己编译的话,用 Xcode 打开项目,在 Signing 里选自己的 Apple ID,跑起来大约两分钟。
首次使用会触发两个权限弹窗:
屏幕录制(Mac):用于截取虚拟显示器画面。如果被拒,手机端会显示黑屏。
辅助功能(Mac):用于注入触摸事件。如果被拒,点击操作不生效。
WiFi 模式下还需要两端的本地网络权限,Mac 和 iPhone 都要开。作者特别提醒这个权限失败是"静默的"——不会弹错误提示,单纯就是搜不到设备。USB 模式不需要这两个权限。
项目采用 GPL-3.0 协议。这意味着它完全免费,允许你随意使用、学习甚至商业化。但是,任何人如果修改并分发了这个工具,必须同样以开源形式公开代码并保留原作者署名,不能包装成闭源的付费软件。
项目地址:https://github.com/peetzweg/opendisplay
|