sofmeright / VirtualDisplayDriver_Wizard

Virtual Display Driver: Wizard is a GUI tool that can integrate with other software such as Sunshine for efficient manipulation (Install / Uninstall / Reload / Configure) of Indirect Display Driver Sample (IddSample) implementations like the HDR capable Virtual Display Driver from itsmikethetech that works on Windows 10/11.
GNU General Public License v3.0
7 stars 2 forks source link

Feature Requests / Suggestions #2

Open JSRRosenbaum opened 5 days ago

JSRRosenbaum commented 5 days ago

A few Suggestions

Let me know if you want me to split these into separate items / bugs. I'm usually more of a lurker than a contributor here but I'd love to help w/ this project!

Also -

Have you looked at this project?

https://github.com/MolotovCherry/virtual-display-rs

They have a very interesting GUI. It is still WIP and they are doing things differently - yours is much more straightforward and quick / easy to use, but could use some polish.

This new control panel in flutter looks really cool:

https://github.com/MolotovCherry/virtual-display-rs/issues/101

JSRRosenbaum commented 5 days ago

https://github.com/sofmeright/VirtualDisplayDriver_Wizard/pull/3/commits/e2d5f3f4e9bb0b219bc587c269e5d64284a80df5

Wrote and tested this one "Automatically download IDD from GitHub (Could prompt, if not detected)"

Created Pull Request

sofmeright commented 4 days ago

Thanks for sharing! I am mostly a lurker too! Same boat! This is my first project! I have not contributed in the past, not officially at the very least! I definitely welcome contribution, my main goal here was to make the drivers easier to navigate for people who are less savvy than us! That's the number one priority, help is always appreciated!

I will commit the changes you made soon and add a Msgbox to confirm! Downloading the drivers automagically is great as long as we prompt just as you said! I don't want to do anything in the background unannounced. Also wanna investigate and see if theres a way to make it check for updates and offer the latest! Let me know what you think of my philosophies of course! I think just leave this open as is its a good list no need to split into separate entries!

sofmeright commented 4 days ago

Have you looked at this project?

https://github.com/MolotovCherry/virtual-display-rs

They have a very interesting GUI. It is still WIP and they are doing things differently - yours is much more straightforward and quick / easy to use, but could use some polish.

This new control panel in flutter looks really cool:

MolotovCherry/virtual-display-rs#101

I had not seen this!!! Its a shame that the last update was 2023. The only one id seen similar to this was the project I linked in the readme is the fork by timminator. I didn't know there was yet another project. Sadly tbh I am a terrible front end dev. It would be a fun project to rebuild this in a modern UI but I am not readily capable! This is really cool, however sad it looks like it was abandoned!

JSRRosenbaum commented 4 days ago

I had not seen this!!! Its a shame that the last update was 2023. The only one id seen similar to this was the project I linked in the readme is the fork by timminator. I didn't know there was yet another project. Sadly tbh I am a terrible front end dev. It would be a fun project to rebuild this in a modern UI but I am not readily capable! This is really cool, however sad it looks like it was abandoned!

They are pretty active in the developer's discord, but I hadn't noticed that the actual project isn't updated.

Do you use a dummy plug? I keep wasting time trying to see if I can work around needing one, the parsec virtual display driver does it somehow but I can't get that to pass through moonlight. There is a project here that accesses / controls that driver:

Timminator has a project with that driver here: https://github.com/timminator/ParsecVDA-Alwa

Sunshineintegration.bat is a temporary option and also a bit of an example as any of the commands can be piped similarly through a user made .bat. I could make them self contained on launch but I feel like its more simplistic to just contain it all in a .zip as we'd have to make it possible to delete it without it getting created at the next launch.

Thats a good point, its a useful example. It could be an additional command for simplicity - Reso_Set If everything is auto-install then the folder contents won't really matter as much.

Push to appdata, I think this would make it a little opinionated and I prefer to let the user choose the storage location. I prefer portable apps style philosophy (and also generating the least amount of folders. I recommend making the "Backups" folder hidden (also if you like you can unpack the whole app in app_data if you like). This does however draw my attention to how BUSY the folder is with the drivers unpacked there, def can put those files in a sub folder! Kinda like you did in the pull request. I want to implement that definitely!

Hmm. Thats a good point. I see software very frequently inquire about whether to store files in appdata or within the folder. As frequently as I reinstall OS, you'd think I would have realized that doing that would significantly cut down on the need to reconfigure applications. I've got to think about that. I guess the best case would be something akin to a dotfile that can reload settings dynamically for any application I use, maybe by symlinking. 🤔

I didn't look too deeply in the code to switch the hooks for looking for those files, so I just had the script download, extract the files, and move them into the root, and then delete the zip and the folder. I agree it would be better to have the files contained in a folder, maybe you could even ephemerally unzip them and then delete the folder after using the files, just keep the zip downloaded.

AutoUpdater shouldn't be too difficult, you could set a file in the repo to a version number, and have it dl the file to compare it to the current version, and overwrite the files with the new set if it is. Would be tricky / weird to hand off to a separate process so you can replace the current one, and I'm not sure about security implications of that, but I don't think it is a huge problem at this level.

Mostly winget just makes it way faster to get the application on a new system - could go to a terminal and do winget install sofmeright.vddw and be up in a few seconds. beats the hell out of using a search engine or even loading off local storage. If that is set up, then there is an update function baked in someway - most of the time you can just run winget upgrade [] There is probably a way to do that from within the app, as long as the app exists in a standard way or can be located from a reg key or something.

sofmeright commented 4 days ago

I don't use a dummy plug at all. I use sunshine and the indirect display drivers http://sh.uni2.cc/pgznj This is a general write up of my setup.

On Fri, Sep 13, 2024, 9:20 AM Joe Rosenbaum @.***> wrote:

I had not seen this!!! Its a shame that the last update was 2023. The only one id seen similar to this was the project I linked in the readme is the fork by timminator. I didn't know there was yet another project. Sadly tbh I am a terrible front end dev. It would be a fun project to rebuild this in a modern UI but I am not readily capable! This is really cool, however sad it looks like it was abandoned!

They are pretty active in the developer's discord, but I hadn't noticed that the actual project isn't updated.

Do you use a dummy plug? I keep wasting time trying to see if I can work around needing one, the parsec virtual display driver does it somehow but I can't get that to pass through moonlight. There is a project here that accesses / controls that driver:

Timminator has a project with that driver here: https://github.com/timminator/ParsecVDA-Alwa

Sunshineintegration.bat is a temporary option and also a bit of an example as any of the commands can be piped similarly through a user made .bat. I could make them self contained on launch but I feel like its more simplistic to just contain it all in a .zip as we'd have to make it possible to delete it without it getting created at the next launch.

Thats a good point, its a useful example. It could be an additional command for simplicity - Reso_Set If everything is auto-install then the folder contents won't really matter as much.

Push to appdata, I think this would make it a little opinionated and I prefer to let the user choose the storage location. I prefer portable apps style philosophy (and also generating the least amount of folders. I recommend making the "Backups" folder hidden (also if you like you can unpack the whole app in app_data if you like). This does however draw my attention to how BUSY the folder is with the drivers unpacked there, def can put those files in a sub folder! Kinda like you did in the pull request. I want to implement that definitely!

Hmm. Thats a good point. I see software very frequently inquire about whether to store files in appdata or within the folder. As frequently as I reinstall OS, you'd think I would have realized that doing that would significantly cut down on the need to reconfigure applications. I've got to think about that. I guess the best case would be something akin to a dotfile that can reload settings dynamically for any application I use, maybe by symlinking. 🤔

I didn't look too deeply in the code to switch the hooks for looking for those files, so I just had the script download, extract the files, and move them into the root, and then delete the zip and the folder. I agree it would be better to have the files contained in a folder, maybe you could even ephemerally unzip them and then delete the folder after using the files, just keep the zip downloaded.

AutoUpdater shouldn't be too difficult, you could set a file in the repo to a version number, and have it dl the file to compare it to the current version, and overwrite the files with the new set if it is. Would be tricky / weird to hand off to a separate process so you can replace the current one, and I'm not sure about security implications of that, but I don't think it is a huge problem at this level.

Mostly winget just makes it way faster to get the application on a new system - could go to a terminal and do winget install sofmeright.vddw and be up in a few seconds. beats the hell out of using a search engine or even loading off local storage. If that is set up, then there is an update function baked in someway - most of the time you can just run winget upgrade [] There is probably a way to do that from within the app, as long as the app exists in a standard way or can be located from a reg key or something.

— Reply to this email directly, view it on GitHub https://github.com/sofmeright/VirtualDisplayDriver_Wizard/issues/2#issuecomment-2349324011, or unsubscribe https://github.com/notifications/unsubscribe-auth/AH2UFZNTYEMQ236UZMX5GWDZWMGD7AVCNFSM6AAAAABOD2VYMCVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDGNBZGMZDIMBRGE . You are receiving this because you commented.Message ID: @.***>