Skip to content
This repository has been archived by the owner on Nov 8, 2021. It is now read-only.

Setting up ALVR for VR Cloud Gaming (no Gaming PC required)

Josh Brackin edited this page Jun 14, 2018 · 2 revisions

Introduction

ALVR is a great software that allows you to enjoy PC VR Gaming on Oculus Go. By itself, ALVR is designed to work on your local network at home. This requires you to have a VR-ready Gaming PC to power the experience. With that said, it is possible to setup ALVR on a Cloud Gaming Server. This removes the VR-ready Gaming PC requirement and allows you to enjoy Cloud Gaming very inexpensively.

Overview

This Guide will teach you how to setup a Cloud Server for VR Gaming through ALVR. Altogether you will need a few pieces of hardware and a few pieces of software. Here's an overview of the process:

  1. Setup a VPN Network through ZeroTier.
  2. Setup your VR Headset and install ALVR on it
  3. Setup a Cloud Server through Paperspace. Connect it to your ZeroTier Network and install the ALVR Server on it.
  4. Add an extra router to your network at home to act as a wireless VPN Bridge to your ZeroTier Network.
  5. Connect your VR Headset to your VPN Router and open ALVR.
  6. Connect your VR Headset to your Paperspace Server.
  7. Launch a VR Game on your Paperspace Server and enjoy remote VR CLoud Gaming!

You can find the original full version of this guide at Flickstiq.com

Required Hardware

Required Software

  • Oculus Go PC Drivers (Link)
  • ADB Software (Link)
  • Putty SSH Client (Link)
  • ALVR Client & Server (Link)

Step 1: Setup your Paperspace Cloud Gaming Server

Paperspace is used to create the Cloud Gaming Server that will stream Games at Ultra Quality to your VR Headset. Let’s setup a Paperspace Server.

NOTE* Paperspace is a paid service. You will be required to provide a credit card during your account creation. The recommended P5000 Server costs 0.60 cents per hour to use.

  • Visit Paperspace and Create an Account.
  • Download the Paperspace App on your PC and log into it with your new Account.
  • Choose to create a New Machine in the Paperspace App. It will ask you to choose a Server Location. Choose a Location that is physically close to you.
  • Under the Choose OS section, click on Public Templates, and then choose Parsec.
  • Under Choose Machine, select the P5000 machine. You will receive a popup about it not being enabled on your Account. It will ask you to submit a request to have this machine unlocked. Submit your request (this can take a day or two in some cases). After your request is granted, you will have a P5000 machine listed under your Machines in the sidebar of the Paperspace App. Click on it and start your Cloud Desktop.
  • Paperspace typically installs Windows Updates and Drivers for you. However, if you are prompted to install any Windows Updates, go ahead and install them.
  • Open up Parsec and choose to Create an Account. Log into the Parsec App on your Cloud Server with your new Account (it’s completely free). You’re welcome to minimize Parsec, but don’t completely quit out of it.
  • Download the latest version of the ALVR Server (not the Client) from Github. Double Click the ALVR file that you downloaded and choose to Extract it to your Desktop. This will create an ALVR folder on your Desktop.
  • Open Steam and go to Tools under the Library Menu. Scroll down to SteamVR (beta) and right click it. Choose to install it.
  • At this point, make sure that your Cloud Server booted up and running before you try to connect to it for Gaming. Also be sure to shut down the Cloud Server from the Paperspace App when finished (to stop your hourly billing).

NOTE* You will also need to install VPN Software on your Cloud Server. This is covered in the VPN Section of our VR Cloud Gaming Guide.

Step 2: Setup your Oculus Go for Cloud Gaming

In this section you will learn how to setup your Oculus Go to take Advantage of Cloud Gaming through ALVR. This section will show you how to setup your Oculus Go and install ALVR on it.

EDIT: ALVR can now be accessed through the Oculus Store. We will leave the original instructions below for those that want/need to set it up manually. Here are the new instructions:

  • VISIT THE ALVR CODE PAGE AND GENERATE YOUR CODE FOR ALVR.
  • VISIT THE OCULUS WEB STORE AND GO TO THE REDEEM CODE SECTION. Redeem the Code that you generated from ALVR. Restart your Headset. The ALVR App will show up in the Not Installed section of your Library on your headset. Install it and will show up as a normal App in your Library.

ORIGINAL INSTRUCTIONS FOR SIDELOADING:

  • Complete the initial setup of your Oculus Go with your Smartphone (the Oculus App will guide you through this process).
  • Open the Oculus Developer Website on your computer. Choose to create a new Organization (it can be named anything that you want)
  • Agree to their NDA to finish your Developer Setup.
  • On your smartphone open the Oculus App and tap on Settings at the bottom. On the next screen tap on the name of your Headset and choose More Settings.
  • Choose Developer Mode.
  • Switch on Developer Mode:
  • Install ADB on your Computer. This will create an ADB folder on your C Drive.
  • Install Oculus Drivers on your computer.
  • Open up a CMD Prompt on your computer (you can perform a search for CMD)
  • Put on your Oculus Go Headset and then connect it to your computer with a Micro USB Cable. In the Headset it will ask you for permission to connect to the computer. Grant it permission.
  • In the CMD Prompt type:
    adb devices
  • It should show you that your Oculus Headset is connecting and available. If it shows that it’s connected but unauthorized, it means that you didn’t grant it permission in the headset after you connected it to the computer.
  • In your CMD Prompt, enter your ADB folder. If your ADB folder is in the root of your C Drive, you would type the following:
    cd \adb
  • Download the ALVR Client from Github. Move it into your ADB folder and rename it alvr.apk
  • Install it to your headset with the following command:
    adb install alvr.apk
  • Your ALVR App is now installed on your VR Headset. You’ll find it on the Headset under Navigation > Library > Unknown Sources. Do not launch it until all of the other steps from our VR Cloud Gaming guide are complete.

Step 3: Setup your VPN Network

A VPN creates a virtual local network between your VR Headset and your Cloud Gaming server. This is important because the ALVR software that handles your VR Streaming only natively supports local streaming. So we are essentially making the ALVR software think that your Cloud Server is part of your local network.

To do all of this, we will be using a free VPN called ZeroTier. In this section, we will setup our ZeroTier network (think of it as creating a virtual router). We will also be adding ZeroTier to our Paperspace Cloud Server and connecting it to our VPN.

  • Visit ZeroTier and create a free account.
  • Click on Network at the top of the page and choose to Create a new Network (the Network will have a random name, don’t worry we will change it). Click on your network so that you can edit it.
  • You will need to adjust a few values on this screen to customize your VPN for Cloud Gaming.
  • Make a note of your Nework ID. We will need it later in order to join our Cloud Gaming Server and VPN Router to our network.
  • You are welcome to customize your Network Name (this can be whatever you want).
  • For Managed Routes, remove the default IP Address and add the following instead:
    10.99.5.0/23 (LAN)
  • Below in the IPv4 Auto-Assign section, click Advanced and enter the following IP Address Range:
    10.99.5.1 - 10.99.5.254
  • In the IPv6 Auto-Assign section, uncheck the box for ZeroTier 6PLANE (/80 routable for each device).
  • Boot up your Paperspace Cloud server and log into your Cloud Desktop. Download the ZeroTier Windows Client and install it on your Cloud Server. It should automatically open after you install it.
  • You’ll be prompted to log in with an existing account or create an account. Choose to Log in with your ZeroTier Account that we created earlier.
  • The ZeroTier App will automatically list your network and ask if you’d like to join it. Choose to join your network.
  • Go back to the ZeroTier Network page and scroll all the way to the bottom. It will list any devices that are waiting to join your network. Your Paperspace Server will show up as a device waiting to be approved. You’ll find a + button under the Managed IPs field. Add the following IP Address and then click the + button to assign it to your Cloud Server:
    10.99.5.2
  • Put a check in the checkbox under Auth? to approve Paperspace to join the network. Within a few seconds it should show that it’s Online.
  • That’s it for the basic setup of your VPN Network! You will come back to the ZeroTier page during the VPN Router tutorial to approve it for your Network as well.

Step 4: Setting up your VPN Router

In this guide, we will be converting a router into a VPN Bridge. Why you ask? Our Oculus Go VR headset lacks a built-in VPN function. And we need our Oculus Go to join our VPN so that it can communicate with our Cloud Server. To solve this problem, we are adding a 2nd router to our normal network at home. Our 2nd Router will be programmed to join our ZeroTier VPN. When our Oculus Go connects to the Wifi from our 2nd Router, it will automatically be joined to ZeroTier.

For this tutorial, we used a Netgear R6100 802.11ac Router that supports 5 GHz. We like this router because it’s inexpensive and it gives off a rock solid 5 GHz signal. With that said, you’re welcome to try any router that is fully compatible with OpenWRT. OpenWRT is a custom router firmware that supports adding modules for additional functionality. Once OpenWRT is installed on our router, we can program it to connect to our VPN through the ZeroTier module. It basically ends up creating a “bridge” from our home network to our VPN network. As a side benefit, it’s also a great way of connecting any device to your Cloud Server that would normally only work on a local network.

This tutorial is going to specifically cover setting this up for the Netgear R6100. As we said earlier, it should work for other router models, but we can only be very specific with what we have access to. The coding and general guidelines in this tutorial should be easy to implement on most router models. Just be aware that you may have to make some minor tweaks if you’re using something other than the R6100.

Visit the OpenWRT Page for your Router Model. Download the OpenWRT Firmware for your model (the install link, not the upgrade link). This is the link for the R6100. Next download a copy of Putty. Putty is an SSH client for Windows that allows us to send commands to various devices on our network. For this tutorial we will be using it to send commands to our VPN Router. It’s basically how we customize and program it.

  • After you’ve downloaded the necessary software, connect your PC to your VPN Router with an Ethernet Cable (connect it to LAN Port #1). Power up your VPN Router and wait for it to fully boot up.
  • Log into your VPN Router and visit the Firmware Upgrade section (this is often under an Administration setting). If you’re using something other than the R6100, you may need to refer to your router manufacturer’s documentation to figure out where to go.
  • For the R6100 visit http://www.routerlogin.net and log in. The default username is admin and the default password is password.
  • On the left side of the R6100 management window, select Advanced > Administration > Router Update > Browse. Select the OpenWRT Firmware File that you downloaded earlier. Update your Firmware with this file.
  • To see this in action, you can watch this video from Netgear: Firmware Upgrade
  • It will take several minutes to complete the Firmware Upgrade. To be safe, give it about 10 minutes and before you do anything else. The upgrade is complete when all of the lights on the front of the router are solid.
  • Make sure that your VPN Router is connected to your regular home router before taking the next steps (many routers have a dedicated internet port (WAN). Connect an Ethernet Cable from the WAN port of your VPN Router to a LAN port on your normal home router).
  • Visit http://192.168.1.1 to access the OpenWRT web interface. By default the username is admin and the password is left blank. You will be prompted to create a new default password. Accept this prompt and create a new admin password that is at least 8 characters long. Make a note of this password because you will need it later on.
  • At the top of the OpenWRT screen, choose Network > Wireless. Enable the 5 Ghz Wifi. You can also edit this interface to customize your VPN Wireless Signal. I recommend giving it a unique name, WPA2 encryption, and a password. Do not give it the same name as your normal network at home.
  • Go back to Network > Interfaces. Click Edit next to the LAN Interface. On the next screen scroll down and edit the IPv4 address. Change it to the following:
    10.99.4.1
  • Change the IPv4 Netmask to the following:
    255.255.254.0
  • Choose Save & Apply at the bottom of the page.
  • On your PC open Putty. Type in 10.99.4.1 in the Host Name field and click Open at the bottom of the window.
  • This will bring up a window that prompts you to log in. The username is root and the password is the admin password that you created earlier. At this point, Putty is ready for you to input commands. For the next steps, you can copy and paste each line into Putty. Copy and paste one line at a time and then hit Enter on your keyboard to submit it.
    opkg update
    opkg install zerotier
    /etc/init.d/zerotier stop
    uci set zerotier.sample_config.enabled='0'
    uci set zerotier.lede_network=zerotier
    uci set zerotier.lede_network.interface='wan'
    uci set zerotier.lede_network.secret="$(cat /var/lib/zerotier-one/identity.secret)"
  • For the next step, you will need to grab your ZeroTier Network ID from the ZeroTier Network page. This is the page that you configured earlier in the VPN Network Tutorial. Replace NETWORK_ID in the following command with your Network ID number from ZeroTier.
  • Example: uci add_list zerotier.lede_network.join=’8ad5123ed69d6f69′
    uci add_list zerotier.lede_network.join='NETWORK_ID'
    uci set zerotier.lede_network.enabled='1'
    uci commit zerotier
    reboot
  • At this point your VPN Router will restart and your Putty session will get disconnected. Give it a few minutes to restart fully. It is ready when the light on the front of the VPN Router is solid. After it’s booted back up, log back into Putty. Leave the Putty window open and go back to the ZeroTier Network page in your browser.
  • Scroll down to the bottom of the page and look for connected devices. You should see your VPN Router listed and ready to be authorized. Before checking the box to authorize it, click the wrench icon and check the boxes for Allow Ethernet Bridging and Do Not Auto-Assign IPs. Next to the + symbol enter 10.99.5.1 and then click the + button to assign it an IP Address. Now put a check in the Auth? checkbox. Within a short time, your VPN Router should show that it’s online.
  • In your browser visit http://10.99.4.1 and log into your VPN Router. Click on Network > Interfaces. Click the Add new interface button. Configure it so that it looks like the picture below:
  • Click Submit at the bottom of the page. Go back to Network > Interfaces and click Edit next to LAN. Choose the Physical Settings tab. Make sure that zt0 is checked in the interface list. Click Save & Apply at the bottom of the page.
  • Choose Network > Firewall. Click the Add button to add a new zone with the following settings:
    Name: zero
    Input: accept
    Output: accept
    Forward: accept
    Masquerading: unchecked
    MSS clamping: unchecked
    Covered Networks: ZT0 checked (everything else unchecked)
    Inter-Zone Forwarding
    Allow forward to destination zones: LAN checked (everything else unchecked)
    Allow forward from source zones: LAN checked (everything else unchecked)
  • Click Save & Apply at the bottom of the page. Go back to Putty and enter:
    reboot
  • When your VPN Router boots back up, it should be ready to use.

Step 5: Putting it all together

You should have completed all of the preceding tutorials before following this guide.

In this section, we put all of the pieces together and start enjoying some VR Cloud Gaming on our Oculus Go.

  • Make sure that your Paperspace Cloud Server is booted up and running.
  • Connect a controller and (optional) headphones to your PC at home. Install the Parsec App on your home PC and log into it with the same account that’s being used on your Paperspace Server. Connect to your Paperspace Server through Parsec on your Home PC. This will give you game audio and gamepad support.
  • On your Paperspace Cloud Server install any VR title that you plan on playing (Steam is a good resource for VR Games).
  • Open up the ALVR folder on your Cloud Desktop and launch the ALVR Server App. Click the button to start the server. It will start looking for your Oculus Go headset.
  • Go into Settings > Wifi on your Oculus Go and make sure that it’s connected to the Wifi network from your VPN Router.
  • On your Oculus Go navigate to Navigation > Library > Unknown Sources and look for the ALVR App. Click on it to launch it. The ALVR App on your Oculus Go will prompt you to click Connect in the ALVR Server App.
  • The ALVR Server App should automatically find your Oculus Go headset. Click Connect next to it. This should change the view inside of your headset (it will look like a gray grid).
  • On the Paperspace Cloud Desktop, you will be prompted to complete Steam VR Room Setup. Follow the prompts to complete this setup (at one point it will ask you to type in the height of your headset from the floor. I chose 65 inches for this step).
  • After your Steam VR Room Setup is complete, launch your preferred game in VR Mode (usually by right clicking it in Steam and choosing to launch in VR).
  • Enjoy VR Cloud Gaming!

NOTE* Many VR Games on Steam require VR Controllers. These games are not currently supported by ALVR due to a lack of fully-featured VR controllers for the Oculus Go. This may be solved in the future through a product like Nolo VR. For now you’ll need to play VR games that fully support using a standard gamepad (examples are Subnautica, Elite Dangerous, and Euro Truck Driver).