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

Izzard

Bit poster
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.
 
Hello Kai,

To aid us in troubleshooting this further, please collect a technical report while the issue is being reproduced (click the Parallels icon > Help > Send technical data > check "Attach screenshots..." > press Send Report) and send the report's 9-digit ID in reply to this post.

Furthermore, kindly provide us with a screenshot of the error message.
Hi, I have the same issue and was wondering if there is a solution to it?
If so could you please assist me in fixing it?
 
It sounds like there's a lot of people stuck on step 4 because they can't run the installer with the "/diagnostic" switch. Here's some tips:
  1. Make sure you know where the OculusSetup.exe installer is actually saved to.
    1. It needs to be accessible from the virtual machine, so if it's downloaded on your host machine then you'll need to download it again inside the VM or you'll need to make your host downloads accessible in the VM.
    2. If you're unfamiliar with newer versions of Windows then the various versions of folders can be confusing. A lot of people note that it's in a Downloads folder, but there are different versions of this for the current user, and that are shared across users, and your host machine files might be mounted in a different one.
    3. If you can find the installer in the File Explorer, then right click it and choose Properties, and you'll see a field called Location with the path to where its saved which you can use when you change directory in the command prompt.
    4. If you've changed to the folder that you think it's saved in using the command prompt then type "dir" and make sure you can see the installer. If you don't see it there then you're still in the wrong folder.
    5. If you can see it in the File Explorer, then you can also right click in the empty space in the folder and then choose "Open in Terminal" and it'll take you to that folder in the PowerShell (which isn't exactly the same as the Command Prompt but close enough for all you need to use it for).
    6. If can NOT see it in the File Explorer either, try opening the Start Menu and just typing OculusSetup.exe in the search bar and it'll find it, and then you can right click and choose "Open file location" and it'll open the containing folder in the File Explorer.
    7. If you still can't find it, then you're probably best off just downloading it again.
  2. If the installer is actually in the VM and you know where it is, then you really can run it in the command line or the File Explorer.
    1. For the command line:
      1. Open the Command Prompt or PowerShell, both will work the same for this.
      2. Type "cd " and paste in the Location where the installer is saved.
      3. Type "dir" to make sure you see it, if you don't go back and find the right location.
      4. Then just type ".\OculusSetup.exe /diagnostic"
      5. It should run in the diagnostic mode that the OP described.
    2. For the File Explorer:
      1. You can run it with the switch here to if you make a shortcut first so you can add the switch.
      2. The easiest way I've found to make the shortcut is to just right-click the installer file and then click "Pin to Start".
      3. Then open your Start menu and right click the new OculusSetup that showed up there, and then choose "Open file location".
      4. It'll take you to the location of the shortcut, at which point you can right click that again and choose "Properties".
      5. There's a Target field that has the full path including the OculusSetup.exe, just add a space and the "/diagnostic" switch to that field and then click OK.
      6. Then you can run the shortcut from that folder or from the Start menu and it'll run in that mode described by the OP.
      7. Feel free to delete the shortcut when you're done.
Note that none of this is directly related to this guide from the OP or to the VR setup, it's more general stuff about Windows and virtual machines. I hope it's not too much noise in the thread but there seemed to already be a lot about this as people tried to make this work. Hopefully it's helpful.
 
One more thing that people seem to be stuck on in step 4 is getting past the error message in the installer.
  1. When you run the installer, it will STILL hit the error message, the OP doesn't have a solution for that (yet).
  2. However, if you run it with the "/diagnostic" switch then the installer won't immediately uninstall when it hits an error.
  3. So, when you hit the error, do NOT click OK or it will still uninstall.
  4. Instead, leave the installer on the error screen, and go to your Start menu and type in Task Manager, then click to open that app.
  5. In Task Manager there will be a section of Apps at the top showing what's actively running in the foreground and you should see some variant of Oculus Setup listed there.
  6. Right click on it, and choose "End task".
This will let you close the installer without uninstalling, and then you can move on to step 5 in the original post.
 
Back
Top