Giter Club home page Giter Club logo

chromium-for-stadia's Introduction

chromium-for-stadia

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:

  1. A stock version of Chromium for Android was built using the official guide @ 3333b9d62d44b68615a6f40c429d7f93cbc71781 from 4/13/2020.
  2. The changes in chromiumForStadia.diff were made to the stock source. The core changes are:
    • Modifying chrome/android/java/AndroidManifest.xml. This allows the app to show up on Android TV devices.
    • Modifying FullscreenHtmlApiHandler.applyEnterFullscreenUIFlags. This fakes {navigationUI: "hide"} and avoids https://bugs.chromium.org/p/chromium/issues/detail?id=933436#c7.
    • Modifying device/gamepad/gamepad_platform_data_fetcher_android.c to mark any controller's mapping as standard. Without this, Stadia doesn't detect the controller.
    • Modifying 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.

Release notes

  • 4/19/2020 - Pull in upstream changes. Fixes XBox controller support and improves fullscreen UI.
  • 1/ 4/2020 - Pull in upstream changes. Remove localstorage hack. Remove controller mapping hack since the changes were merged upstream.
  • 12/ 9/2019 - Improve support for PS4 controllers on older OSes.
  • 12/ 4/2019 - Remove user-agent spoofing since this was causing a login issue for some people: sigmaxipi#4
  • 12/ 3/2019 - Added support for PS4 Dualshock controllers by updating the mapping to work around sigmaxipi#5
  • 12/ 2/2019 - Delete standalone 32-bit apk and make the main apk 32-bit. Workaround infinite loading issue by spoofing localStorage write.
  • 12/ 1/2019 - Fixed an issue where holding the trigger buttons on the Stadia controller causes a pop up due to loss of pointerlock.

chromium-for-stadia's People

Contributors

ap0ught avatar sigmaxipi avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.