nomi-san / parsec-vdd Goto Github PK
View Code? Open in Web Editor NEW✨ Perfect 4K@240Hz Virtual Display
License: MIT License
✨ Perfect 4K@240Hz Virtual Display
License: MIT License
After installing and enabling the virtual display driver from this project, I encountered first several crashed, then severe stuttering when dragging the canvas in Photoshop. And the problems disappeared after I disabled it. Suspiciously, this may potentially affect other applications.
When the laptop flap is closed and then reopened after more than 5 minutes, the virtual display is deleted and needs to be reconfigured.
Im using ParsecVDisplay-v0.45-setup.exe
Repro Steps:
After I installed it, I ran it directly with no problems. However, after restarting the computer, the software did not start with the restart, and it could not be started by double-clicking the software icon.
Virtual display adapter can be seen in device manager
A temporary solution is to reinstall the software after a reboot. But when operating remotely, I had to start RDP to complete the reinstall before continuing to stream remotely using the virtual display
I can't create new display
When i click the ADD DISPLAY
button, the new one show it's name \\.\DISPLAY1
, And it disappear soon
It's suppose to be incorrect which conflicted with my main display (laptop)
But i click ADD DISPLAY
in a short period of time. I can create two display, but they will not disappear
....
While using a physical display, I hope to be able to disconnect or remove a virtual display using the CLI, which I've noticed is included in the upcoming release. However, when connected to a virtual display, the primary screen often remains on the physical display. In such cases, unless I manually switch the main display to the virtual one using the physical controls, I might not find a better solution. Some DP and HDMI monitors, to my knowledge, stop sending signals to the graphics card after being turned off for a while, but I haven’t found a way to control this timing.
Could you please add a feature to turn off the physical display using the CLI in your program? Thank you.
Parsec supports HDR 10-bit streaming for now, but the VDD does not.
To unlock that, the driver should be modified to unlock HDR inside its EDID (that will break the signature).
You can use EDID writer to modify directly the plugged vdisplay but I'm not sure that works.
In case of modifying the driver file (mm.dll), check out the README to find EDID in hex editor.
graph LR
A["mm.dll"] .-> B["EDID"] .-> C["HDR support"] -->|apply| A
You need to use atleast 10-bit streaming and an HDR monitor to achive HDR in your view.
For example remote desktop with Moonlight or Parsec.
graph LR
A["VDD with HDR"] --> B["10-bit streaming"] --> C["HDR monitor"]
如题,开机启动的同时,默认设置一个虚拟屏幕
I would like to request a feature to fix the name of the generated virtual screen in the program I am using to extend my screen to a tablet. Currently, when setting up the display in Sunshine, I can specify the name of the display, which is convenient for quick setup.
However, the issue I am facing is that the new display is assigned a random name in the format .\DISPLAY{id}, where the "id" part is randomly generated during the screen generation process.
I kindly request an improvement in the program to provide a fixed name for the generated virtual screen, rather than the randomly assigned name. This would greatly enhance the usability and convenience of the program.
Thank you for considering my feature request. I look forward to your positive response.
My computer has two Graphics cards(iGPU & dGPU).
When I create a screen using parsec-vdd, the added virtual screen is connected to the iGPU.
I've tried disabling the iGPU, at which point the virtual screen created connects to the dGPU, but can't use the dGPU's hardware encoder.
Is it possible to add multi-language support in the future?
When I use sunshine on my laptop, because sunshine states "If a GPU is specified above, the monitor must be connected to that GPU." This causes my sunshine to run normally when using the laptop's cpu core graphics card. When using the independent graphics direct connection mode, it seems that the virtual monitor is not connected to the independent graphics card, resulting in an error when using sunshine for streaming.
How about adding only the virtual screen display in windows settings?The settings only function as a copy of the physical screen and extend the physical screen,can i just set the virtual screen as the main screen only?Similar to the privacy mode?
Parsec has announced VDD v0.45 in early of March.
https://builds.parsec.app/vdd/parsec-vdd-0.45.0.0.exe
Parsec Virtual Display Driver 0.45 allows you to select which physical GPU you wish the adapter to spawn on. This change is aimed at virtual machines and the selection can be changed using the Windows Registry.
Parsec Virtual Display Driver 0.45 greatly improves Privacy Mode and Virtual Display Driver reliability when used in combination with 150-93.
Seems the Privacy Mode bug (mentioned in README) has been fixed. And the driver setup (installer) is now using nefconw (by nefarius) instead of MS devcon. That will fix a problem that devcon cannot fully uninstall/override the driver files (mm.dll).
nefconw --remove-device-node --hardware-id Root\Parsec\VDA --class-guid "4D36E968-E325-11CE-BFC1-08002BE10318"
nefconw --create-device-node --class-name Display --class-guid "4D36E968-E325-11CE-BFC1-08002BE10318" --hardware-id Root\Parsec\VDA
nefconw --install-driver --inf-path ".\driver\mm.inf"
Sorry for my late, the ParsecVDisplay app will be released soon in the end of this month and should support VDD v0.45.
I have observed that Microsoft Defender Antivirus is flagging ParsecVDisplay v0.45-a as Trojan:Script/Wacatac.B!ml and has isolated related files. Below are the detailed information:
Severity: Severe
Detected: Trojan:Script/Wacatac.B!ml
Status: Isolated
Isolated file location: Restricted area, won't harm the device
Date: March 30, 2024, 10:00 AM
Details: According to the report, the program might contain malicious code possibly intended for executing commands from attackers.
Affected Items:
File: c:\program files\parsecvdisplay\parsecvdisplay.exe
File: C:\ProgramData\Microsoft\Windows\Start Menu\Programs\ParsecVDisplay.lnk
File: C:\Users\Public\Desktop\ParsecVDisplay.lnk
hi
Thank you for the development,
When computer restarts, only the software is turned on, and the virtual display does not remember the last time it was added.
Also, is it possible to add a virtual display to boot to the sunshine command line?
thanks in advance for the help!
Although a wide variety of resolutions and refresh rates are currently supported, is there an option for users to customize specific resolutions and refresh rates? I'm leveraging this solution to use my tablet as a secondary screen, but my tablet has an unconventional resolution ratio. I'd really appreciate the capability to customize both the resolution and refresh rate. Moreover, the official manual for the driver mentions customization through the registry, but I'm unsure if this project follows the same guideline. After installing the driver, I couldn't find the registry path mentioned in the official documentation on my computer(https://support.parsec.app/hc/en-us/articles/4423615425293-VDD-Advanced-Configuration)
Cannot create a virtual screen after using windows mstsc.exe tool (RDP) to connect remotely
When I created a new virtual monitor, I found that the game Noita could not be opened.When I run Genshin, I find that the GPU Load is low and the frame rate of the game is low.
I like your idea but couldn't figure out how to implement it as you described, so a simple build setup from your description would help alot
I have setup by mistake a very high resolution which Parsec does not support.
Even when uninstalling / reinstalling Parsec-vdd, as soon as I try to add a new virtual display, it set immediately at the very high resolution i use to set before.
Tried to removed several files in app data. Same thing.
This will allow more people to call it in their favorite language!
The custom resolution has been set, but there is no response when the custom resolution is selected after creating the monitor (the options in the right-click menu have been changed, but the actual resolution has not been changed)thanks
After installation, clicking the "ADD DISPLAY" button caused the screen to go black immediately, but the device did not shut down. My device is an ROG Ally X with an AMD Z1 Extreme CPU.
May god bless you for this beautiful software. My greatest respect.
Dear author, After copying your latest code repository and completing some missing code, I found that I can only add three virtual displays to my device. When I add the fourth one, all displays will be deleted one by one. At the same time, the debugging window will display that the process has been destroyed
Then when I tried to locate the abnormal location, I found an identifier related to Thread in the Program.cs. After removing it, I was able to add five virtual displays, but when I added the sixth one, the display was still completely removed.
So I want to know why did this situation occur? During my debugging process, I found that the functions related to deleting the display were not called, and I did not find any exceptions. So I am very curious why this question arises, and I sincerely hope you can reply. Thank you
I used sunshine+moonlight+parsec-vdd for LAN streaming, but I couldn't keep virtual displays setting whenever the server reboot. So is this a bug, or did I set it up incorrectly?
I tried to add a 8K display but costum doesn't work. How to add a 8K screen? wish you a good day.
I am encountering a recurring issue on my Windows 10 system where virtual displays created by Parsec-vdd are unexpectedly removed after a period of use.
This problem occurs when I use Sunshine as a streaming source for an older tablet running Moonlight.
Although I am not certain that Sunshine is directly related to this issue, I primarily use Parsec-vdd in conjunction with Sunshine, which could suggest a possible connection.
When I used eventvwr.msc
and checked the Windows Logs / System
for clues, the only anomalies around the times of the display disconnections were some TLS error logs, which seem unrelated.
Could you assist me in identifying the potential causes of these disconnections?
Are there specific logs or diagnostic tools within Windows that I could utilize to gather more information and troubleshoot this issue more effectively? Additionally, if there are any steps I can take to specifically isolate and rule out the influence of Sunshine on this problem, that would be immensely helpful.
System Specifications:
OS: Windows 10 version 22H2, Build 19045.3803
Parsec-vdd version: v0.45.0
Hardware: Intel i5-10500 + AMD RX6400, with two physical Dell P2319H monitors connected to the RX6400
I would also like to commend you on the excellent functionality of Parsec-vdd—it has proven extremely useful and efficient in most scenarios.
On Windows 10, all connected display configurations will be saved in a specific registry. Each configuration is a combination of current connected displays and the key should be joined names of them. That will produce an issue that when you disconnect a middle display, then all others will be reset their configuration to default. I have not tested on Windows 11, but heard the display configurations system is smarter than Windows 10.
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers\Connectivity
For example, you have plugged 3 displays, the registry keys look like:
DISP001 // conf for display 1
DISP001_DISP002 // conf for display 1+2
DISP001_DISP002_DISP003 // conf for display 1+2+3
graph LR
Display1 .-> Display2 .-> Display3
Then you unplug the display 2, the registry keys look like:
DISP001 // conf for display 1
DISP001_DISP002 // conf for display 1+2
DISP001_DISP002_DISP003 // conf for display 1+2+3
DISP001_DISP003 // conf for display 1+3 [new]
graph LR
Display1 .-> Display3 ~~~ Display2
The last registry key is added for display 1 and display 3, it has no configuration before, so these connected displays will be reset to default mode (resolution & refresh rate). To avoid this issue, please unplug each display from right to left (remove the latest first).
graph LR
Display1 ---x|2| Display2 ---x|1| Display3
I noticed that each time I restart windows, the vdd will follow the same GPU as the monitor.
So can we specify which GPU to use, since the iGPU is not quick enough to encode 4k@120hz. (When stream with sunshine.)
How do i extract the driver files from the setup, it does not work for me, also is it possible to provide the driver source files
I’m wondering if a virtual display can function as the only display without a physical monitor connected to the computer. Specifically, if I initially set up the virtual display using Parsec-VDD with a physical monitor connected, then disconnect the monitor, will the virtual display still be operational?
Additionally, if I connect to the computer through a remote control app like Moonlight after disconnecting the monitor, would the virtual display continue to work in that scenario?
I’m currently using a laptop and can't test this myself, so I’m reaching out to see if anyone has tried this and can confirm whether it works.
Thanks in advance for your help!
I try to set virtual display to 2240*1400 (16:10) but no options to do this. How can I do it or add custom resolution to parsec-vdd?
like the title saying
I only had some experience in matlab to support scientific work, the current read.me, issues and demo.cc excced the my capability,
Is it possible for you to make a step-by-step guide that anyone can follow? e.g. just typing-in code in console?
I would be really appreciated if you can do that. :)
below is event log copy from win11
日志名称: Application
来源: Application Error
日期: 2024.7.15 11:42:25
事件 ID: 1000
任务类别: 应用程序崩溃事件
级别: 错误
关键字:
用户: 养乐多\臭狗子
计算机: 养乐多
描述:
错误应用程序名称: ParsecVDisplay.exe,版本: 0.45.0.0,时间戳: 0xc87b395c
错误模块名称: KERNELBASE.dll,版本: 10.0.22621.3880,时间戳: 0xdb9989e8
异常代码: 0xe0434352
错误偏移量: 0x000000000005fabc
错误进程 ID: 0x0x42A8
错误应用程序启动时间: 0x0x1DAD669023D23B8
错误应用程序路径: D:\software\ParsecVDisplay\ParsecVDisplay.exe
错误模块路径: C:\WINDOWS\System32\KERNELBASE.dll
报告 ID: 7a03663b-b4e5-4a90-a08e-fc3eb70c620c
错误程序包全名:
错误程序包相对应用程序 ID:
事件 Xml:
1000
0
2
100
0
0x8000000000000000
15092
Application
养乐多
ParsecVDisplay.exe
0.45.0.0
c87b395c
KERNELBASE.dll
10.0.22621.3880
db9989e8
e0434352
000000000005fabc
0x42a8
0x1dad669023d23b8
D:\software\ParsecVDisplay\ParsecVDisplay.exe
C:\WINDOWS\System32\KERNELBASE.dll
7a03663b-b4e5-4a90-a08e-fc3eb70c620c
Hi,
Thank you for your development. This has been really helpful/useful to me and I appreciate it a lot :) I just wanted to ask, is it possible to enable/disable or create/remove displays via command line? It would be cool if this was a thing if its not as Sunshine streamer allows for sending command when connecting/disconnecting a client. It would be perfect for creating/removing a display - or the better way to handle it would be enabling/disabling existing displays so the display ID doesnt change. Thank you!
添加了虚拟显示器后,无论是否设置主显示器,桌面及打开的应用始终在虚拟显示器,这是怎么回事?
Co-tracking: KtzeAbyss/Easy-Virtual-Display#4
Bonjour, est ce que ce repo explique comment utiliser un VDD avec parsec sans souscrire à leurs offre wrap ?
Hi, thank you for you work. I have a issue about multi GPUs. I have four GPUs and I add four screen. I run some andriod simulators on the screen. I found total four screen load on one single GPU. Is there a way to make a screen work on specific GPU? I want the four screen load average on each GPU.
Thank you. Wish you a good day.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.