CloudXR server not working on HP men laptop (4070 laptop GPU)

Edited to put the critical piece first:
There is a critical typo in the command line for running the client in that step. The critical missing flag is -w, so that the complete correct command is:

.\CloudXRClientSample.exe -s 127.0.0.1 -w

Full answer follows:

On the server, the CloudXR SteamVR Server Driver is the HMD connected to SteamVR, but you will get the “no HMD detected” message until a client connects. This is because SteamVR needs to know everything about the HMD as soon as it connects, but CloudXR cannot know exactly what HMD will be connected until a client connects and tells it what kind of HMD there is on the client side.

Yes, you can and should do this step on a single computer. The architecture of this configuration is roughly this:

SteamVR "mountains" "app"
  <> SteamVR runtime
    <> CloudXR Server Runtime (virtual HMD)
      <> "network" (loopback interface: 127.0.0.1)
    <> CloudXR client library
  <> CloudXR sample application
<> "Fake" HMD running on the desktop

Note importantly that SteamVR is only involved, in this scenario, on the server side of the network. SteamVR is a global singleton: you cannot run more than one copy on a single computer, and it can only server a single HMD. So for CloudXR, it can either be attached to the client or the server or (in the case of some of SampleServer/Client situations) neither. It can never be connected to both the client and the server.

If you want to stream to a SteamVR HMD from the standard SteamVR server, then, no, you cannot use just one computer. You have to have two different copies of SteamVR, one connected to the client, one connected to the server.

However.

I now see that there is a critical typo in the command line for running the client in that step. The critical missing flag is -w, so that the complete correct command is:

.\CloudXRClientSample.exe -s 127.0.0.1 -w

This missing “-w” flag is what’s causing your issue. This flag is what makes the client use the “windowed” mode, instead of trying to be an OpenVR/SteamVR client (the default). Therefore, the client is trying to connect to SteamVR as an application, to get the HMD properties on the client side to send on the the server…but the server is waiting on the client to send it HMD properties before it connects to SteamVR as an HMD!

I’m correcting the original post now, sorry about the confusion!

1 Like