microsoft / MixedReality-HolographicRemoting-Samples

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

2 holographic remote on same PC #68

Closed almoga296 closed 2 years ago

almoga296 commented 2 years ago

Describe the bug I run into an issue with trying run 2 holographic remote instances on the same PC. The first instance connects successfully while the other cant establish the connection and got disconnected immediately. The order doesn’t matters.

My setup: I have 2 hololens2 headsets and 1 PC, Each one of the hololens2 runs the latest sample from GitHub - holographic remote player sample with the following configuration (first HoloLens2 with handshake port = 8265 & transport port = 8266, second HoloLens with handshake port = 8269 & transport port = 8270) – runs as listeners. My PC runs 2 instances of the holographic remote with the related configuration (1 instance with remote port = 8265, 2 instance with remote port = 8269) – runs as clients.

Remote side - Laptop:

Player side - HoloLens 2

Do the holographic remote client support multiple instances on same PC? Do you have any idea what can cause that problem?

Almog

FlorianBagarMicrosoft commented 2 years ago

In general your scenario should work but the problem in your specific setup is the NVIDIA GPU. NVIDIA consumer cards only allow three parallel video encoding sessions. Our remoting sample uses two sessions per default, one for the color stream and one for the depth stream, say in your scenario the GPU needs to allow four parallel video encoding sessions.

You could try to disable depth via IRemoteContext::ConfigureDepthVideoStream, use DepthBufferStreamResolution::Disabled. This should get you going with your test.

almoga296 commented 2 years ago

Dear Florian, It seems to be the problem! Thank you!

ccrop commented 1 year ago

@FlorianBagarMicrosoft

In general your scenario should work but the problem in your specific setup is the NVIDIA GPU. NVIDIA consumer cards only allow three parallel video encoding sessions. Our remoting sample uses two sessions per default, one for the color stream and one for the depth stream, say in your scenario the GPU needs to allow four parallel video encoding sessions.

You could try to disable depth via IRemoteContext::ConfigureDepthVideoStream, use DepthBufferStreamResolution::Disabled. This should get you going with your test.

I use unity OpenXR for remote rendering development,

How do I disable deep video streaming in unity .

FlorianBagarMicrosoft commented 1 year ago

Unfortunately it's currently not possible to disable the depth video stream when using Holographic Remoting with OpenXR in Unity. Holograms will be quite unstable without proper depth. You can only disable the depth submission but this does not help here because the depth video stream will still be initialized.

ccrop commented 1 year ago

okay, thank you.