iOS Client Connects and shares transform data to AR_Test, but recieves no AR in Return

Hello,

I have a fresh install of Windows 21H1 (Build 19043.928) running CloudXR 3.0 with an RTX 2070 on Nvidia 471.41 and SteamVR 1.18.7.

My iOS Client successfully connects to steamVR and a CloudXR headset is attached and streaming transform data. However, it does not appear that the AR_Test.exe program is sending back any texture to steamVR. It appears black in the “SteamVR View”, and the iOS client shows no AR.

I am attaching here my logs along with the iOS Client recording and windows desktop recording.

I am unsure how to debug this, any advice would be appreciated.


CloudXR Server - SteamVR Log 2021-08-08 14.02.48.txt (8.3 KB)
Streamer Server Log 2021-08-08 14.02.48.txt (182.0 KB)

Following up, it looks like my trace does not match what the documentation example looks like.

Here is the example from the documentation…

And here is my trace…

The server state goes from 2 (ready) to 3 (HMD Active) and then looks like it dies?

Event Trace 2021-08-11 04.01.29.json (206.5 KB)

Hi @WyattBartel -

We have an hotfix going live for the iOS client later today at 5pm, pst - please review this with that latest update.

Thanks!

Veronica

Hello @Veronica_NVIDIA,

I have successfully deployed this update to iOS and Windows without changing any of my dev environment to no effect. The results are the same. SteamVR does not display any connected controllers nor a “CXR” icon headset, but instead just an generic headset icon. I get transform data but nothing else.

Thoughts?

I can see based on the -d command that the following images are being sent, but apparently not recieved on the iOS device or not composited/displayed.

I am attaching new logs from your 2021-08-04 hotfix release.


CloudXR Server - SteamVR Log 2021-08-12 09.29.23.txt (479 Bytes)
CloudXR Server - SteamVR Log 2021-08-12 09.29.33.txt (212.0 KB)
Streamer Server Log 2021-08-12 09.29.33.txt (207.0 KB)

I have the same problem, as I understand. I didn’t do such a detailed analysis, but by all indications it is very similar. I’m attaching my logs, I hope they will help to solve this problem. I am using the latest version that I have downloaded so far from developer.nvidia.com
CloudXR Server - SteamVR Log 2021-08-15 17.34.37.txt (480 Bytes)
CloudXR Server - SteamVR Log 2021-08-15 17.34.41.txt (6.3 KB)
Streamer Server Log 2021-08-15 17.34.41.txt (197.8 KB)

Ok, same experience here using the download from the main page. Can not find any separate hot fix to download so I assume that by now it has been integrated in the main download. CloudXR has not worked in a useful manner on iOS or HL2 during all the time we have tested it during spring. Hoped you had solved something by now but instead you finally admitted that the HL client is so bad that you had to drop it and the iOS client fails in the most basic way by not showing any image. Not very promising. Please start doing QA!

So the arkit sample doc is apparently missing some descriptive bullets. I will try to get them updated with more detail.

To be clear, after you see the detected plane(s), you need to TAP WHERE YOU WANT THE ORIGIN. Once done, you should see the streamed AR locked onto that origin point.

To RESET ORIGIN, you long-press on the screen until it changes back to showing surface detection, and then can once again tap to set the origin.

@WyattBartel @filip.wanstrom @andrey.otroschenko Let me know if the above solves your issues.

In my case it seems to mostly have to do with how Unreal 4.26 handles the alpha. In earlier releases UE for cloudxr needed some tweaks to the alpha in a post process step in order to not be transparent approaching the invisible. The new release seems to handle things differently. Not using any postprocess at all resulted in inverted alpha, that is the object gets totally transparent and things that should actually be transparent like the BG instead is black. Need to do more testing to find something that works. Missed this at first since I was not aware that iOS client had a new interaction model where I needed to set the origin by tapping. (it doesn’t seem to respond easily to taps either so I usually have to do at least 10 taps until anythings takes hold)

Thank you @tegradave, that is indeed the step I was missing. I should’ve read more code in the example to parse this out myself, but as you say a bullet point would’ve been expedient.

Moving on to actual work now with CloudXR & iOS - Thank you

No problem, glad that worked for you.

I’ve already drafted relevant updates to the online docs, just waiting on review and then the steps to get it staged and deployed.

The online docs have been updated with more detailed arkit step by step instructions. Hopefully this will help out new users! :)

2 Likes

@filip.wanstrom I’m working with UE4 too. have you found any solutions? My vr app doesnt show on iPhone at all. I tried to launch the UE VR standard template, and in the app window picture is changing depends on iPhone transform. But there are no any picture on the device, also the Steam VR View window is black.
A similar situation occurs during work Steam VR Home. The Steam VR View window is black, but this time the image is transmitted to the iPhone.
P. S. Below I attach screenshots while running steam VR Home


@andrey.otroschenko Same issue here with 3.0 (including august hot fix ). Unity and ar_test.exe gives me the expected output while Unreal doesn’t work at all anymore. Even tried all SteamVR betas and OpenXR instead but that just lead to crashes. Really looking forward to being able to use Unreal to work again. Trying to get hold at someone at Nvidia that can give some input. I’ll report back if we succeed!

1 Like

Hi all -

We are actively trying to reproduce this - we will follow up soon.

Thanks!

Veronica

Hi Veronica,
Let us know if a remote session with one of us would be helpful in any way but our CloudXR efforts are on hold until this is unblocked.
Thank you,
Laurent

A few random thoughts.

First, if not receiving something on the client, make sure you aren’t using remote desktop to remotely connect to server, or have something else on server that might be interfering with frame capture.

You can also run the server with -d and look at captured frames after a run to see if it captured something.

Second, in the undocked VR View window, under Menu, select Both Eyes. I’m interested to know if both are black.

In the case you get no image on client and nothing in vr view, checking the -d images tells us if we’re capturing but maybe not sending.

In the case you get image on client but nothing in vr view, that could indicate simply something weird with steam itself – that could affect CXR, but hard to say.

Unfortunately the server logs don’t immediately point me to something.

@tegradave I checked.
At first I connected to machine using DCV. But for a pure experiment I didn’t connect from my own PC and the result was the same.
Also I checked VR View window with Both Eyes. And the right one is always dark. After launching my app the left one also goes dark. But in steam left eye displays the image correctly.
And the last check was with image logging by using -d. And all images are correct, as if everything worked for me. they show the same thing as in the application itself.

My logs: logs.7z (1.8 MB)

[18:20:55.850] CreateShaderResourceView failed with hr=0x80070057

clearly something going wrong on your server. there’s a few places that call the function that generates that particular message, so rough guess is a bad texture of some sort (zero size, or other invalid properties).

separate issue based on the image dumps. in the steam grid, the right eye is WHITE, or alpha 1.0, which means completely opaque. When you launch your test room, right eye is BLACK, or alpha 0.0, which is completely transparent. need to invert the right eye (or if no right eye, you need to create one that is the alpha map).