Coder Social home page Coder Social logo

igalia / wolvic Goto Github PK

View Code? Open in Web Editor NEW
768.0 29.0 97.0 272.17 MB

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

Home Page: https://wolvic.org

License: Mozilla Public License 2.0

CMake 0.24% Java 75.51% C++ 20.79% HTML 0.14% Dockerfile 0.06% CSS 0.26% JavaScript 1.07% GLSL 0.01% Kotlin 1.93%

wolvic's Introduction

Wolvic XR Browser

The goal of the Wolvic project is to create a full-featured browser exclusively AR and VR headsets.

You can find us in wolvic.com, Mastodon @WolvicXR, Twitter @wolvicxr, and at [email protected].

Want to learn more about Wolvic? Read our FAQ!

Setup instructions

For setup instructions using the development version of the Chromium backend check this instructions out instead

GeckoView local substitution

After PR #70, WebXR sessions won't work with the prebuilt maven GeckoView libraries because that PR introduced a change in the GeckoView protocol. So you have to build GeckoView manually by applying patches at this repository.

This could be done either by using a local maven repository (quite cumbersome), or via Gradle's dependency substitutions (not at all cumbersome!).

Currently, the substitution flow is streamlined for some of the core dependencies via configuration flags in local.properties. You can build against a local checkout of the following dependencies by specifying their local paths:

  • GeckoView, specifying its path via dependencySubstitutions.geckoviewTopsrcdir=/path/to/mozilla-release (and, optionally, dependencySubstitutions.geckoviewTopobjdir=/path/to/topobjdir). See Bug 1533465.
    • This assumes that you have built, packaged, and published your local GeckoView -- but don't worry, the dependency substitution script has the latest instructions for doing that.
    • If you want to build for different architectures at the same time, you can specify the aarch64 path via dependencySubstitutions.geckoviewTopobjdir while the x86_64 path via dependencySubstitutions.geckoviewTopobjdirX64

Do not forget to run a Gradle sync in Android Studio after changing local.properties. If you specified any substitutions, they will be reflected in the modules list, and you'll be able to modify them from a single Android Studio window.

For step by step guide check here.

Clone Wolvic

git clone [email protected]:Igalia/wolvic.git
cd wolvic

Clone the third-party repo

If you're developing for the Oculus, Huawei, Pico, or VIVE, you need to clone the repo with third-party SDK files.

git clone [email protected]:Igalia/wolvic-third-parties.git third_party

This repo is only available to Igalia members. If you have access to the relevant SDK but not this repo, you can manually place them here:

  • third_party/ovr_mobile/ for Oculus (should contain a VrApi folder)
  • third_party/OVRPlatformSDK/ for Oculus (should contain a Android and include folders) (deprecated)
  • third_party/ovr_openxr_mobile_sdk/ for Oculus (should contain an OpenXR folder)
  • third_party/hvr/ for Huawei (should contain arm64-v8a, armeabi-v7a and include folders)
  • third_party/wavesdk/ for Vive (should contain a build folder, among other things)
  • third_party/picoxr Pico OpenXR Mobile SDK (should contain include and libs folders, among other things that are not necessary for Wolvic)
  • third_party/lynx for Lynx(should contain a loader-release.aar file)
  • third_party/spaces for Snapdragon Spaces(should contain libopenxr_loader.aar)
  • third_party/OpenXR-SDK/ OpenXR-SDK (should contain an include folder)
  • third_party/aliceimu/ for Huawei Vision Glass (should contain an .aar file with the IMU library for the glasses)

The repo in third_party can be updated like so:

pushd third_party && git fetch && git checkout main && git rebase origin/main && popd

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: Oculus Quest
  • hvr: Huawei VR Glasses
  • wavevr: VIVE Focus
  • picoxr: Pico 4 and (untested) Pico Neo 3
  • lynx: Lynx R1
  • spaces: Lenovo A3
  • visionglass: Huawei Vision Glass

For testing on a non-VR device:

  • noapi: Runs on standard Android phones without a headset

Building for Huawei and WaveVR requires access to their respective SDKs which are not included in this repo.

The command line version of gradlew requires JDK 11. 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 and older JDK, which won't work.

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. To select the device to build for, go to Tool Windows > Build Variants and select a build variant corresponding to your device.

If you want to build Wolvic 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 wave_3.2.0_native_1/repo/com/htc/vr/wvr_client/3.2.0/wvr_client-3.2.0.aar third_party/wavesdk/wvr_client.aar

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

Local Development

By default Wolvic will try to download prebuilt GeckoView libraries from Mozilla's maven repositories, where WebXR won't work and that should be used just for testing the 2D browser or to download browser features. If you want to have this, just skip the GeckoView local substitution part of the Setup instructions.

Install dev and production builds on device simultaneously

You can enable a dev applicationID sufix to install both dev and production builds simultaneously. You just need to add this property to your user.properties file:

simultaneousDevProduction=true

Locally generate Android release builds

Local release builds can be useful to measure performance or debug issues only happening in release builds. Insead of dealing with release keys you can make the testing easier just adding this property to your user.properties file:

useDebugSigningOnRelease=true

Note: the release APKs generated with a debug keystore can't be used for production.

Generate builds with a static version code

By default, each build will be assigned an auto-generated version code, which is derived from the date when the build was created. This behavior interferes with Gradle's caching mechanism and unnecessarily re-runs tasks that depend on the version code, leading to longer build times. You can work around this by temporarily using a static version code that persists between builds. This can be done by setting this property in your user.properties file:

useStaticVersionCode=true

Compress assets

ETC2 compression is used to improve performance and memory usage. Raw assets are placed in the uncompressed_assets folder. You can generate the compressed textures using the compressor utility in tools/compressor. You need to set up etc2comp and make it available on your PATH before running the script. Run this command to generate the compressed assets:

cd tools/compressor
npm install
npm run compress

Locale support

For more info on localization, how it works in the Wolvic XR project, and how to correctly edit localizable text in the application, please see our localization wiki page.

Development troubleshooting

Device supports , but APK only supports armeabi-v7a[...]

Enable USB Remote Debugging on the device.

Firefox > Web Developer > WebIDE > Performance gets stuck with greyed out "stop and show profile"

Restart Wolvic XR and close and re-open the WebIDE page.

Tool Windows > Build Variants list is empty

  1. If you're not on the latest version, update Android Studio from Android Studio > Check for Updates….
  2. Run File > Sync Project with Gradle Files.

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
  • You can use adb shell am start -a android.intent.action.VIEW -d "https://aframe.io" com.igalia.wolvic/com.igalia.wolvic.VRBrowserActivity to load a URL from the command line
  • You can use adb shell am start -a android.intent.action.VIEW -n com.igalia.wolvic/com.igalia.wolvic.VRBrowserActivity -e homepage "https://example.com" to override the homepage
  • You can use adb shell setprop debug.oculus.enableVideoCapture 1 to record a video on the Oculus Go. Remember to run adb shell setprop debug.oculus.enableVideoCapture 0 to stop recording the video.
    • You can also record videos on the Oculus Go by exiting to the system library, and from the Oculus tray menu (toggle with the Oculus button on the controller): Sharing > Record Video
  • You can set disableCrashRestart=true in the gradle user.properties to disable app relaunch on crash.

wolvic's People

Contributors

bittin avatar bluemarvin avatar cvan avatar daoshengmu avatar daron-walters avatar dependabot[bot] avatar duswnchl avatar elima avatar felipeerias avatar fred-wang avatar hollowman6 avatar hyowon-igalia avatar jaragunde avatar javifernandez avatar juanjosanchez avatar keianhzo avatar mortimergoro avatar mozilla-l10n-automation-bot avatar mshin-wolvic avatar myidshin avatar paulrouget avatar philip-lamb avatar pike avatar pmatos avatar svillar avatar takikawa avatar tiagovignatti avatar weblate avatar zakharvoit avatar ziransun avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

wolvic's Issues

Release Notes

Will you be publishing release notes for Wolvic? I'm especially interested in seeing progress on Web API implementation.

Obscura not detecting immersive-vr support/poor performance

Configuration

Wolvic version: 0.9
Wolvic build ID: d8f8501 (AC 63.0.0)

Hardware: Oculus Quest 2 v37

Steps to Reproduce

  1. Visit obscura.world from the Wolvic start page
  2. Observe that it does not detect VR support to enter the experience and stays on the 3D model
  3. Manually navigate to https://obscura.world/app to proceed to the experience and click Enter VR
  4. Observe very sub-optimal performance.

Current Behavior

Obscura does not detect immersive-vr capabilities and performs very poorly in the actual app.

Expected Behavior

Site should detect capability and perform at an optimal framerate similar to Meta Browser.

Possible Solution

I've determined that the reason it is not displaying the "Enter Experience" button on the homepage is due to a mobile user agent check by Obscura that appears to exclude all Android/mobile devices besides Oculus/Meta devices. I'll pass this along to the team members at Third Axis. I am unsure what is causing the poor performance. I would need to set up remote debugging and dig into it some more from there.

Consider updating Android Components to newly maintained versions

Hello!

In Android Components, there are features built for browsers that make it easier to build browsers and offer customization along the way. There have been many changes off late that give support for things like tabs, prompts, history, downloads which might be useful for your browser too. 🙂

In Reality, these components were used as well but have not been updated in a while. The wolvic is using version 63 and Android Components' latest release is on 96.

You can find the code here: https://github.com/mozilla-mobile/android-components/

Here are a list of browsers that are using them extensively which are good references:

There are folks available on the Matrix channel as well: https://chat.mozilla.org/#/room/#android-components:mozilla.org

Not Starting on Oculus Go

Configuration

Wolvic version: 0.9.3
Wolvic build ID: Cannot obtain, can't launch the app.

Hardware: Oculus Go 64GB

Steps to Reproduce

  1. Open Wolvic Browser on Oculus Go

Current Behavior

Browser Gives a popup stating that the latest version of Oculus software is required

Expected Behavior

Launch the browser

Possible Solution

Update app to remove the version check

Context

Enable Multitasking mode

Allow the wolvic browser to be used instead of oculus browser when multitasking side by side with other apps simultaneously.

navigator.xr.isSessionSupported('immersive-vr') is returning false

Configuration

Wolvic version: 0.9.3
Wolvic build ID: f64d1ac

Hardware: Quest 2 v37

Steps to Reproduce

  1. Navigate to https://immersive-web.github.io/webxr-samples/immersive-vr-session.html
  2. Observe that the Enter VR button is not enabled

Current Behavior

navigator.xr.isSessionSupported('immersive-vr') is returning false

Expected Behavior

navigator.xr.isSessionSupported('immersive-vr') should return true

Possible Solution

Context

I built from main (oculusvrArm64Debug) since I wanted to see if the recent PR fixed #43, but when I went to go test on the WebXR Samples page I'm not able to enter VR. I took a screenshot of the console from a remote debugging session.

Error Logs and Stack Traces

Saving and loading don't work in Brushworkvr app

Configuration

Wolvic version: 0.9.5
Wolvic build ID: f967856 (AC 63.0.0)
Hardware: Oculus Quest 2

Steps to Reproduce

  1. Navigate to https://brushworkvr.com/ and enter VR.
  2. Save current painting under any name.
  3. Close the tab or window.
  4. Open again https://brushworkvr.com/ and try to load previously saved painting.

Current Behavior

Cannot load previous painting. The list is empty.

Expected Behavior

The previous painting is listed and can be loaded again.

Comments

Works fine on Oculus Browser.

No mic button in the Keyboard for HVR build

Configuration

Wolvic version:
Wolvic build ID: 0.9.3

Hardware: Huawei VR Glass 6DoF

Steps to Reproduce

  1. Go Wolvic Settings and Privacy
  2. Enable Microphone settings and observe the browser app restarting
  3. Try to type in a URL using the keyboard, notice that the Mic button is not visible (It is visible in the Oculus build)

Current Behavior

Expected Behavior

Possible Solution

Context

Error Logs and Stack Traces

https://raw-emotions.phoria.com.au only show "Enter VR" with the Oculus Browser

Context

Several web applications out there are filtering the contents based on the User Agent (UA). That has been a common (and very bad) practice in the 2D web that it's being exported to the immersive Web.

Ideally we should first try to reach the server side folks to ask them to use a different way to identify the browser. If we get no answer in a reasonable amount of time we could always fallback to using specific user agent quirks (or overrides in Wolvic terminology) to fake the server.

Use (or give option to) higher screen refresh rate on Oculus Quest

Configuration

Wolvic version: 0.9.3
Wolvic build ID: 9fd0771

Hardware: Oculus Quest 2

Steps to Reproduce

  1. Open dominantly bright webpage (like google.com) in Wolvic

Current Behavior

You can notice subtle flickering on white background due to low screen refresh rate

Expected Behavior

Wolvic uses (or at least gives an option to) higher (at least 90 Hz) screen refresh rate like other Quest apps

Context

Due to mentioned subtle flickering on bright backgrounds, eyes are getting irritated quite quickly

A blue line appears in the middle of the screen.

Configuration

Wolvic version: 0.9.3
Wolvic build ID:

Hardware: huawei vr glass 6dof

Steps to Reproduce

  1. open wolvic
  2. open a 6dof game:moon rider

Current Behavior

A blue line appears in the middle of the screen.

Expected Behavior

Possible Solution

Context

Error Logs and Stack Traces

[OpenXR] When headset tracking is off, windows appear at "ground" level (Oculus)

Configuration

Wolvic version: 0.95
Hardware: Oculus Quest 2

Steps to Reproduce

  1. Go to Settings > System > Headset Tracking and turn it off.
  2. Launch Wolvic.

Current Behavior

The application windows appear very low in the 3D world, like they are on the "ground".

Sometimes this bug also happens when the setting is ON. My suspicion is that in those cases headset tracking was not working well for some reason (e.g. when holding the headset with your hand, you might accidentally cover the cameras used for tracking).

Expected Behavior

Windows appear at eye level.

When headset tracking is off, other applications display their windows at eye level. The main difference is that without tracking, the image does not change when you move your head/body around the room.

Browser Extensions

Would be nice to support browser extensions. Most large websites aren't likely to add WebXR content themselves anytime soon, so enabling developers to add WebXR capabilities to these sites through extensions could be the next best thing

Blocking in WebXR; Need support for Origin-Agent-Cluster for multi-thread/process iframes

Configuration

Wolvic version: 0.9.4
Wolvic build ID: AppLab build

Hardware: Oculus Quest 2 - v37

Steps to Reproduce

  1. Create a WebXR application
  2. Create an iframe with a CPU intensive background task
  3. Witness the blocking that occurs. Modern browsers offer support for multi-thread/process iframes.

Current Behavior

Modern chromium based web browsers honor the Origin-Agent-Cluster response header. This feature was originally proposed by Mozilla and implemented in Chrome. Oculus Quest's native browser supports the feature; but has now changed to make it the default regardless of the response header. Wolvic does not offer the ability at all. For a video of the behavior in Oculus' browser (not blocking vs blocking) please see: https://youtu.be/V0i9CKdIV-g

Wolvic currently suffers from the same hiccups; although not quite as bad. Still not as smooth as the latest Oculus/Meta's native browser. For more details and examples visit this thread:
https://forum.playcanvas.com/t/solved-multi-threaded-operations-in-webxr-editor-vs-published

Expected Behavior

WebXR applications can be very demanding. By allowing Origin-Agent-Cluster behavior or by defaulting to allow mutli-thread/process abilities in iframes; web developers can unlock more processor cores in their applications to perform VoIP, background rendering, etc. within their WebXR applications. Please bring support to Wolvic! :)

Possible Solution

For implementation details; please see https://web.dev/origin-agent-cluster/

Context

WebXR based apps that rival native applications on standalone devices are becoming more prevalent; however performance and platform independence is not guaranteed. To prevent vendor lock-in; we'd like to see an open source alternative to the native browser offered by Meta to ensure viability of a third-party browser alternatives. Basic performance and feature parity is needed. Since Wolvic can offer a browser that can be made available across platforms and hardware; having core compatibility is ideal.

Error Logs and Stack Traces

Please see video and message thread for details.

Oculus Go APK Please

Hardware

Oculus Go

Steps to Reproduce

  1. Not reporting a bug but rather asking for help in please continuing to support the Oculus Go and preventing it becoming prematurely obsolete hardware. The oculus store does not update the store for oculus go leaving us locked in a situation where we have software that becomes outdated and no longer functions - with changes in servers used - be it amazone prime video, or other.
  2. Please allow at least it to have a decent browser without having to get rid of the paid for software by making it a blank android version. I side loaded Firefox reality 2020 andit works but has bugs such as constantly reloading the environmental fle when changing it, and still no voice recognition. Please make available APKs which can be sideloaded by SideQuest for the Oculus Go without having to log into a store and keep good hardware functioning for longer, avoiding unnecessary obsolescene and environmental waste as well as a lot of unnecessary expense.

Current Behavior

Expected Behavior

Possible Solution

Context

Error Logs and Stack Traces

Rolling head in immersive mode causes scene to deform a bit

Configuration

Wolvic version: 0.9.5
Wolvic build ID: f967856 (AC 63.0.0)
Hardware: Oculus Quest 2

Steps to Reproduce

  1. Open any immersive VR content in Wolvic (e.g, https://moonrider.xyz/)
  2. Roll you head left and right (in the Roll axis, ears trying to touch shoulders).

Current Behavior

The entire scene wobbles a bit, proportionality and shape of objects deform (e.g, a rectangular button becomes a rhomboid); causing a sub-optimal experience.

Expected Behavior

The proportions and shape of objects in the scene are maintained.

Comments

Oculus Browser doesn't show this behavior.

Developer experimental setting to allow .xpi installation

Is your feature request related to a problem? Please describe.
Currently only Firefox recommended addons are installable.

Describe the solution you'd like
Provide a setting to allow the installation of .xpi directly or after download.

Describe alternatives you've considered
Building the browser back with a custom list of recommendations pointing to my own addons with their xpis.

New Matrix channel?

Firefox Reality had its own Matrix channel at #fxr:mozilla.org. Will Igalia host a similar room for Wolvic?

Environments for video full screen mode

Is your feature request related to a problem? Please describe.
I would enjoy being able to watch streaming videos (e.g. on Netflix or Disney Plus) in a theater, with a similar experience to Virtual Desktop or BigScreen.

Describe the solution you'd like
It would be nice to have a separate selection of environments that full-screening a video automatically switches to.
E.g. "Home Theater" for a home theater environment, that only gets used when watching a video.

Describe alternatives you've considered
Theater environments as additions to the environment list. But then the user would need to switch back and forth between that and an environment where text is more readable, which is inconvenient.

Some frames are abnormal. the two frames partially overlap.

Configuration

Wolvic version: 0.9.3
Wolvic build ID:

Hardware: Huawei VR Glass 6dof

Steps to Reproduce

  1. open wolvic,in the home page

Current Behavior

Expected Behavior

please see the picture and video below.

Possible Solution

Context

Error Logs and Stack Traces

![Screenshot_20220311_100102_com huawei videoeditor](https://user-images.githubusercontent.com/86649949/157791929-c30683df-8d07-40ac-8a82-c1641f5232ba.jpg)

Pico Neo3 prebuilt APK

Hi Guys,
Would you consider provide prebuilt APK that is compatible with Pico devices? Currently there's only Huawei & Quest build in the release page.

Only 6dof controller move out the security zone,There's no warning,the security fence was not displayed.

Configuration

Wolvic version: 0.9.3
Wolvic build ID:

Hardware: huawei vr glass 6dof

Steps to Reproduce

  1. enter the Wolvic, Go to the home page.
    2.then the 6dof controller move out the security zone , the head position still in the security zone.

Current Behavior

There's no warning that the controller is out of the security zone, the security fence was not displayed.

Expected Behavior

The security fence should be displayed to remind the user that the security zone is out.

Possible Solution

Context

Error Logs and Stack Traces

Custom Animated or more user friendly environments

Is your feature request related to a problem? Please describe.
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
A working guide (or easy to use video) on how to create and load custom environments. Even better if they could be animated to allow for a more immersive experience and easily installed within the browser.

Describe the solution you'd like
A clear and concise description of what you want to happen.
Up to date and user friendly way of creating and importing custom environments. Kudos if the environments can be animated instead of static. Or a central way (similar to installing add-ons) to try different skins and environments without custom loading.

Describe alternatives you've considered
A clear and concise description of any alternative solutions or features you've considered.

Additional context
Add any other context or screenshots about the feature request here.

Bad distortion in several projects

Configuration

Wolvic version: 0.9.4
Wolvic build ID: 741e507 (AC 63.0.0)

Hardware: Oculus Quest 2

Steps to Reproduce

  1. Visit and enter VR in any of the following sites:
  2. https://spiderman.webvr.link/
  3. https://aframe.io/examples/showcase/helloworld/
  4. https://mixedreality.mozilla.org/hello-webxr/

Current Behavior

There is a bad distortion, especially notable when rolling head left and right (instead of turning left/right or looking up/down)

Expected Behavior

There should be a comfortable VR experience

Possible Solution

I wonder if Wolvic is providing the proper projection matrices.

Or these projects could have a bug. Spiderman seems to be based on A-Frame, although Hello WebXR looks unrelated to A-Frame (I may be mistaken)

Context

Error Logs and Stack Traces

Wolvic is still using touch-v2 controller models for Quest 2

Configuration

Wolvic version: 0.9
Wolvic build ID: d8f8501 (AC 63.0.0)

Hardware: Oculus Quest 2 v37

Steps to Reproduce

  1. Start Wolvic on Quest 2
  2. Observe that it is still using touch-v2 controller models

Current Behavior

App is using touch-v2 models.

Expected Behavior

App should be updated to use touch-v3 models .

quest 2/oculus mouse support

Is your feature request related to a problem? Please describe.
The mouse can't be used in the firefox reality

Describe the solution you'd like
Implement mouse.

Describe alternatives you've considered
using oculus browser

Additional context
I believe it use to be the case that you can't use mouse in full screen apps, judging by how full screen alerts required controller input. Now they don't so I take it firefox should have mouse support.

Standalone VR Browser for Linux OS

Is your feature request related to a problem? Please describe.

There is no WebXR alternatives for Linux and especially none for standard Linux OS based headsets. This means no Linux (Android is a different platform) based headsets can run XR browsers.

Describe the solution you'd like
Is a standard VR browser for PopOS linux out of scope?

Would like to test wolvic on my Popos Linux for debugging purposes at least.

Describe alternatives you've considered
There is no WebXR alternative for Linux.

Additional context
Valve Software says paraphrased although the Steam Deck can run the Valve Index it is not supported. However, that means they confirmed it is possible to run as a standalone OpenXR device.

Ability to play Youtube videos over 4K quality in both regular and VR180/360

Is your feature request related to a problem? Please describe.
When trying to play videos that are over 4K video quality (5K, 8K, etc) the video barely moves but the audio works fine (800+MB speeds with Wifi-6) not sure if related to a problem as Firefox Reality was unable to do the same thing.

Describe the solution you'd like
Ability to playback Youtube videos with quality over 4K as either a flat video or VR180/360 for higher quality immersion like you can do on other devices.

Describe alternatives you've considered
Running at only 4K resolution.

Additional context
Search for any content on Youtube that has over 4K quality (5K, 6K, 8K, 12K, etc) and the video will be unable to play smoothly in regular format, VR180/360.

New browser engine moving forward?

Given that Mozilla has no stated plans regarding continued work on the WebXR implementation in Gecko, does Igalia plan to continue work on it and continue using GeckoView, or will we be seeing more work done to integrate WPEView instead, such as in this demo by Fernando Jiménez?

I've tried to replicate the demo myself but the build steps in the wpe-android repo no longer seem to function as described in the readme. The binaries are hosted on Igalia's cloud server, which I do not have access to, and the recipes Cerbero is using to build Webkit WPE also seem to have issues (even with modifications I cannot get past building icu without failing at the 'configure' step).

Wolvic version: 0.9.3 & SDK version 3.5.0.76 (the latest commercial version ) Mismatch,6dof controller-related issues

Configuration

Wolvic version: 0.9.3
Wolvic build ID:

Hardware: huawei vr glass 6dof & SDK version 3.5.0.76 (the latest commercial version )

Steps to Reproduce

Current Behavior

1、The left and right handles are reversed,
2、and some keys, such as the remote lever key and left handle function key, are unavailable.

Expected Behavior

Possible Solution

Context

Error Logs and Stack Traces

Oculus OpenXR build positions controllers incorrectly

Configuration

Wolvic version: 0.9.3
Wolvic build ID: 9fd0771

Hardware: Quest 2 v37

Steps to Reproduce

  1. Launch app built with OpenXR enabled
  2. Observe that controllers are positioned incorrectly

Current Behavior

Controllers are not positioned where my real life controllers are

Expected Behavior

They should be positioned correctly

Possible Solution

It appears that the controllers are being positioned at the aim pose instead of the grip pose for some reason. I'm unsure if this is an issue with the app itself or with one of the OpenXR SDKs.

Context

Using the Oculus OpenXR Mobile SDK v37 and the OpenXR-SDK files from master.

Unable to enter VR on custom Hubs Cloud instances but works on official Hubs

Configuration

Wolvic version: 0.9
Wolvic build ID: d8f8501 (AC 63.0.0)

Hardware: Quest 1

Steps to Reproduce

  1. visit https://hub.vreign.space/
  2. create room
  3. accept microphone sharing
  4. enter VR

Current Behavior

Impossible to enter immersive mode

Expected Behavior

Enter immersive mode, like on hubs.mozilla.com

Possible Solution

This might be due to WebVR vs WebXR and a difference between Hubs vs Hubs Cloud. If I remember correctly there was a bit of a rush when WebXR only became available on the Quest browser. Maybe some added compatibility was added, either in FFxR directly or in Hubs but not Hubs Cloud or vice versa.

Context

Error Logs and Stack Traces

com igalia wolvic-20220203-002250

com igalia wolvic-20220203-002221

Youtube Slow Script Error

Slow Script Error

A web page is slowing down your browser (moz-extension://5427dfe7-ef62-49ca-aee3-5b4add9f6dfe/inject/index.js). What would you like to do?

STOP IT or WAIT

Configuration

Wolvic version: 0.9.4
Wolvic build ID: 2/14/2022 (Release Date)

Hardware: Oculus Quest 2 Software/Runtime v37

Steps to Reproduce

  1. Install all add-ons available (uBlock Origin (enable and update all non region lists), Privacy Badger, Dark Reader, HTTPS Everywhere, NoScript Security Suite, Privacy Possum)
  2. Enter Private Browsing
  3. Go to Youtube.com and starts to slow/get Slow Script Error
  4. Tried on both Desktop Mode and non-Desktop Mode

Current Behavior

-Not smooth and website really slows down either add-ons are not optimized or something else is wrong

Expected Behavior

-Youtube should load smoothly like it would on any other device

Possible Solution

-One of the add-ons listed above is not optimized and causing errors

Context

-Same issue on Firefox Reality. Was trying to browse Youtube with non quest 2 browser to enjoy fully immersive VR180/360 videos.

Error Logs and Stack Traces

Battery level for controllers is not displayed in HVR build

Configuration

Wolvic version:
Wolvic build ID: 0.9.3

Hardware: Huawei VR Glass 6DoF

Steps to Reproduce

  1. Open the Wolvic Browser
  2. Observe the menu on the bottom of the screen. You can see SSID and battery level for headset but not for the controllers
  3. Leave the Wolvic browser and check the VR Home screen. Here you can see the battery level for the Left and Right controller

Current Behavior

Expected Behavior

Possible Solution

Context

Error Logs and Stack Traces

Moved out of the security zone and re-entered, wolvic has automatically exited

Configuration

Wolvic version: 0.9.3
Wolvic build ID:

Hardware: huawei vr glass 6dof

Steps to Reproduce

  1. enter the Wolvic, Go to the home page or open a VR application to enter the VR mode.
  2. then walking exit the security zone( the head position out of the security zone ) ,
  3. then the vr glass enter the VST(video see through ) mode ;
  4. walking back and enter the security zone again, the VR Glass enter the VR mode.

Current Behavior

1,wolvic has automatically exited;

Expected Behavior

still go to wolvic, and the previously visited page remains the same.

Possible Solution

Context

Error Logs and Stack Traces

open a vr game,but Enter the giant screen mode instead of the VR mode.

Configuration

Wolvic version: 0.9.3
Wolvic build ID:

Hardware: huawei vr glass 6dof

Steps to Reproduce

  1. open wolvic
  2. open a 6dof game and click to enter VR mode : moon rider
  3. VR Mode runs OK
  4. press the "home" button of the right controller,enter the huawei vr glass launcher
  5. open wolvic again, wolvic run gain
  6. open a vr game(moon rider),but Enter the giant screen mode instead of the VR mode.

Current Behavior

Enter the giant screen mode instead of the VR mode.

Expected Behavior

Possible Solution

Context

Error Logs and Stack Traces

The VR picture blinks

Configuration

Wolvic version: 0.9.3
Wolvic build ID:

Hardware: HUAWEI VR Glass 6dof

Steps to Reproduce

Current Behavior

Blinking: On a normally displayed screen, there is a possibility that a picture is displayed, and the content is the same as that already displayed.

Expected Behavior

Possible Solution

Context

Error Logs and Stack Traces

Add missing proguard rules in HVR flavor

Steps to Reproduce

  1. Create a release version of Wolvic for HVR with minifyEnabled = true
  2. Application doesn't launch correctly
  3. Create a release version of Wolvic for HVR with minifyEnabled = false
  4. Application launches correctly

Possible Solution

Add missing proguard rules specific for HVR

Context

Error Logs and Stack Traces

Video played upsidedown in Oculus' OpenXR build

Configuration

Wolvic version: ToT
Wolvic build: OpenXR backend

Hardware: Oculus Quest2

Steps to Reproduce

  1. Open a 360º video from youtube

Current Behavior

Video is played upside down

Expected Behavior

Video is played correctly

Run moon rider , There is a possibility that the image is frozen when the block wall appears(with a high probability).

Configuration

Wolvic version: 0.9.3
Wolvic build ID:

Hardware: huawei vr glass 6dof + mate40pro(kirin 9000 chipset)

Steps to Reproduce

1.open wolvic and enter moon rider
2. chose the classic mode, chose the song: beat it - Michael Jackson
3. When the block wall appears, the picture freezes (with a high probability), but the sound is normal. The 6dof controller buttons can be used.

Current Behavior

  1. chose the classic mode, chose the song: beat it - Michael Jackson
  2. When the block wall appears, the picture freezes (with a high probability), but the sound is normal. The 6dof controller buttons can be used.

Expected Behavior

Possible Solution

Context

You can confirm that the phone is not overheating.

Error Logs and Stack Traces

No trackpad support on Quest

Is your feature request related to a problem? Please describe.
I use Apple Magic TrackPad with Quest 2. It works in the default browser, but not in Wolvic

Describe the solution you'd like
A cursor controlled by the trackpad, just like in the default browser

Settings links need updates

Affects 0.9.5

When you click the settings gear, there are several things which are basically links: Whats new, send us your feedback and help. Currently all just point to the Wolvic home page. That's kind of actively not helpful.

  • What's new would ideally point to a nice release post geared at end users and linking to release notes. While we probably can't do that for now, in the very least release notes, even if that is just in a wiki or gh readme.
  • we don't have a feedback form but maybe send us your feedback could go to https://github.com/Igalia/wolvic/issues or mailto:[email protected]
  • help needs to point ... somewhere, I guess the best place is here for now?

Hardware: Oculus Quest 2, but probably all

Steps to Reproduce

Current Behavior

Expected Behavior

Possible Solution

Context

Error Logs and Stack Traces

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.