microsoft / MixedReality-HolographicRemoting-Samples

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

Using the Microsoft OpenXR Extension as a Multiuser Server #90

Closed laultman closed 1 year ago

laultman commented 1 year ago

@FlorianBagarMicrosoft You helped me with the issue where in 2.9.1 there was a 10 second "kill switch". Version 2.9.2 is working fine. The native C++ rendering engine code that I am using has had some challenges to make work. But that is not anything to do with the extension or the sample. I could not find a way to ask a question here in this project, only report bugs. I would like to use the extension as a multi-user server but can't find documentation that gives any clue how to go about that? Can you point me in the right direction or is there some other solution? It is obviously handling the network connection. Is the source code for the extension published somewhere?

lappelsmeier commented 1 year ago

Hi @laultman ,

with OpenXR in general (and HAR too) you can't service two HMDs (or streaming connections) from one OpenXR runtime in a single process. The only way is to have multiple application processes which serve independent clients. On the remoting side this also allows you to specify a listen port per app so that the clients can connect to the specific instances.

Please note that if you do it on a single GPU both processes will share the encode capacity and thus might affect each other (and with consumer nVidia cards only the newer drivers allow for enough encode sessions to run remoting two times in parallel).

For multi GPU systems we still have open issues like #88 where we're looking into on how we can expose the multi GPUs best for our users.

laultman commented 1 year ago

@maapp I saw that post #88 earlier today while researching. I have not run into the GPU thing yet, thanks for the heads up on that.