Meta Quest 3—Part 3

Mapbox GL demo running very nicely on the Quest 3.

Browser Performance

The CPU of the Quest 3 is supposedly about twice as fast as the Quest 2’s and it definitely shows in the performance of the browser. WebGL-powered widgets like map box and reasonably interesting BabylonJS demos seem to run noticeably more smoothly than on the Quest 2 (which was already quite decent).

Bluetooth Keyboard and Text Selection 😱

Today I paired my Logitech MX keyboard with my Quest 3. It works but since it doesn’t have an integral trackpad working with text is pretty much a nightmare (text selection with with either the controllers or hand-tracking is pretty terrible, although I’d give an edge to using the controllers).

Entering, editing, and dealing with text is a big deal and deserves a whole post on its own, which I’ll get to later. Suffice it to say that the experience of entering and selecting text on the Quest is, thus far, horribly frustrating compared with using the Quest as a virtual display for my Mac, aside from screen refresh rates, anyway.

Screen Capture 🫤

I’ve also figured out how to reliably capture stills and videos and sync them to my iPhone… which means I need to save each file to Photos or Files and then wait for them to sync, which is pretty lame. Audio captured from the mic seems decent. I didn’t grok that one has to hold the trigger to toggle video while just pulling the trigger captures stills. So eventually I’ll post some screen captures. Rather annoyingly the screen capture field of view doesn’t match the video field of view I’ve picked. Not a big deal.

Meta Quest Remote Desktop (referred to as Remote Display on the Quest 3) is beta software that lets you use you Quest 3 as a virtual display. It definitely looks like Beta software.

Remote Display 🫤

Next, I downloaded the beta of Meta’s Remote Display app. This required me to figure out how to add my developer account to my Quest 3 which turned out to be a minor shit show. Turns out, once you activate your account on the Quest 3 (which works a lot like activating TV streaming accounts on an AppleTV these days—go to a website, log in, and enter a code) it will put you through a series of screens exhorting you not to run with scissors while wearing the headset, and so forth, and if you click through these too quickly you get stuck—hard—in the “finish setup on another device” screen on the Quest device. There are quite a few people who’ve had this problem and Meta’s tech support seems pretty mystified (suggesting things like clearing your bluetooth cache).

I should add that much of the UI for switching accounts is locked in the Quest 2 universe, so you get thrown into a grey VR landscape to click on dialogs here and there. Icky.

The solution turned out to be to remove the account from the Quest 3, then add it again but wait for the instructions to click through the tl;dr screens before doing so. It’s annoying and another example of poor fit-and-finish.

The beta of screen sharing software seems to work OK. It definitely looks like beta software. Naturally, I have notes.

Screen refresh rates seem poor. I’m typing this with my headset on rendering the screen and it seems a little jittery. Even so, dragging a text selection seems fine, so… shrug? When I switch from my 4K main display to my 1080p secondary display, it seemed like it got a bit better but some experimentation showed that to be an illusion.

As I type this, my Quest 3 is currently plugged directly into the Mac (because battery life remains a big issue) but I’m not sure if the USB-C cable is carrying the data. Unplugging it didn’t seem to impact the refresh rate, so I guess not.

Aside: it’s so nice to be able to type on a Mac keyboard and not have to use escape codes. Also, I’m using a Finnish keyboard and finding it less annoying than my US PC keyboards. Incidentally, using my Logitech keyboard with the Quest 3 is even worse than the PC keyboard since I have no idea how to type special characters.

It only supports one screen at a time and it seems to a physical screen rather than a virtual one. I have dual displays (plus the laptop’s display when the lid is open) and it’s only showing me one.

The biggest annoyance is that if I have automatic motion detection switched on then when I release the controllers it goes into hand-detection mode and of course my fingers are pointed roughly in the direction of the screen when I type. This in turn leads to the image of the display dimming subtly to make it easier to see where my fingers are pointing. If I turn off motion-detection I still need to be careful how I place the controllers when I put them down because if they are even vaguely pointing in the direction of the screen the same issue arises.

After turning off automatic switching the Quest 3 somehow started automatically switching whether I wanted it to or not, so I had to completely disable motion tracking before I tried to punch something.

Even with these caveats, the display seems such that I think I’d prefer using the headset with a small laptop to carting a large laptop around if the obviously stupid things were fixed.

Virtual Desktop 😥

This is a commercial third-party app that does much the same thing as Remote Display, but with more of an emphasis on gaming. I found it quite impressive with the Quest 2, but it hasn’t really been adapted to the Mixed Reality world. It is possible to set it to pass-through the background, but the position of your display is basically fixed and the update lag was markedly worse than for Remote Display (and far worse than I remembered it being on the Quest 2… I may need to go back and try it on the Quest 2 again just to compare).

At any rate, unless you want it for some specific purpose, it’s just inferior to Remote Display and it’s not free. And, much as I do not trust Facebook/Meta and am a bit leery of letting them capture audio, keystrokes, etc. when I am using the device, they’re probably at least as trustworthy as random app developers. (A big advantage of having everything working on one device is not having to use what amounts to a third-party key-logger to communicate between your PC/Mac and your display.)