Cover page and editors column from Java Developer’s Journal March 2003



Articles, notes and random thoughts on Software Development and Technology
The current state of PC based VR in 2021 ranges from:
to
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:
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:
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.
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:
There’s a post with some more details here.
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’)