ge9 / IddSampleDriver

Add virtual monitors to your windows 10 device! Works with Oculus software, obs, and any desktop sharing software
678 stars 50 forks source link

How difficult would it be to add HDR flags to the EDID #7

Open Demostrike opened 1 year ago

Demostrike commented 1 year ago

Not my area of expertise but can you add HDR EDID flags so the pc can enable HDR mode? I would like this for streaming HDR from a headless machine

ge9 commented 1 year ago

This is discussed at the original repo, but currently not solved. Maybe impossible with "indirect display driver" technology used in this driver.

kltye commented 8 months ago

Sorry to necro this issue, but it looks like the latest update for IddCx (1.10) has support for wide calour gamut/HDR? Is there a way to easily integrate this?

ge9 commented 8 months ago

It's also discussed at the original repo. I'll test it when it's available in my Windows.

mirh commented 8 months ago

Ars reports that most of the features may actually already have shipped in last month 22H2 update. So maybe that's why the IddCx docs had this weird SV3=September equivalence.

baloukj commented 7 months ago

I did try to look into this but I didn't find the include file for the 1.10 version in the latest version of the wdk.

image

So I don't know how I can use the new functions described here: https://learn.microsoft.com/en-us/windows-hardware/drivers/display/iddcx1.10-updates

mirh commented 7 months ago

Try the WDK Insider Preview builds. Of course 10.0.22621.0 (the 22H2 release preview) is lacking.

ge9 commented 7 months ago

https://github.com/roshkins/IddSampleDriver/issues/23#issuecomment-1788967517 At least I confirmed IddCxGetVersion function returns 0x1A00 in my Windows 11 machine. I changed IDDCX_VERSION_MINOR from 0 to 2, so it means 1.2 (not 1.10). I also don't have directory "1.10" in the folder. Still I'm not sure "1.2" will work correctly though.

baloukj commented 7 months ago

I managed to get it to work (at least on my pc). You can try it here : https://github.com/baloukj/IddSampleDriver/releases/tag/0.1.0 If you want to build it, you need to install the WDK Insider Preview builds (Canary) - Build 25997.

It's not the cleanest code ever but I did try it with moonlight on another desktop and it worked.

kltye commented 7 months ago

I managed to get it works (at least on my pc). You can try it here : https://github.com/baloukj/IddSampleDriver/releases/tag/0.1.0 If you want to build it, you need to install the WDK Insider Preview builds (Canary) - Build 25997.

It's not the cleanest code ever but I did try it with moonlight on another desktop and it worked.

OMG THANK YOU!!! It works on my VM running Windows 11 23590.1000 with the Insider Preview WDK. I tried to mess with the code myself but C++ isn't in my wheelhouse, so I didn't get too far.

image

ge9 commented 7 months ago

Great! It worked on my Windows 11 22H2 (not Insider Preview version)! I recommend announcing your version also on the original repo: https://github.com/roshkins/IddSampleDriver/issues/23 @baloukj I also confirmed this version (naturally) fails in Windows 10 with "This device is not working properly because Windows cannot load the drivers required for this device. (Code 31)".

baloukj commented 7 months ago

I did try to follow the official documentation to make it work in all windows (detect available version) but i'm not sure as I didn't make any tests. I just updated the code a little bit to allow 8bit in sdr (it can help with streaming in sdr) and I did try to install it on a windows 10 VM and it seems to work (in sdr). https://github.com/baloukj/IddSampleDriver/releases/tag/0.1.1

Do you want me to make a pull request ? I really don't have the time to maintain something like this. I didn't spend more than half a day on this, I just wanted to make it work for my personnal usage 🤣

ge9 commented 7 months ago

Thanks for your prompt update and helpful testing. I tested it on my physical Windows 10 machine but it stucks with the same error 31... But your initial version may be sufficient for most users. I currenly don't have Windows SDK Insider Preview build, but I may want your pull request at some time in the future.

robbely commented 7 months ago

Windows 10 would definitely be useful if it can be made to work at some point.

bayramog commented 6 months ago

Did it work on a headless machine?

bayramog commented 6 months ago

Did it work on a headless machine?

I can confirm, it is working on a headless machine. In first try, I believe I tested with unsupported AMD GPU. I switch new Azure VM with different AMD GPU and it worked!

Uj947nXmRqV2nRaWshKtHzTvckUUpD commented 6 months ago

you might want to check this fork https://github.com/itsmikethetech/Virtual-Display-Driver