没接显示器也能 4K 240Hz 串流:Parsec 虚拟显示器驱动深度解析
【免费下载链接】parsec-vdd✨ Perfect virtual display for game streaming项目地址: https://gitcode.com/gh_mirrors/pa/parsec-vdd
云 GPU 实例开机没接显示器,串流工具和启动器直接罢工;主机塞在机柜里,想按编码器要的 1080p@240Hz 抓帧却没物理屏可用。parsec-vdd 把 Parsec 官方的虚拟显示器驱动剥离出来独立使用:不装 Parsec 客户端,在 Windows 10 以上系统里凭空创建虚拟显示器,最高 4K@240Hz。适合游戏串流玩家、无头主机管理员,以及想把它嵌进自己程序的开发者。
项目名片:一页速览
- 一句话定位:独立使用的虚拟显示器驱动
- 技术底座:IddCx 间接显示驱动
- 支持平台:Windows 10 1607 及以上
- 目标用户:串流玩家、无头主机用户
(其余界面截图资料不足,待补充)
目录结构:30 秒看懂
| 目录 | 职责 | 谁会关心它 |
|---|---|---|
| app/ | C#/WPF 管理器 ParsecDisplay,托盘里增删屏、调分辨率 | 想图形化操作的普通用户 |
| core/ | 单头文件 C/C++ API(parsec-vdd.h)和示例 vdd-demo.cc | 要把驱动嵌进自己程序的开发者 |
| docs/ | 协议逆向、驱动规格、CLI 与 API 用法四篇文档 | 二次开发工程师 |
其中 app/Vdd/ 子目录是驱动交互层:设备枚举、IOCTL 封装、状态轮询都集中在 Controller.cs 和 Core.cs,读源码从这里入手最省事。
遇到这些场景时,它能干什么 🎮
- 无头主机起不来的启动器— 云 GPU 实例、机房服务器没接显示器,抓帧工具、基准测试、游戏启动器拒绝工作。装上 VDD 就有了真实桌面会话,串流链路直接跑通。最受益:云游戏、渲染集群管理员。
- 按编码器要的模式串流— 物理屏是 1080p@60,编码器却要 1080p@240 或 4K@120。虚拟显示器直接设成目标模式,省掉重采样和裁边。单个适配器最多 16 块虚拟屏,分辨率上限 8192×4320。最受益:Sunshine/Moonlight、Steam Remote Play 用户。
- 一条命令管多块屏—
vdd -a加屏,vdd set 1 1920x1080@144设模式,退出码就是驱动索引,方便写进脚本批量部署。最受益:运维、自动化部署。 - Hyper-V 客机里抢不到画面— Hyper-V 自带的显示器无法断开,串流工具回退不到自己的虚拟屏。在客机里装 VDD 就有了可控的抓取目标。最受益:虚拟化玩家。
它是怎么做到的:3 个技术点 💡
- IddCx 间接显示驱动— 驱动以用户态运行,通过
SwDeviceCreate注册一个软件设备,Windows 就把它当成一块真实显示器。每块屏的规格(EDID)写死在驱动二进制里,这也是它不支持 HDR 的原因:没有注册表开关,想改得动 mm.dll 里的 EDID 块再重装。 - 看门狗式保活— 4 个 IOCTL 管全部:加屏 0x22E004、拔屏 0x22A008、心跳 0x22A00C、查状态 0x22E010。心跳必须每约 200ms 发一次,停发约 1 秒后驱动会拔掉所有虚拟屏——这是给崩溃主机兜底的清理机制。自己实现时最容易在这里踩坑,协议细节都写在官方文档 docs/PARSEC_VDD_RE.md。
- 从右往左拔屏— Windows 10 按"显示器 ID 组合"缓存布局,拔掉中间一块会让剩余组合变成新配置,退回默认模式。ParsecDisplay 在休眠、退出时一律从最大索引开始拔,绕开这个坑。源码:app/Vdd/
我该不该选它:与其他 IDD 项目对比
| 维度 | parsec-vdd | Virtual-Display-Driver (HDR) | virtual-display-rs |
|---|---|---|---|
| IddCx 版本 | 1.5 | 1.10 | 1.5 |
| 数字签名 | 有 | 有 | 无 |
| HDR | 不支持 | 支持 | 不支持 |
| 硬件光标(防双光标) | 支持 | 支持 | 支持 |
| 自定义分辨率 | 5 个预设槽位 | 完全可定制 | 完全可定制 |
| 配套工具 | WPF 管理器 + CLI | 无 | 无 |
结论:要签名驱动、要打游戏、还要脚本化管理,选 parsec-vdd;必须 HDR,选 HDR 版;写 Rust 项目想嵌入驱动,看 virtual-display-rs。不适合:需要 HDR 的串流场景,以及要求开机未登录就自动起屏的纯无头部署(GUI 应用需要交互会话,可改用服务化的第三方分支)。
收尾
parsec-vdd 把 Parsec 官方虚拟显示器变成可脚本化、可嵌入的通用组件,16 块 4K@240Hz 虚拟屏按需开关。建议先git clone https://gitcode.com/gh_mirrors/pa/parsec-vdd,跑一遍 core/ 里的 vdd-demo.cc,再装 0.45 版驱动(求稳选 0.41),用vdd -a挂出你的第一块虚拟显示器。
【免费下载链接】parsec-vdd✨ Perfect virtual display for game streaming项目地址: https://gitcode.com/gh_mirrors/pa/parsec-vdd
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考