This is a quick hack to get Google Stadia running on unsupported AOSP devices like the Oculus Quest.
The ChromiumForStadia.apk
was created using the following steps:
chromiumForStadia.diff
were made to the stock source. The core changes are:
chrome/android/java/AndroidManifest.xml
. This allows the app to show up on Android TV devices.FullscreenHtmlApiHandler.applyEnterFullscreenUIFlags
. This fakes {navigationUI: "hide"}
and avoids https://bugs.chromium.org/p/chromium/issues/detail?id=933436#c7.device/gamepad/gamepad_platform_data_fetcher_android.c
to mark any controller's mapping
as standard
. Without this, Stadia doesn't detect the controller.third_party/blink/renderer/core/dom/document_or_shadow_root.h
to perform the equivalent of document.pointerLockElement = document.fullscreenElement
. This hack gets around the fact that the Pointer Lock API doesn't work as Stadia expects on mobile devices.With these changes, going to stadia.google.com in this app and enabling Desktop Mode will allow you to stream Stadia to the browser on Android devices. You can also use unsupported USB & Bluetooth controllers with the browser. You can test your gamepad at html5gamepad.com/.
This app was tested on a Pixel 4 & Oculus Quest using an ASUS Bluetooth Gamepad, PS4 Dualshock, X-Box One controller, and the official Stadia controller via USB C.
Note that this app is not officially supported by Google nor Oculus and may unexpectedly break at any point. This reddit post has some more notes on how to get Stadia working in the browser without using a custom app. The app was just meant to streamline those instructions.