Git Product home page Git Product logo

nagas08 / firefoxreality Goto Github PK

View Code? Open in Web Editor NEW

This project forked from mozillareality/firefoxreality

0.0 1.0 0.0 26.77 MB

A fast and secure browser for standalone virtual-reality and augmented-reality headsets.

Home Page: https://mixedreality.mozilla.org

License: Mozilla Public License 2.0

CMake 0.67% Java 54.04% C++ 43.07% HTML 0.38% CSS 0.56% Dockerfile 0.29% Python 0.65% Shell 0.35%

firefoxreality's Introduction

Firefox Reality

The goal of the Firefox Reality project is to create a full-featured browser exclusively for standalone AR and VR headsets.

Warning: We have a long way to go before this project can be considered a "full-featured" browser, so if you build from this repo you can expect:

  • features will be missing or stubbed out
  • slow performance on current generation hardware (we're developing on pre-release headsets!)
  • temporary UI that will be replaced as new designs land

You can find us on Twitter @MozillaReality and at [email protected].

Setup instructions

Clone FirefoxReality.

git clone [email protected]:MozillaReality/FirefoxReality.git

Fetch Git submodules.

You may need to set up two-factor authentication for the command line.

git submodule update --init --recursive

You can build for different devices:

  • oculusvr: Samsung Gear VR & Oculus Go
  • svr: Qualcomm & ODG glasses
  • wavevr: VIVE Focus

These devices are for only testing:

  • googlevr: Google Daydream
  • noapi: Runs on standard Android phones without a headset

Building for Oculus Mobile, SVR, and WaveVR requires access to their respective SDKs which are not included in this repo.

If you want to build FirefoxReality for Google Daydream (googlevr), you need to run:

cd gvr-android-sdk && ./gradlew :extractNdk

The command line version of gradlew requires JDK 8 from Oracle. If you see an error that Gradle doesn't understand your Java version, check which version of you're using by running java -showversion or java -version. You're probably using JDK 9 or 10, which won't work.

If you get an error extracting the NDK, you might need to copy the local.properties file from the top-level project directory into the gvr-android-sdk directory. If this file doesn't exist at the top-level directory either, open the top-level directory in Android Studio, and it should be created.

Open the project with Android Studio then build and run it. Depending on what you already have installed in Android Studio, the build may fail and then may prompt you to install dependencies. Just keep doing as it suggests.

If you run the APK on an Android device outside of Daydream or Gear VR, it will run in flat mode. To run in VR, put the device into a headset, and run the app from the VR launcher.

If you want to build FirefoxReality for WaveVR SDK

Download the VIVE Wave SDK from the VIVE Developer Resources, and unzip it. Then, from the top-level project directory, run:

mkdir -p third_party/wavesdk
cp /path/to/the/sdk/2.0.32/SDK/libs/wvr_client.aar third_party/wavesdk
cp ./extra/wavesdk/build.gradle ./third_party/wavesdk

Make certain to set the build flavor to wavevrDebug in Android Studio before building the project.

Using a custom GeckoView

Create a file called user.properties in the top-level project directory. Add a variable called geckoViewLocal and set it to the location of your locally built AAR:

geckoViewLocal=/path/to/your/build/obj-arm-linux-androideabi/gradle/build/mobile/android/geckoview/outputs/aar/geckoview-local-withGeckoBinaries-noMinApi-debug.aar

Debugging tips

  • When using the native debugger you can ignore the first SIGSEGV: address access protected stop in GV thread. It's not a crash; you can click Resume to continue debugging.
  • On some platforms such as Oculus Go the native debugger stops on each input event. You can set this LLDB post-attach command in Android Studio to fix the problem: pro hand -p true -s false SIGILL

Task Status Build results

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.