elvissteinjr / DesktopPlus

Advanced desktop access for OpenVR
GNU General Public License v3.0
459 stars 29 forks source link

Monitors on a second GPUs are not supported #10

Open RequiDev opened 3 years ago

RequiDev commented 3 years ago

My setup consists of 6 monitors. As 1 GPU can only serve 4 monitors, I have 2. The monitors on the second GPU can't be selected.

elvissteinjr commented 3 years ago

Are you saying the monitors on the second GPUs aren't listed or do they just not get mirrored? If it's the latter, you should be able to access the desktops on your second GPU if you use Graphics Capture as the capture method. Let me know if that doesn't work.

For Desktop Duplication I'm aware it doesn't work, but considered it to be such a rare scenario that I held back supporting it there (also wasn't able to test it myself or anyone else so far). It'd also gets in the way with some of the optimizations, so I would generally recommend using Graphics Capture there, even if Desktop Duplication worked.

If they don't even get listed though... that'd be odd at least. Currently, desktops are listed to up to whatever GetSystemMetrics(SM_CMONITORS) returns, which should usually include your additional monitors as well. I could try counting them manually when enumerating them through DXGI and see if that helps, though.

RequiDev commented 3 years ago

The additional monitors aren't mirrored. I forgot to mention, I'm on Windows 8.1. I only swiftly tested Desktop+ before going to bed, so I'm not sure if I was just too tired, but I was unable to select Graphics Capture. I figured that was due to not being on Windows 10.

elvissteinjr commented 3 years ago

Yeah, Graphics Capture needs Windows 10, so that won't work here. If you activate single desktop mirroring (Performance -> Desktop Duplication) you should at least be able to access individual desktops one at a time regardless of the GPU they're on. Though it's clear this isn't really a solution to this issue.

I wouldn't say I won't ever fix this, but it's not exactly a high priority for right now and this is the first time it has come up so far.

RequiDev commented 3 years ago

I've cloned the repo and I'll play around with it for a bit. I might also extend the capturing APIs for support for Windows 7 if you'd be interested in the future. I guess most people don't use Windows 7 anymore, but why not.

Actually glad that there is an open-source solution for once that actually works pretty decent on something that's not Windows 10. I was impressed by how smooth everything worked.

At least DesktopPlus is able to capture my screens at all compared to SteamVRs dashboard which just tells me there are no screens.