本项目展示了一种独立的解决方案,通过使用Parsec VDD创建虚拟显示器,而无需依赖Parsec应用程序。
虚拟显示驱动程序(VDD)是在Windows主机上启用虚拟显示器所必需的。虚拟显示是一项面向Teams和Warp用户的功能,允许您在通过Parsec连接到您拥有的机器时,为主机添加最多3个额外的虚拟显示器。
Parsec VDD是由Parsec开发的完美软件驱动程序。它利用IddCx API(间接显示驱动程序)在Windows 10+上创建虚拟显示器。这种虚拟显示器在物理显示器不可用或需要额外屏幕的情况下特别有用。
Parsec VDD的一个显著特点是支持广泛的分辨率和刷新率,包括高达4K和240Hz。这使其非常适合游戏,因为它可以提供高质量的视觉体验。它使用户能够模拟额外屏幕的存在或在没有物理显示器的情况下工作,提高了显示管理的灵活性和定制性。
这是一个用C#和WPF编写的完整驱动程序应用程序,用于控制Parsec VDD。它可以显示已添加的虚拟显示器数量,允许添加多个虚拟显示器并移除特定选定的显示器。还允许更改分辨率和截图等功能。
👉 查看发布版本下载。
<p align="center"> <img src="https://github.com/nomi-san/parsec-vdd/assets/38210249/71b25bc6-eee1-4d80-94e0-e39eab7f8fb9" /> </p>此应用程序的完整源代码位于app文件夹中。
Parsec VDD被设计为与Parsec客户端连接会话一起工作。当用户连接到主机时,应用程序将开始控制驱动程序,发送IO控制码并获取结果。添加虚拟显示器时,您将获得其索引以用于拔插,每个适配器最多可添加16个显示器。您必须定期向驱动程序发送ping以保持添加的显示器活动,否则所有显示器将在一秒后被拔出。没有直接操作已添加显示器的方法,您应该调用Win32显示API来更改它们的显示模式(参见ParsecVDisplay源代码)。
flowchart LR A(应用程序) B(vdd) A <--->|ioctl| B A ..->|ping| B B --- X(显示器1) B --- Y(显示器2) B --- Z(显示器3) winapi -->|操作| X
您必须安装驱动程序才能使其工作。
版本 | 最低操作系统 | IddCx | 注释 |
---|---|---|---|
parsec-vdd-0.38 | Windows 10 1607 | 1.0 | 已过时,可能会随机崩溃。 |
parsec-vdd-0.41 | Windows 10 19H2 | 1.4 | 稳定。 |
parsec-vdd-0.45 | Windows 10 21H2 | 1.5 | 更好的流媒体颜色,但可能在某些Windows上不工作。 |
所有这些驱动程序也适用于Windows Server 2019或更高版本。
您可以解压(使用7z)上述驱动程序安装程序以获取驱动程序文件和nefconw
命令行工具。
vdd-0.45/
|__ nefconw.exe
|__ driver/
|__ mm.cat
|__ mm.dll
|__ mm.inf
使用nefconw
安装驱动程序的命令行方法(需要管理员权限):
start /wait .\nefconw.exe --remove-device-node --hardware-id Root\Parsec\VDA --class-guid "4D36E968-E325-11CE-BFC1-08002BE10318"
start /wait .\nefconw.exe --create-device-node --class-name Display --class-guid "4D36E968-E325-11CE-BFC1-08002BE10318" --hardware-id Root\Parsec\VDA
start /wait .\nefconw.exe --install-driver --inf-path ".\driver\mm.inf"
此外,你可以在静默模式下运行驱动程序安装程序以快速安装。
.\parsec-vdd-0.45.0.0.exe /S
此列表显示了Parsec VDD的已知限制。
Parsec VDD不支持其显示器上的HDR(请参阅下面的EDID)。理论上,你可以通过编辑EDID,然后添加HDR元数据并设置10位+色深来解锁支持。不幸的是,你无法像物理设备那样刷新其固件,或修改注册表值。
所有IDD在驱动程序二进制文件中都有自己固定的EDID块,用于初始化显示器规格。因此,解决方案是修改驱动程序DLL(mm.dll)中的这个块,然后使用nefconw
命令行工具重新安装(见上文)。
在连接之前,虚拟显示器会在HKEY_LOCAL_MACHINE\SOFTWARE\Parsec\vdd
注册表中查找额外的预设分辨率。目前最多支持5个值。
SOFTWARE\Parsec\vdd
key: 0 -> 5 | (width, height, hz)
要解锁这个限制,你需要以同样的方式修补驱动程序DLL,但5个足够个人使用。
这是使用独立Parsec VDD时的已知问题列表。
如果你在Parsec主机设置中启用了"隐私模式",请禁用它并清除以下注册表路径中的已连接显示器配置。
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Connectivity
此选项会在添加虚拟显示器时关闭主显示器,导致难以打开显示器并中断远程桌面会话。
下表显示了与其他流行的间接显示驱动程序项目的比较。
项目 | Iddcx版本 | 已签名 | 游戏 | HDR | H-光标 | 可调整 | 控制器 |
---|---|---|---|---|---|---|---|
usbmmidd_v2 | ✅ | ❌ | ❌ | ❌ | |||
IddSampleDriver | 1.2 | ❌ | ❌ | ❌ | ❌ | ||
RustDeskIddDriver | 1.2 | ❌ | ❌ | ❌ | ❌ | ||
Virtual-Display-Driver (HDR) | 1.10 | ❌ | ✅ | ❌ | |||
virtual-display-rs | 1.5 | ❌ | ❌ | #81 | ✅ | ✅ | |
parsec-vdd | 1.5 | ✅ | ✅ | ❌ | ✅ | 🆗 | ✅ |
✅ - 完全支持,🆗 - 有限支持
已签名表示驱动程序文件具有 有效的数字签名。H-光标表示硬件光标支持,没有它你将在一些远程桌面应用程序上看到双光标。可调整是自定义显示模式的能力。访问MSDN IddCx版本以查看最低支持的Windows版本。
以下所有显示模式均由驱动程序默认设置。
分辨率 | 常用名称 | 宽高比 | 刷新率 (Hz) |
---|---|---|---|
4096 x 2160 | DCI 4K | 1.90:1 (256:135) | 24/30/60/144/240 |
3840 x 2160 | 4K UHD | 16:9 | 24/30/60/144/240 |
3840 x 1600 | 超宽屏 | 24:10 | 24/30/60/144/240 |
3840 x 1080 | 超宽屏 | 32:9 (2x 16:9 FHD) | 24/30/60/144/240 |
3440 x 1440 | 21.5:9 (43:18) | 24/30/60/144/240 | |
3240 x 2160 | 3:2 | 60 | |
3200 x 1800 | 3K | 16:9 | 24/30/60/144/240 |
3000 x 2000 | 3:2 | 60 | |
2880 x 1800 | 2.8K | 16:10 | 60 |
2880 x 1620 | 2.8K | 16:9 | 24/30/60/144/240 |
2736 x 1824 | 60 | ||
2560 x 1600 | 2K | 16:10 | 24/30/60/144/240 |
2560 x 1440 | 2K | 16:9 | 24/30/60/144/240 |
2560 x 1080 | 超宽屏 | 21:9 | 24/30/60/144/240 |
2496 x 1664 | 60 | ||
2256 x 1504 | 60 | ||
2048 x 1152 | 60/144/240 | ||
1920 x 1200 | FHD | 16:10 | 60/144/240 |
1920 x 1080 | FHD | 16:9 | 24/30/60/144/240 |
1800 x 1200 | FHD | 3:2 | 60 |
1680 x 1050 | HD+ | 16:10 | 60/144/240 |
1600 x 1200 | HD+ | 4:3 | 24/30/60/144/240 |
1600 x 900 | HD+ | 16:9 | 60/144/240 |
1440 x 900 | HD | 16:10 | 60/144/240 |
1366 x 768 | 60/144/240 | ||
1280 x 800 | HD | 16:10 | 60/144/240 |
1280 x 720 | HD | 16:9 | 60/144/240 |
注意事项:
Parsec虚拟显示适配器
Root\Parsec\VDA
{00b41627-04c4-429e-a26e-0265cf50c8fa}
{4d36e968-e325-11ce-bfc1-08002be10318}
PSCCDD0
ParsecVDA
00 FF FF FF FF FF FF 00 42 63 D0 CD ED 5F 84 00
11 1E 01 04 A5 35 1E 78 3B 57 E0 A5 54 4F 9D 26
12 50 54 27 CF 00 71 4F 81 80 81 40 81 C0 81 00
95 00 B3 00 01 01 86 6F 80 A0 70 38 40 40 30 20
35 00 E0 0E 11 00 00 1A 00 00 00 FD 00 30 A5 C1
C1 29 01 0A 20 20 20 20 20 20 00 00 00 FC 00 50
61 72 73 65 63 56 44 41 0A 20 20 20 00 00 00 10
00 00 00 00 00 00 00 00 00 00 00 00 00 00 01 C6
02 03 10 00 4B 90 05 04 03 02 01 11 12 13 14 1F
8A 4D 80 A0 70 38 2C 40 30 20 35 00 E0 0E 11 00
00 1A FE 5B 80 A0 70 38 35 40 30 20 35 00 E0 0E
11 00 00 1A FC 7E 80 88 70 38 12 40 18 20 35 00
E0 0E 11 00 00 1E A4 9C 80 A0 70 38 59 40 30 20
35 00 E0 0E 11 00 00 1A 02 3A 80 18 71 38 2D 40
58 2C 45 00 E0 0E 11 00 00 1E 00 00 00 00 00 00
00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 A6
访问 http://www.edidreader.com/ 在线查看或使用高级工具 AW EDID 编辑器
AI数字人视频创作平台
Keevx 一款开箱即用的AI数字人视频创作平台,广泛适用于电商广告、企业培训与社媒宣传,让全球企业与个人创作者无需拍摄剪辑,就能快速生成多语言、高质量的专业视频。
一站式AI创作平台
提供 AI 驱动的图片、视频生成及数字人等功能,助力创意创作
AI办公助手,复杂任务高效处理
AI办公助手,复杂任务高效处理。办公效率低?扣子空间AI助手支持播客生成、PPT制作、网页开发及报告写作,覆盖科研、商业、舆情等领域的专家Agent 7x24小时响应,生活工作无缝切换,提升50%效率!
AI辅助编程,代码自动修复
Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。
AI小说写作助手,一站式润色、改写、扩写
蛙蛙写作—国内先进的AI写作平台,涵盖小说、学术、社交媒体等多场景。提供续写、改写、润色等功能,助力创作者高效优化写作流程。界面简洁,功能全面,适合各类写作者提升内容品质和工作效率。
全能AI智能助手,随时解答生活与工作的多样问题
问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。
实时语音翻译/同声传译工具
Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。
一键生成PPT和Word,让学习生活更轻松
讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能 提供支持,帮助用户精准表达,轻松呈现各种信息。