Episode 008 of the Unexplored Territory podcast is available! This week we spoke with Matt Coppinger about Virtual Reality and VMware Workspace ONE XR HUB, which is the enabler for VR adoption in the enterprise. Listen to it via Spotify (https://spoti.fi/3fSUrAM), Apple (https://apple.co/3FUOLkq), or anywhere else you get your podcast!
As many of you know by now, I worked on this project with the VXR team at VMware to try to run Augmented and Virtual Reality Applications on VMware vSphere. The white paper demonstrates that, using VMware vSphere backed by NVIDIA Virtual GPU technology, AR/VR applications can be run on a Windows 10 virtual machine with an NVIDIA vGPU, and streamed to a standalone AR/VR device, such as the Oculus Quest or Vive Focus Plus, using NVIDIA’s CloudXR protocol. It was a very interesting project as we had some real challenges I did not expect. I am not going to reveal the outcome of the project and our findings, you will need to read the white paper for that, it will also give you a good understanding of the use cases around these technologies in my opinion. One thing I can reveal right here though is that these workloads are typically graphic intense. I want to share with you one image which in my opinion explains why this is:
Traditional apps/workloads usually run on a single monitor with a frame rate of 30 frames per second. VR applications are presented in a VR headset. A VR headset has a display for both eyes, that doubles the number of megapixels per second immediately, but these displays also expect 72 frames per second or more typically. This is to avoid motion sickness. All of this is described in-depth in the white paper, of course including our findings around GPU utilization when running VR/AR applications using NVIDIA CloudXR, NVIDIA and VMware vGPU on top of VMware vSphere. I hope you enjoy reading the paper as much as I enjoyed the project!
Go here to sign up for the white paper: https://pathfinder.vmware.com/activity/projectvxr
Today is the last day of my Take 3 with the Project VXR team. Ridiculous how fast these 3 months went. It seems like only yesterday that I posted I was going to start this journey of learning more about the world of Spatial Computing and Remote Rendering of VR in particular. If I say so myself, I feel that over the past 3 months I managed to accomplish quite a lot. The last three months I spend figuring out how to virtualize a Virtual Reality application and how to stream the application to a head-mounted display. I tested different solutions in this space, some of which I discussed on my blog in the past months, and I was surprised how smooth it worked, to be honest. If you are interested in this space, my recommendation would be to look into NVIDIA CloudXR in combination with vSphere 6.7 U3 and NVIDIA vGPU technology.
I can’t share all the details just yet, I wrote a white paper, which now needs to go through reviews and copy editing, and hopefully, it will be published soon. I will, however, discuss some of my findings and my experience during some of the upcoming VMUGs I will be presenting at. Hopefully, people will enjoy it and appreciate it.
One thing I would like to do is thank a few people who helped me tremendously in the past few months. First of all, of course, the folks on the Project VXR team, they gave me all the pointers/hints/tips I needed and shared a wealth of knowledge on the topic of spatial computing. I also like to thank Grid Factory, Ben in particular, for the many discussions, emails etc that we had. Of course also NVIDIA for the discussions and help around the lab equipment. Last but not least, I want to thank the VMware OCTO team focussing on Dell Technologies for providing me with a Dell Precision Workstation, and shipping it out literally within a day or two. Much appreciated everyone!
Now it is time to get back to reality.
I have been testing with Virtual Reality apps within a VM for the past few days and I am leveraging NVIDIA vGPU technology on vSphere 6.7 U3. I was running into some undesired behavior and was pointed to the fact that this could be due to the frame rate being limited by default (Thank Ben!). I first checked the head-mounted display to see at what kind of frame rate it was running, by leveraging “adbLink” (for Mac) and the logcat command I could see the current frame rate hovering between 55-60. For virtual reality apps that leads to problems when moving your head from left to right as you will see black screens. For the Quest, for those wanting to play around with it as well, I used the following command to list the current frame rate for the NVIDIA CloudXR application (note that this is specific to this app) and “-s” filters for the keyword “VrApi”:
logcat -s VrApi
The result will be a full string, but the important bit is the following:
I was digging through the NVIDIA documentation and it mentioned that if you used the Best Effort scheduler a frame rate limit would be applied. I wanted to test with the different schedulers anyway so I switched over to the Equal Share scheduler, which solved the problems listed above as it indeed disabled the frame rate limit. I could see the frame rate going up between 70 and 72. Of course, I also wanted to validate the “best effort” scheduler with frame rate limit disabled, I did this by adding an advanced setting to the VM:
This also resulted in a better experience, and again the frame rate going up to 70-72.
Yesterday I bumped into an issue where I wanted to enable AMD ReLive VR but the option didn’t show in the configuration window strangely enough. I remembered that the first time I installed the Radeon Pro Software for Enterprise I had an option to enable AMD ReLive VR during the process, but I couldn’t recall seeing the option this time during the install. I simply reinstalled Radeon Pro assuming the option would pop up but it didn’t. It seems that this was caused by the fact that there were already AMD drivers installed, a bit strange as all other AMD Radeon Pro components can be selected and installed when there’s a driver present, but ReLive simply won’t show up as an option.
So I used the AMD provided tools to completely uninstall all AMD Radeon related software. When you do this and you reboot the VM you will be presented the following screen at the end of the install of the Radeon Pro software, this then allows you to install ReLive VR, which you can then configure and enable through the settings window as also shown below.