Oculus Quest 2 settings for Microsoft Flight Simulator 2020

The current state of PC based VR in 2021 ranges from:

  • OMG this is incredible, it’s so immersive it feels like you’re really there!

to

  • The low FPS is terrible, stuttering and motion tracking lag, ugh this is making me seasick

I just got an Oculus Quest 2 to use with Microsoft Flight Simulator with the Link cable. I was surprised that out of the box it’s actually a terrible experience with MSFS, horrible framerate (< 10fps), and jerky, laggy head tracking. I could only handle it for about 5 mins before taking it off. My initial reaction was that I was disappointed. I know from reading online though that plenty of people are using a Quest 2 over Link successfully and are pleased with the results, so some searching around found a number of threads recommending optimal settings.

tldr; if you’re prepared to spend time tweaking driver and and app settings, the Quest 2 with MSFS really is an incredible experience, and for the low cost (compared to something like the G2 Reverb), I’d definitely recommend it. To get it running smoothly though, you need to make a number of updates and config changes in a number of different places:

  • Disable any onscreen display overlay type apps, e.g. in onscreen display in Ndivida settings and disable the Window 10 Game bar. There seems to be a known issue with onscreen display apps that either the Quest, the Link drivers, or MSFS cannot handle correctly right now, resulting in the display in the headset flickering back and forth between MSFS and the Oculus Home app
  • Update the Oculus software to Beta and accept the updates to run latest beta versions
  • ymmv but for me the SteamVR approach was much less smooth than the Oculus OpenXR software. Try both and see what works best for you. Others reported the SteamVR software was smoother for them

Here’s my specs for comparison (specific details here):

Asus X570 mobo

Ryzen 5 3600XT

32GB DDR4 RAM

Corsair MP600 m2 NVMe SSD PCIe Gen4

RTX 2060

There are a couple of useful threads where you can find the majority of these tuning tips, these 2 specifically:

https://forums.flightsimulator.com/t/quest-2-2080ti-link-fs2020-set-in-ultra-best-performance-simple-setup-guide/346291

and

https://forums.flightsimulator.com/t/my-2070-super-vr-settings-and-suggestions-index-steamvr/321913

For the majority of my settings I followed these exactly and tweaked slightly to get the smoothest settings I was comfortable. Here’s screenshots of the relevant parts:

Nvidia control panel:

Oculus app: 90hz and 1.3 was recommended in one of the threads, but I went with 80hz and 1.0 that I found was much smoother:

Oculus Tray App – start as Administrator and leave running when you run MSFS:

0.8,0.8 FOV had a significant improvement to the framerate. Any smaller than this, like 0.7,0.7 and I could noticably see the reduced field of view in the headset.

Link settings:

I’m not sure how much difference these settings made. I played around with the Bitrate for example between 250 and 500 and didn’t notice any improvement to the quality or the framerate.

For me, the combination of all the above settings with my hardware resulted in very playable and smooth output in the headset. I don’t think the graphics are as sharp as they could be, but I’d rather have smooth and less sharp than super sharp and detailed but juddering around when I move my head.

I was very surprised that the Quest 2 does not produce good results with MSFS and the link cable out of the box, but following some of the recommendations you find in the linked forums threads should get you good results.

Reprogramming and flashing the Oracle Code Card from Oracle World/Code One

I don’t know why I didn’t realize this sooner or even bother to check, but the ‘Code Card’ with the e-ink screen that was given away at Oracle World a couple of years ago for an interactive lab has a ESP8266 chip on it that can be flashed with new code using a USB cable and the Arduino IDE.

The original repo for the Arduino source for the card has unfortunately had the source for the card removed, but luckily there’s a fork that still has the code, here.

There’s notes in the Arduino folder about flashing the card. These mostly worked for me apart from I found this sequence worked best:

  • connect the card to your pc with a USB cable
  • power on the card with the switch on the side
  • hold the A button, don’t let go (this is important)
  • if you have the serial tool window open in the Arduino IDE you’ll see the messages per the docs
  • Start the Upload of your new code
  • When the upload is connected and starts uploading, then you can let go of the A button

There’s a post with some more details here.

Deploying to ESP8266 with Arduino IDE on MacOS error: “pyserial or esptool directories not found next to this upload.py tool”

If you see this error deploying to an ESP8266 from Arduino IDE on MacOS 11.2

"pyserial or esptool directories not found next to this upload.py tool"

… per this post, edit the file:

~/Library/Arduino15/packages/esp8266/hardware/esp8266/2.7.4/tools/pyserial/serial/tools/list_ports_osx.py

Comment out lines 29 and 30 and append these lines:
   iokit = ctypes.cdll.LoadLibrary(‘/System/Library/Frameworks/IOKit.framework/IOKit’)
   cf = ctypes.cdll.LoadLibrary(‘/System/Library/Frameworks/CoreFoundation.framework/CoreFoundation’)