我开源了一款 macOS 虚拟显示器,支持 4K/240Hz
01 为什么做这个项目
我的主力机是一台Mac mini M4,没有接显示器,平时用 Windows 笔记本远程控制。
但问题来了:macOS 在没有物理显示器的情况下,默认只给一个 1080p 的虚拟屏。远程过去画面模糊、文字发虚、可操作区域小,看久了眼睛很累。
我试过BetterDisplay,功能确实很全,但太复杂了——EDID、DisplayID、色彩配置,我只想一键创建个虚拟屏而已。
其次,我有多台设备都有远程Mac mini M4的需求,不同设备的分辨率不一样,期望不管用哪个设备都能全屏,也就是要支持动态调整分辨率。
所以,我写了VirtualDisplay,能够完美满足我的需求。
02 VirtualDisplay 是什么
一句话:极简的 macOS 菜单栏工具,一键创建 4K/8K 虚拟显示器。

核心特性
零配置:启动即用,没有复杂设置面板
4K/5K/6K/8K:任意分辨率,自定义
默认 HiDPI:macOS 以 2× 渲染,远程文字清晰锐利
支持高刷:60Hz/120Hz/144Hz/240Hz 自定义
多显示器:可同时创建多个虚拟屏,独立管理
多分辨率预设:一个显示器保存多组配置,一键切换
命令行工具:内置vdctl,支持接入大模型Agent
03 使用场景
场景一:Mac mini 无头远程
这是我自己每天都在用的场景。
Mac mini 放在角落,不接显示器。Windows 笔记本远程过去,选择 VirtualDisplay 创建的 4K 虚拟屏,办公体验和坐在 Mac 前几乎一样。
步骤:
启动 VirtualDisplay 菜单栏点击 → 添加显示器 → 命名 MacMini_4K 添加分辨率:3840 × 2160 @ 60Hz 保存,选中 远程客户端选择 MacMini_4K,优先选 HiDPI 模式(注意选1920x1080HiDPI)
场景二:平板原生素显示
用OPPO Pad 3远程 Mac,分辨率是 2800×2000。
创建一个完全匹配的虚拟屏,平板远程时没有任何黑边和拉伸,原生素显示。
分辨率设置:2800 × 2000 @ 60Hz
远程客户端选择:1400 × 1000 (HiDPI)
场景三:多设备隔离
创建两台虚拟显示器:
Work_Display:给公司电脑远程用,4K 分辨率
Home_Display:给个人电脑用,2K 分辨率
互不干扰,切换方便。
04 技术实现
VirtualDisplay 基于CoreGraphics 私有 APICGVirtualDisplay。
核心代码其实不复杂:
letdescriptor=CGVirtualDisplayDescriptor()
descriptor.name="MyDisplay"
descriptor.maxPixelsWide=3840
descriptor.maxPixelsHigh=2160
letdisplay=CGVirtualDisplay(descriptor:descriptor)
letsettings=CGVirtualDisplaySettings()
settings.hiDPI=1
settings.modes=[
CGVirtualDisplayMode(width:1920,height:1080,refreshRate:60)
]
display.apply(settings)
关键点:
maxPixelsWide/High定义物理分辨率上限
hiDPI = 1开启 HiDPI,macOS 内部以一半分辨率渲染
modes数组支持多组分辨率,实现多分辨率切换
05 同类产品对比
| 特性 | 系统默认 | BetterDisplay | VirtualDisplay |
|---|---|---|---|
| 最高分辨率 | 1080p | 任意 | 任意 |
| HiDPI | ❌ | ✅ | ✅ |
| 多虚拟屏 | ❌ | ✅ | ✅ |
| 高刷支持 | 60Hz | 任意 | 任意 |
| 配置难度 | 无需 | 高 | 零配置 |
| 命令行工具 | ❌ | 有限 | 完整 |
| 价格 | 免费 | $21.99 | 免费开源 |
VirtualDisplay 的定位:比系统默认强,比 BetterDisplay 简单。
只做虚拟显示器,不做 DDC 控制、不做色彩校准、不做屏幕旋转。如果你只是想要一个清晰的远程桌面,这就够了。
06 下载与使用
安装
从 GitHub Releases 下载VirtualDisplay.zip
解压到「应用程序」文件夹
右键打开(绕过 Gatekeeper,详见下方说明)
菜单栏出现图标,点击即可使用
首次打开提示「无法验证开发者」
VirtualDisplay 没有购买 Apple 开发者证书,这是正常的。
解决方法(推荐第一种):
访达中右键VirtualDisplay.app→打开→ 弹窗中再点打开
或终端执行:
xattr-drcom.apple.quarantine /Applications/VirtualDisplay.app
不推荐
sudo spctl --master-disable彻底关闭 Gatekeeper。
08 参与项目
VirtualDisplay 完全免费开源,MIT 协议。
GitHub: github.com/youngyunxing/VirtualDisplay
问题反馈: GitHub Issues
技术讨论: GitHub Discussions
欢迎:
⭐ 点个 Star,支持持续更新
🐛 提交 Issue,报告 bug 或提需求
🔧 提交 PR,一起完善功能
最后
如果你也有 Mac mini 无显示器的场景,或者远程办公时觉得画面模糊,试试 VirtualDisplay。
如果觉得有用,欢迎转发给有同样需求的朋友。
本文对应开源项目 VirtualDisplay,作者:youngyunxing
