Now working (a bit): PC VR with Meta Quest 2, Parallels and Virtual Desktop on M1 / Apple Silicon

Discussion in 'Parallels Desktop for M Series Mac' started by Izzard, Jun 18, 2022.

  1. Izzard

    Izzard Bit Poster

    Messages:
    7
    TL;DR: It is now possible to play some Oculus PC software on Apple Silicon using Parallels and Virtual Desktop, but probably not worth the effort - at least on a base level M1. I'd be curious how an M1 Pro, Max, Ultra or M2 gets on. (I'm posting this to Reddit and to Parallels forums.)

    As the owner of an M1 Mac and a Oculus / Meta Quest 2, I've always been interested to see if I can use the Mac for VR by running Windows on it. Until now, this has not been possible because, whichever route we tried, we would always hit a roadblock. However, as of recent Developer Previews of Windows 11, it is possible to make some progress on this endeavour and I've been able to play Oculus PC apps using my Mac mini.

    Note: I am extremely aware this is not a sensible thing to try for actual gaming, that the performance will be inadequate due to translating the software for ARM, and running in a Virtual Machine with a virtual GPU. However, that discussion has been done to death by naysayers in other threads over the last two years. I'm here simply to tell you that I've been able to achieve it, to some degree, and for some of us it's just a fun exercise to make it work at all. Don't be a buzzkill!

    Caveats:
    • Performance is inadequate on an M1.
    • SteamVR doesn't currently work, only Oculus games. I suspect this is because a driver fails to install.
    • You can't connect via Link Cable, only wirelessly using the excellent Virtual Desktop software.
    • There are hurdles: error messages to deal with, workarounds to faff with and most stuff won't work.

    Steps to reproduce:
    (I'm using macOS Monterey 12.4 on an M1 Mac mini.)
    1. Create a Windows 11 Virtual Machine in Parallels. I used Parallels Desktop version 17.1.14 (51567).
    2. In order to allow the Quest 2 to connect to your VM, we can bridge the network connection. To do this, go to the Configuration settings for your VM in Parallels (click the gear icon). Go to the Hardware tab, click Network then set "Source" to "Bridged Network / Default Adapter".
    3. Download the Oculus software for Windows (OculusSetup.exe). At the time of writing, the Public build of Windows isn't sufficient, as the Oculus installer will fail with "Unsupported CPU. Oculus requires a CPU with SSE 4.2 support". So, in Windows Settings:
      1. Go to "Diagnostics & feedback settings" and turn on the "Send optional diagnostic data" option.
      2. Go to Windows Insider Program settings, click "Get started", and link a Microsoft account.
      3. Choose the Dev Channel. Allow the VM to restart and install all Windows updates. At the time of writing, this installs Windows 11 Insider Preview 25140.rs_prerelease.220610-1351
    4. If you were to try OculusSetup.exe now, it would no longer get the "Unsupported CPU" error but will still ultimately fail and will roll back the installation, achieving nothing. The trick to prevent this happening is to run it with "diagnostic" switch. E.g. from the Command Prompt, use "OculusSetup.exe /diagostic". Installation won't quite complete, but rollback is interrupted by a pop-up saying "Diagnostic mode specified. Click OK to roll back installation." Don't click it! Instead, end the "Oculus Setup" task in Task Manager. This leaves the Oculus software installed.
    5. Reboot the VM.
    6. Go to vrdesktop.net, download and install the Streamer App for Windows. Launch it and enter your Oculus username. (You don't need to change the Public/Private network property or disable the Windows firewall, because we bridged the networks in step 2#.)
    7. On your Quest 2, launch Virtual Desktop and connect to your VM. You should be able to see your Windows 11 Desktop on the Quest. That's it! From the "Games" tab in Virtual Desktop, you can now launch a Occulus PC VR app, such as the included "First Contact" demonstration, "First Steps" or "Oculus Dream Deck". Have fun and see what else you can achieve.

    NB: if you try to launch the Oculus client, e.g. to install more games, it will complain that it cannot reach the Oculus Service. You can solve that as follows:
    1. In a Command Prompt: C:\Program Files\Oculus\Support\oculus-runtime\OVRServiceLauncher -install -start
    2. With the "Oculus VR Service" now installed and running, you should now be able to use the Oculus client, sign in and install more VR games.

    I haven't managed to get the driver to install so far, so skip the headset setup (it's not required in order to play via Virtual Desktop). I also haven't got any other apps to work, since they complain that the driver needs to be installed. Clearly, the next issue to resolve is getting the driver to work! My ultimate goal is to make this work with Live For Speed, which I am very confident the M1 can handle in VR. (I currently do this using an old PC with a lowly NVIDIA GT730 GPU, far below the "minimum spec" for VR, and it works well enough.
     
    AlexeyS9 and DavidA54 like this.
  2. DavidA54

    DavidA54 Bit Poster

    Messages:
    5
    Thanks for blazing a trail on this!

    I would like to use Oculus Link on my Mac M1 so I can do VR development in Unity, and it sounds like that might (just) be achievable now.
     
  3. KellyM9

    KellyM9 Bit Poster

    Messages:
    2
    Hello,
    thanks for sharing this post. I do have a MacBook Pro (16 inch, 2021) Apple M1 Max with 64GB of memory, therefore, If I can get your process working I can provide the feedback you seek.
    I was able to get to step 4 in your process. When I use the CMD prompt to change to the directory that contains the Oculussetup.exe file and try to run exe command you gave (and several other variations, see attached image) it says that it cannot find Oculussetup.exe. From file explorer if I double click on the exe file it starts, therefore the exe file seems to work.

    I have not worked with windows in literally 20 years, therefore, I am a windows Luddite. Any ideas what I am doing wrong? If I need to move the exe file to a different directory I am not sure how to do that in Windows, and I cannot find the Windows directories in finder.

    Thoughts?

    Kelly
     

    Attached Files:

  4. DavidA54

    DavidA54 Bit Poster

    Messages:
    5
    My first thought is was the file definitely on the desktop? You might need to change directory to the Downloads folder instead. So from where you were:
    "cd .."
    "cd Downloads"
    Then try
    "OculusSetup.exe /diagnostic"

    I managed to get it installed, but it wouldn't start up when I ran it afterwards. I just got the circle loading animation forever, and eventually I had to kill the task. It feels like it's pretty close though.
     
  5. KellyM9

    KellyM9 Bit Poster

    Messages:
    2
    David,
    Thank you, You were right. The file was in a different directory. Now I am having a hard time with rule #2 "
    1. In order to allow the Quest 2 to connect to your VM, we can bridge the network connection. To do this, go to the Configuration settings for your VM in Parallels (click the gear icon). Go to the Hardware tab, click Network then set "Source" to "Bridged Network / Default Adapter"." Bridged Network is Grayed out. Originally I had this figured how how to make it an option, however, I cannot remember now how I did it...
     
  6. DavidA54

    DavidA54 Bit Poster

    Messages:
    5
    I think if it's greyed out, it's because the VM is running and it can't be changed on the fly. If you shut down the VM, then in Parallels go to options without starting it up again, you should be able to change the settings.
     
  7. SamuelJ4

    SamuelJ4 Bit Poster

    Messages:
    1
    Hey there! First of all thanks SO much for this post, it's halfway there for me. I'm desperately trying to get a chat overlay on VR games (so I can actually be notified) for twitch, which would require this to work fully with more than just the base 4 games. However, when I try to run this command:
    C:\Program Files\Oculus\Support\oculus-runtime\OVRServiceLauncher -install -start
    I get the following error message: Screenshot 2023-01-10 at 2.46.34 PM.png
    I've done so much research and am tearing my hair out trying to get this to work... All to no avail. I am but a simple mac user, haha. This is new territory for me.

    Thanks again though, look forward to seeing your reply!
     
  8. DavidA54

    DavidA54 Bit Poster

    Messages:
    5
    The command you're trying to execute has a space in it (between Program and Files). Fix it by putting the whole thing in quotes, e.g:
    "C:\Program Files\Oculus\Support\oculus-runtime\OVRServiceLauncher.exe" -install -start
     
  9. BruceM7

    BruceM7

    Messages:
    1
    Install worked up until trying to launch the oculus app, when I tried to open it the app would open for a second or two and then immediately crash just to repeat the cycle. anyone know how to fix this?
     

Share This Page