microsoft / MixedReality-HolographicRemoting-Samples

Code samples for using Microsoft's Holographic Remoting library.
Other
141 stars 47 forks source link

Select which graphic card to use for encoding with a HolographicRemoting. #84

Closed galdalali closed 8 months ago

galdalali commented 1 year ago

Describe the bug Working with Nvidia SLI (Scalable Link Interface), specifically Nvidia RTX a5000, and multiple Holographic remote instances. For video encoding, Holographic remote will always select the first card and will only use him for encoding.

Can I choose which card to encode under? Does the code contain this information hardcoded?

To Reproduce

  1. Stream using Holographic remoting to multiple clients.

Remote side (Windows PC): OS version: Win10 Pro 22H2 Unity version: 2021.3.12f1 We are using OpenXR. Graphics card(s) / graphics driver version: 2 GPUs - NVIDIA RTX A5000 x2, driver version: 528.49 Player side (e.g. your HoloLens 2) your system - a laptop with integrated and discrete graphics for example]

Player side (e.g. your HoloLens 2) OS version: 20348.1535.arm64fre.fe_release_svc_sydney_rel_prod.230106-1454 We use the store player version 2.8.1

lappelsmeier commented 1 year ago

Hi @galdalali ,

Holographic Remoting should try to select the device which matches the graphics card used by OpenXR. Are you running your application instances tied to the separate cards?

You're saying that you run the cards in SLI mode? Will they still be present as two cards for applications to use? I'm afraid that we don't have a Quadro SLI setup in the office to repro at the moment.

(And quickly: which remote version are you using? I.e. which Unity plugin version)

Bye, Marc

galdalali commented 1 year ago

Hi @maapp

They present as two cards.

The application isn't tied to a specific card. The SLI handles 3D and memory loading OK but not encoding. The video encoding part is only loaded only a single card.

While I tried to make the app run on a separate card using NVIDIA settings, I didn't succeed. I did try to use Unity flag "force-device-index" to run on the second card, but the Holographic remote app stuck on "Receiving..."

I'm using OpenXR version 1.4.0 and Holographic Remote 2.9.1

Thanks Gal

chairobl commented 8 months ago

Hi @galdalali , the Unity Open Xr Plugin now supports the GPU Selection feature we implemented in our latest release. You should now be able to select which GPU to use through the use of the force-device-index commandline parameter, as documented here.

If you encounter any issues, feel free to reopen this issue and I'll be happy to help 😄