Do you remember this post of mine from one year ago when I showed you that it was possible to do some kind of “hacking” of the Oculus Quest using the adb command line tool? Thanks to this powerful tool, it was possible to show the Android Settings window, to mirror the passthrough of the device, and even to open an alarm clock on the device? Well, those times are gone, and the new runtimes of Quest now prevent you from doing all of this.
A more close Android system
The makers and developers community (me included) are asking Facebook for a more open Oculus Quest, even something that can be rootable, if possible. Facebook has answered by creating a new app distribution system to tempt people to stop using sideloading, and creating security patches for its runtime that prevent those little tweakings that were possible before using the Android tools. Quest runs a modified version of Android, and the more the system gets updated, the less the operating system works like a standard Android, thus becoming always less open.
It is like if Facebook is building its own operating system, that still has the basis made of Android, but on which all the Oculus layers above filter you from interacting directly with it for how much it is possible. It is becoming always more a Facebook operating system, one that is very closed, a la Apple.
Do you want some examples? Well, let me show you.
Android Clock
One year ago, I managed to open the Android alarm/clock app using the ADB command line tool and even set an alarm for a certain day. This was the result:
I tried to do this yesterday, with my Quest 2 and runtime v25, and the system answered that the package of the clock didn’t exist. It seems reasonable that it has been removed, since it was completely useless. But the fact that it is not there anymore is a sign that there’s been a check to optimize the operating system and remove everything Android that was not necessary in an Oculus device.
Settings app
Triggering the command line, it was possible also to open the standard Android settings window. You could see this giant window, like the one of your phone, floating in front of you and changing some settings like the brightness of the display pretty easily. It was cool because Oculus doesn’t expose to you all settings, while with this menu it was possible to tweak whatever you wanted.
I tried to do it yesterday, and the result of the command line “adb shell am start -a android.settings.SETTINGS” is now just 3 dots blinking in front of my eyes forever. There’s no way to trigger the settings via ADB anymore.
How to show Android Settings in Oculus Quest 2
The cool news is that if you want to see something similar, you can use the suggestion of /u/Dundell in this reddit post:
There’s a Sideloading App for the Quest that allows you access to the Android OS settings menu. You can probably check for support for an external Mic using that.
Original Youtube video link:
https://www.youtube.com/watch?v=5xUPQICYpOs
settings_1.0.apk link:
https://app.box.com/s/rlthnyp1z5j4sd5nlq761tju65yyqkal
Install via SideQuest Setup:
-Download settings_1.0.apk
-Connect Quest to Computer via USB
-Run SideQuest
-Click-and-Drag settings_1.0.apk into SideQuest window
This should show at the bottom of SideQuest “setting_1.0.aph installed successfully”
Once set, you can view the .apk by:
-Put Quest headset on
-Open TV menu
-Scroll to the bottom most listings
-Open “Settings” (It will be a black/blank square)
You should now see a basic Android OS settings menu. Check bluetooth out, or see about devices and Microphone.
Doing this, I have been able to show some kind of Android settings window, and for instance, give some special authorizations to some apps that I had installed. You can use this while we wait for Facebook to also block this method 😐
Mirroring of Passthrough and 2D applications
Facebook has always prevented users to take pictures or make recordings of the passthrough vision inside the applications. I guess the reason was a security one: if any app can access the passthrough, it can access the visuals of the room of the user and violate its privacy.
But if you wanted to make a video involving the passthrough (e.g. for a tutorial), you could still use the old ADB tool to mirror what was on the screen of the user. This has been an invaluable tool for all of us content creators to make videos and tutorials for you of the VR communities. Here you can see me writing Chinese characters in a video made some months ago to demonstrate the power of the passthrough background behind the Oculus browser.
Well, the fantastic news, is that if you try to do the same thing today, you obtain exactly this:
The mirrored stream becomes completely black, no matter what you do. I tried using SideQuest, Scrcpy, plain ADB commands, I have even installed AirDroid on the Quest (yes!) and used the operating system screen recording functions, but the result is always a full black screen. And if I try to get a screenshot, I obtain a file that has 0 bytes. The operating system doesn’t just stream what happens in the screen hiding the passthrough, it returns directly a full-black image.
The same happens when you use 2D applications: if you use a 2D app (e.g. Airdroid, or the above-linked Settings app), the system also prevents you from streaming it to an external computer.
You may say that this has been made for security reasons, but actually ADB is not a standard app, but it is a developer tool with high privileges in the system and it can’t be triggered remotely but only locally, so there’s no risk in allowing it to get your camera stream.
The big disadvantage of all of this is that we all content creators are not able to do videos involving the passthrough anymore. And this is a big joke, considering that Facebook is going to launch Infinity Office that works entirely with the passthrough. So no one will be able to make good videos of it and put them online, something about which the Facebook marketing department won’t be that happy.
Jokingly, I imagined how the trailer of Infinite Office would be today after these new additions to the runtime… and it has been the result (turn audio on):
I would love to see a more open Quest ecosystem, but the more I go on, the more I realize this is never going to happen. It’s a pity for me as a techie guy, but I understand that a corporate like Facebook may have opinions different from mine. Let’s hope for a more open competitor for the future!
I hope you have liked this article, and if it is the case, won’t you mind subscribing to my newsletter? 😉