Wireless VR (Virtual Reality) on a Budget

UPDATE: The Quest 2 is now in stock for $299 on oculus.com

The Oculus Quest is not available in the US, and even if/when it becomes available again it’s still over $400. Plus it’s limited to the Oculus store games, unless you use a USB 3.0 10ft link cable. That is why I needed an alternative setup to run virtual reality programs such as:

  • Skyrim VR
  • Asgards Rath
  • Moss
  • Hellblade: Senua’s Sacrifice
  • Vanishing Realms
  • Blade and Sorcery
  • Super Hot
  • Beat Saber
  • VRChat (Multiplayer)
  • Google Earth VR

The following guide is primarily for people that have no VR hardware, besides a google cardboard like phone headset, but it is still useful if you already own Gear VR, Daydream, Oculus Go\Quest, etc.. I will show you how to wirelessly stream SteamVR, and Oculus titles. As well as add head, body and feet trackers. Also, play non-VR games in pseudo VR.

I will present two guides below. One for the minimum setup you’ll need, and another for a fully immersive body tracking setup.

Minimum Setup to Play VR Games

3 Degrees of Freedom (3DoF) Head Mounted Display (HMD) w/ Gamepad

This setup will allow you to look around in a VR game with orientation tracking (3 degrees of freedom), and control your movement etc with a gamepad. You can use a keyboard and mouse if you don’t have a controller. The game will not track the position of your body, just the orientation of your HMD. (Yaw, Pitch, and Roll)

It’s smart to start with this setup to test the video streaming software, etc…

Unfortunately you will still need:


  • Windows 10 computer with a Nvidia Geforce 1050ti or better.
  • 5GHz WiFi AP. I use the Netgear R6220. $20 on eBay.
  • An Internet connection. I use 1.5Mbps DSL.
  • A smartphone. I use the LG G5. $50 on eBay.
  • VR Goggle Headset like the Google Cardboard for your phone. I found mine the VR Shinecon at a thrift store for $2. You can of course use the Gear VR, Daydream, Vive Focus, Oculus Go/Quest, PSVR, etc..
  • PlayStation or Xbox controller. I use a $5 PS3 Dualshock. Or, an extra android phone. I did end up buying a GearVR controller for $7 on eBay. With the added bonus of being able to use it to control my mouse on my linux desktop with this sweet little package: github.com/rdady/gear-vr…
    NOTE: You can use a keyboard and/or mouse instead. My goal however, was to play wirelessly.

Game Software

You will to download and install all of theses to your Windows 10 computer.

Headset (HMD) Software

You will need to download and install ONE of the below pieces of software to your smartphone. Also, the server portion of the package to your computer. iVRy is good to start with because if it’s ease of use, and unlimited free version in black and white. If you have a Samsung Gear VR, or an Oculus Go/Quest, use ALVR. If you have an iPhone 5s or newer you might want to try out KinoVR. I use Riftcat/Vridge.

iVRy – $8
Free to try in color for 10 minutes, and black and white after. Easy to use.
Server (Steam plugin): store.steampowered.com/a…
Android Client: play.google.com/store/ap…
iOS Client: apps.apple.com/us/app/iv…

Riftcat/Vridge – $15 (Complete review pending…)
Server: riftcat.com/vridge
Android client: play.google.com/store/ap…
iOS client: apps.apple.com/us/app/vr…
Pros: Free to try for 10 minutes at a time. Can use Moonlight and ARcore. ARCore is experimental. Using phone as controller is $5. Has play non VR games in VR addon for $10 (Gamewarp). Can use Opentrack for positional tracking. Good support.
Cons: Cannot use ARCore and Moonlight at same time. Cannot use Gamewarp and Moonlight at the same time. Cannot use GearVR controller and Moonlight at the same time.

ALVR – FREE & Open Source! GearVR & Oculus Go/Quest only. Can use ARcore for positional tracking. The developer doesn’t seem to be doing anything for the last year.
Server: github.com/polygraphene/…
Client: github.com/polygraphene/…
Newer Quest fork: github.com/JackD83/ALVR

Trinus Cardboard VR – $10
Server: www.trinusvirtualreality…
Android client: play.google.com/store/ap…
iOS client: apps.apple.com/us/app/tr…
Using phone as controller is free. Can use some LED tracking with your webcam for Positional data, can also use Freepie. You can play non VR games in VR. UI in non-intuitive.

KinoVR – Claims to have 6DoF for it’s iOS version. Maybe using ARKit? Android & iOS. I don’t know anything about this project.

Intugame (No longer being developed)


If you want to use a PS3 Dualshock controller wirelessly over bluetooth, you’ll need to install this driver:
PS3 Dualshock Controller – github.com/nefarius/ScpT…
If you install the bluetooth driver, you will not be able to use other bluetooth devices until you remove the driver. To remove the driver follow this guide: forums.vigem.org/topic/2…

Xbox Controller’s should work out of the box I think.

VR Controller Software

If you don’t have a wireless gamepad lying around, but you do have an extra android phone. Turn it into a wireless controller.

Turn your Anroid phone into a 3DoF VR controller.

  • Vridge Touch – Requires Vridge $5
  • Trinus Hand – Requires Trinus. Free
  • Google Daydream Controller Emulator – FREE developers.google.com/vr…
    If you don’t have a phone on the Daydream compatibility list then you can use the a rooted AndroidOS with Magisk to install the xmlpak – a road to vendor apps module to download the daydream apps. Otherwise you can pair your phone with the emulator app to your computer using bluetooth, and use Driver4VR to connect it to SteamVR. (Although this may conflict with the Kinect skeleton tracking)
    This does not work with the most recent Google Services for VR. You need to downgrade to this one: www.apkmirror.com/apk/go…
    Thank you to this thread: www.reddit.com/r/daydrea…

VR Controller Hardware

Riftcat/Vridge supports one GearVr, Oculus Go, Daydream, or Vive Focus controller. However, you have be using the GearVR, Daydream, or Vive Focus HMD respectively.

Driver4VR supports one or two PS Move, Joycon, Wii remote/nunchuck, Daydream, and GearVR controllers without any corresponding HMD. Also Leap Motion, Kinect & NoloVR. You can also use a generic bluetooth VR controller. This includes the option of virtualized hand tracking using the orientation of the controller.
GearVR driver: github.com/gb2111/Access…

I was confused by Rucio’s reference to “IKN”, but here is how I got both controllers to work in 1909. I’m assuming he meant “IRK”. Heads up, this will mess with your computer’s registry and has the potential to break windows if done incorrectly. No one except yourself is responsible for anything that may go wrong.

* Connect one of the Gear VR controllers to Windows via the Bluetooth menu. Make a note of what the device name is, specifically the 4 letters and numbers inside the parenthesis. This should work without error.

* Regedit.exe as Administrator, navigate to Computer\HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\BTHPORT\Parameters\Keys. On the left, there will be a subkey (folder) under “Keys”, the name of this folder will be specific to each computer. Expand that folder with the downwards arrow. Now you should see a folder with the last 4 characters in the name matching the 4 characters in the Bluetooth menu. Open this folder.

* There is a entry with the name “IRK”. Click that and you’ll see the the attached screen. Replace the 01 at the start of each line with 02.

* Close out of Regedit and restart your computer.

You should now be able to pair the second controller without issues. You don’t need to worry about changing that value back, but you may need to remove both devices and repeat this process if you ever need to repair the controller.
See below for verification.

Full Immersive Room Scale Setup w/ 6DoF

6DoF HMD w/ two 6DoF Contollers (position emulated) two 6DoF Foot trackers w/ Virtual hip tracker. For this setup, you will need to use Riftcat/Vridge software for it’s integration with Opentrack. Unless you use Driver4VR for all body tracking. In which case you can use whichever HMD streaming package you like.

There are a number of different ways to get positional data of your HMD. Here are the ones I’ve discovered.

  • ARCore (Requires ARCore compatible phone. Check here: developers.google.com/ar…, or a rooted phone with the Magisk ARCore/Playground Patcher module) This is the most desirable option because it uses the camera from your phone. You will need VR goggles without a front cover, or you’ll need to make a hole for the camera. I’ve heard a messy room is better. I also read you can add stickers of some kind to your walls to improve tracking. Only seems to work when you use the default streaming options, and not Moonlight. It didn’t work very well with my LG G5.
    How to enable ARCore in Riftcat:
    Go to RiftCat/Config folder and edit your VRidge.cfg file. Find “ArcoreTrackingEnabled” and change its value to “true”. My config was stored at: C:\Program Files (x86)\Riftcat 2\Config\vridge.cfg. How you know it is working is when your vridge app requests permission to use the camera.
  • PS Eye with Aruco Markers via Opentrack (This is the one I chose since I already owned a PS Eye Camera, and a laser printer)
  • PS Eye with IR LED’s via Opentrack with IR filter over lens
  • Kinect skeleton mode via opentrackkinect + Opentrack OR Immotion OR Driver4VR
  • Kinect with color LED markers via Driver4VR

Aruco Marker Requirements:

  • A printer, or some graph paper and black pen.
  • Cardboard, paper, glue.
  • A hat, and some sandals.
  • A webcam like the PS Eye $7 X 2. Or the Xbox Kinect $10.
  • Two controllers of some kind, I used GearVR controller, and another android phone with the Google Daydream Controller Emulator.
  • Driver4VR software for body tracking.

Open Track Head Tracking Software

If you are not ARCore, you’ll need to use either a PS Eye or Kinect camera to track your head. Oculus Go/Quest already does this. Probably using lasers.

To enable headtracking in Riftcat you’ll need to download and install:

Opentrack: github.com/opentrack/ope…

If using Kinect download and install Kinect to Opentrack – github.com/sheepsskullci…

Hip + Feet Tracking Software

Driver4VR – www.driver4vr.com/downlo…

Manual Calibration of Feet Trackers


PS Eye Driver – github.com/jkevin/PS3Eye… (Supports multiple camera’s at once, but they are name the same, so you must initialize them in succession.)

Kinect for xbox 360 / v1:
-SDK www.microsoft.com/en-us/…
-Runtime www.microsoft.com/en-au/…

Kinect for xbox one / v2
– SDK www.microsoft.com/en-us/…
– Runtime www.microsoft.com/en-us/…

Troubleshooting Kinect 360 Download Kinect Developer Toolkit, start Kinect Tookit Browser and try Skeleton Basics application and Color Basics application – You may also run the Kinect Explorer-D2D after a computer restart to get further information from the console window that you can share screenshot www.microsoft.com/en-us/…
Kinect for xbox one / v2: – Use Kinect Verifier developer.microsoft.com/…

Play non VR games in VR

Riftcat Gamewarp w/ Reshade



With Reshade or VorpX

VorpX (Full review pending…)

With Moonlight, Opentrack, and OpenPIE MIU, Or Riftcat/Vridge


With Moonlight, Opentrack, and OpenPIE MIU, Or Riftcat/Vridge



3D vision

With Moonlight, Opentrack, and OpenPIE MIU, Or Riftcat/Vridge


Cinema Mode

Nero GameVR Will just display any game in big screen mode within VR, but not actually convert game to VR.

Steam will also do this “Play in Theater”.

Also, for GearVR Oculus Go/Quest you can use the Remote Desktop app.

Create profile QR code for your VR Goggles


Vridge Commands

Alt+Ctrl+Shift+R – Recenter – By default it’s Alt+Ctrl+Shift+R, but it can be changed in RiftCat settings -> VRidge -> Tracking Options.

Game Specific Help for Vridge


youtu.be/Y7hRKgfAgUw – VRidge Basic Tutorial go.riftcat.com/SkyrimSha… – Improve Skyrim image quality. go.riftcat.com/SkyrimMod… – Learn how to install

Aruco Marker Generator


Turn you non Galaxy device into Gear VR compatible. Not sure if this works yet. Probably not


Further Reading About Smartphone VR


Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.