Menu Close

VR Gaming on Azure Part 4, 5G and final results

In the last part we’ve set up a working VR on Azure system. But what is you don’t have fiber? or stuck on old ADSL?

A while ago I had an internet outage. My girlfriend and I both work from home so we had to figure out a solution. My Draytek router is capable of handling dual WAN, so I connected my phone over USB-C-to-Ethernet to my router. Enable hotspot mode on Ethernet. And we are back in business.
And I was surprised by the results! No hiccups on Teams, no issues with Azure Virtual Desktop. Just business as usual.
Until after dinner we’ve watched Wednesday on Netflix and I’ve hit my daily data limit… Whoops.

But it got me thinking, Can I play VR over 5G?
In short… Yes! but I did encounter some issues.

I’ve put my phone to hotspot over Wi-Fi (5Ghz) mode and connected to the Oculus.
Keep in mind, My WAN address is changed. So I had to edit my NSG to allow traffic from my mobile External IP address.
I was able to discover the VM with VRDesktop on the oculus… But not able to connect. Weird.
I have a dual sim device, so let’s try my corporate SIM. Same issue… Weird…

Troubleshoot mode! I disabled the NSG by allowing all traffic. Something you wouldn’t do in ANY environment.
But it’s working! why? I’m allowing the external IP address from my phone. What could be the issue?
I tried reaching out to my colleagues at InSpark and Daan du Pau was able to help.
Daan has great knowledge and experience with cellular networks.
The issue could be CG-NAT. And yes indeed, it was GC-NAT.

With GC-NAT you’re sharing a WAN address with many mobile devices with your mobile carrier.
In hindsight it does make sense. If you give every mobile connected device a IPv4 address. The already short pool of available addresses is depleted before you know it.
But can I bypass GC-NAT? Yes! you can edit your APN on your phone, Check online for the correct APN linked to your mobile carrier. In my case I’ve edit my APN so I received a direct routable external IP address!
Edit the NSG and yay! It’s working!

So before I completely deplete the company data cap, I continue with my personal SIM.
I have more control over billing and data usage.
The gameplay is overall smooth, but VRDesktop will decrease the image quality to ensure smooth gameplay since there are some package drops. It’s like watching YouTube in the old days when the quality suddenly drops.
After 1:30 hour of VR gaming I burned my 10GB daily data limit, so that’s something to keep in mind.

Well this was a fun rabbit hole.
But before I close the last part, I want to share some issues I encounter.

Do I really need to open my notebook, log into Azure, Start the VM… Can I just use my phone for this?
You can download the Azure app and the Remotedesktop app on your phone.
Turn on the VM on the Azure App, and start a RDP session from your phone.
After that connect your oculus to your VM with VRDesktop and your are good to go!

Why only using NV6 SKU? There are more SKU’s available with GPU. and NV6 is listed as deprecated soon.
My Azure subscription only as quota available for NV_* and NC_* SKU.
Everything else I need to request quota, but since high demand… it’s difficult to request usage for gaming.

But NC6…. Why not using that one? it’s cheaper and more power!
The NVidia K80 is not being detected as a GPU for gaming, it’s not showing up in the taskmanager.
This seems a limitation to the GPU itself, I’ve tried several options to trick the OS by using the GPU as a Graphics Card but no success.

How much bandwidth does it actually uses?
It depends. On the VR Desktop I set VR Graphics Quality on ‘Medium’ and VR Bitrate to Max ‘150Mbps’
It will automatically self adjust to ensure smooth gameplay. From my Draytek Data Flow Monitor the headset consumed 110Mbps Download and 5Mbps Upload.

How can you visualize pings ?
I am using PingPlotter to visualize my route to Azure.
At a normal day my ping is around 6.8ms from my home connection.
And after just 2 hops I’m connected to the Global Microsoft Backbone



What about upgrading to NV12 for extra power?
I tried upgrading to NV12, but since Half-Life: Alyx does not support Multi-GPU,
The extra GPU is just sitting there, wasting resources.




What are the the next things to improve?
There are a some of things I want to learn in the near future.
I want to automate the installation of software in my deployment.
I want to learn more about the deployment with GitHub/Azure Devops to Azure.
I want to learn more about Azure Networking. (AZ-700)
And final, I want to write more in English. Dutch is my native language so I might catch some grammar errors.

Thanks for reading!
Any feedback is really appreciated! You can contact me on Twitter and LinkedIn!