VR development from the comfort of your regular environment

If, like me, you’re new at developing VR content, maybe you’ve recently switched to a Windows PC. Coming from Mac and Linux systems, I find switching to and from Windows can be an annoying experience. If this is your situation too, I’ve researched some setups that minimize and sometimes avoid disruptive context switches. Here’s a walkthrough of my setup for virtual reality development, that maintains the comfort of a familiar context.

Run on Windows; use on Mac/Linux

Remote Desktop Protocol or RDP enables local computers to connect and control a desktop session on a remote Windows machine. RDP has very light overhead and is perfect for programming. However, VR development usually involves working with 3D modelling solutions, the kind of software that does not interact well with RDP.

In this brief video tutorial, I walk you through every step of the process for setting up RDP to enable your familiar dev environment. I’ll show you how to configure the MacOS RDP client, establish a remote session to a Windows PC, and overcome some graphic issues when launching modelling tools like Magica Voxel or Blender. This may require some trade-off between comfort and responsiveness.

Check the downloads section at the end of the article to find all the software you may need and pay special attention if your Windows version is Home Edition.

Sharing your keyboard and mouse

I was working with this setup but while trying to record some videos I started to notice the effect of the RDP overhead, which caused unacceptable frame drops. To avoid this overhead, as you continue working with your regular mouse and keyboard, you can use a virtual KVM (kernel-based virtual machine) like Share Mouse to allow your Mac peripherals to control the Windows PC. However, if you want to use this, you will need to physically connect your Windows PC to your monitor.

If your regular development environment is Linux, you can use Synergy instead, although notice there is no free version.

Edit: thanks to Avi Kac for reminding that synergy software is open source. So you can clone the repository, compile and install by your own.

What’s next?

Much has changed since the last time I developed in Windows. I strongly recommend you read Windows Development Environment before you begin. The guide includes installing a package provider for Windows, terminal setup, as well as other useful tools, tips and tricks, and offers a complete tutorial for getting started with modern Windows development.

Is it a perfect setup? Probably not for everyone, but it works for me. I would be interested in hearing what works for you. Please, join the conversation and tell us about your favorite setup in the comments or join the WebVR Slack to share with other practitioners.

Downloads

If coming from Mac: RDP client, TeamViewer and Share Mouse for mouse and keyboard sharing.

If coming from Linux (not tested): several RDP clients available, TeamViewer and Synergy for mouse and keyboard sharing.

For the RDP solution to work in Windows Home Edition, you’ll need to install RDP Wrapper. Notice it is not yet compatible with the latest Windows Creators Update.

About Salva

Front-end developer at Mozilla. Open-web advocate, I love programming languages, cinema, music, video-games and beer.

More articles by Salva…


10 comments

  1. Tim Schaefer

    Or I could continue using a real operating system. What an odd post to make on the Mozilla Hacks blog.

    May 31st, 2017 at 09:12

    Reply

    1. Avi Kav

      GPU drivers can be a pain to deal with on Linux

      May 31st, 2017 at 21:13

      Reply

      1. Dr. Pavel

        uuuu

        June 1st, 2017 at 12:32

        Reply

    2. Utopiah

      Sadly it is needed because roomscale VR i.e. HTC Vive and Oculus Rift do not provide stable drivers and setup tools for GNU/Linux.

      June 3rd, 2017 at 02:59

      Reply

  2. Avi Kav

    I’d like to note that Synergy’s source code is publicly available under the GPL:
    https://github.com/symless/synergy
    IIRC the only way to get it on Linux was to compile from source.
    And yes, the repo is up-to-date and active.

    May 31st, 2017 at 20:57

    Reply

  3. Eduardo

    But why we have to change?
    The question is… To build VRui experiences why do I have to run something on Windows (except when using HoloLens)?

    I can share with you guys a complete workflow on Ubuntu and Mac OS X. Without any Windows…

    June 1st, 2017 at 14:25

    Reply

    1. Salva

      That’s fantastic! Please, share the link.

      June 1st, 2017 at 23:04

      Reply

  4. Eduardo

    Just uninstall Windows to give some space for Linux!!!! Problems (i really mean problems) solved!

    Weird post coming from Mozilla…

    June 1st, 2017 at 14:29

    Reply

  5. Camilo Martin

    You can run Bash on Windows and install a decent console (like ConEmu). Even getting binaries for most of Linux stuff is not hard. I like that much more than having to use Powershell/CMD, because a build script in Bash can work for all environments.

    So instead of bashing Windows you could Bash in Windows.

    June 16th, 2017 at 18:19

    Reply

    1. Salva

      Thank you so much! Do you mind to add a link with the procedure? That would be perfect!

      June 16th, 2017 at 22:55

      Reply

Post Your Comment