Igalia / wolvic

A fast and secure browser for standalone virtual-reality and augmented-reality headsets.
https://wolvic.org
Mozilla Public License 2.0
758 stars 97 forks source link

Vive flow build guide? #530

Open dmikushin opened 1 year ago

dmikushin commented 1 year ago

Hello, thank you for all your hard work on Wolvic!

I have a difficulty following your instructions about building for HTC Vive.

  1. Firstly, this link in README -> VIVE Developer Resources <- refers to an empty WordPress site. What does it mean?
  2. Instruction states to download the VIVE Wave SDK, but it's not clear what to download: Unreal Engine, Unity, native SDK. Which one to download?
  3. VIVE website mentions the latest SDK is not supported on Vive Flow:

This version has a known issue NOT working on Vive Focus(+) and Vive Flow . Please use the previous version(5.0.3 or former) on these Vive devices. We are fixing this compatibility issue and target to fix in next SDK release.

However, the archive of older versions is empty. So how do you obtain Vive Wave SDK to compile Wolvic for Vive Flow?

svillar commented 1 year ago

So the situation with HTC devices is the following, currently there are no partners supporting the maintenance and development of the HTC port. This means that, given the scarce resources we have, we basically cannot maintain it. We're open to integrate external contributions if there are people willing to maintain it though.

PS: the SDK we use for any port is always the native one.

dmikushin commented 1 year ago

Hi @svillar , thank you for this explanation. Do you still have the build scripts for HTC devices, or CI or a Dockerfile? I understand that may not be maintained atm, but do they exist in principle?

svillar commented 1 year ago

Hi @svillar , thank you for this explanation. Do you still have the build scripts for HTC devices, or CI or a Dockerfile? I understand that may not be maintained atm, but do they exist in principle?

There is a flavour in gradle for the wavevr backend, but I insist is heavily unmaintained (I barely remember someone mentioning that it was only working with rather old WaveVR SDK releases)

dmikushin commented 1 year ago

Hi @svillar , I've install Wolvic on HTC Vive Flow just yesterday. Do you remember when was the last release of Wolvic for this platform?

svillar commented 1 year ago

Hi @svillar , I've install Wolvic on HTC Vive Flow just yesterday. Do you remember when was the last release of Wolvic for this platform?

We have never released Wolvic for HTC. You might try early versions of Wolvic 0.9.x, maybe they still work...

drewid commented 1 year ago

Hmm - interested in seeing if this can get picked up and made active by HTC. Will see what can be done.

blairmacintyre commented 9 months ago

HTC has the "Vive Browser" on the XR Elite, which looks like an old Firefox Reality. But you can also download Wolvic v 1.3.2 from March. If y'all aren't building this, is HTC?

I've been wanting to build Wolvic for a while, and just bought an XR Elite (used) to play with it. I'm really looking forward to seeing a Chromium-based web engine (or Webkit next year), hoping Meta has contributed some of the good work they did on the Meta browser into Chromium so you guys can leverage it

svillar commented 9 months ago

HTC has the "Vive Browser" on the XR Elite, which looks like an old Firefox Reality. But you can also download Wolvic v 1.3.2 from March. If y'all aren't building this, is HTC?

We are definitely not building anything for HTC. They haven't been interested in supporting the development of Wolvic so far, so we had to devote our scarce resources to the platforms of our partners.

I've been wanting to build Wolvic for a while, and just bought an XR Elite (used) to play with it. I'm really looking forward to seeing a Chromium-based web engine (or Webkit next year), hoping Meta has contributed some of the good work they did on the Meta browser into Chromium so you guys can leverage it

Patches are very welcomed :smile:

seichter commented 8 months ago

Hi there, I am basically at the same issue like @blairmacintyre toying around with an XR Elite. The instructions on the main/README.md mention as second step https://github.com/Igalia/wolvic-third-parties.git which seemingly doesn't exist? Are there any updated instruction which I have missed? Well, reading on cleared it for me. Please put upfront that these instructions are only for Igalia in-house.

azw413 commented 3 weeks ago

I managed to build the latest Wolvic 1.6.1 with WaveVR Native SDK 3.2.0 using the patched Gecko as described in the guide. Everything builds fine - after a few struggles. The issue that I have now is that on device the app crashes with

06-06 15:13:13.602 11260 11260 E AndroidRuntime: FATAL EXCEPTION: main
06-06 15:13:13.602 11260 11260 E AndroidRuntime: Process: com.igalia.wolvic.internal, PID: 11260
06-06 15:13:13.602 11260 11260 E AndroidRuntime: java.lang.NoClassDefFoundError: Failed resolution of: Lcom/htc/vr/core/VRCompositorManager$Listener;
06-06 15:13:13.602 11260 11260 E AndroidRuntime:    at com.htc.vr.sdk.VRActivity.<init>(SourceFile:4)
06-06 15:13:13.602 11260 11260 E AndroidRuntime:    at com.igalia.wolvic.PlatformActivity.<init>(SourceFile:1)
06-06 15:13:13.602 11260 11260 E AndroidRuntime:    at com.igalia.wolvic.VRBrowserActivity.<init>(SourceFile:1)

Looks like the wavevr SDK classes are missing from the dex files, any ideas what I might need to do to get it bundled correctly. I'm not really an Android developer but I have a rough idea. Thanks

svillar commented 3 weeks ago

Not really. Is that a release build? If so maybe there are proguard rules preventing some symbols from being accessible

azw413 commented 3 weeks ago

It was a release build and that was a good suggestion but com.htc.* is already excluded in the proguard file. It's also the same error on a Debug build. I notice that I need to be building the wavevrStore version which appears to have the correct icon size for the Viveport library. Incidentally for anybody following in my footsteps, I could only get Gecko to build locally (required for WebXR patches) on an Intel Linux machine and not on a M1 Mac.

azw413 commented 3 weeks ago

I got a little further and have successfully built Wolvic 1.6.1 with wavesdk 4.5.0 and it deploys and runs! However, there's no input so you can't interact with the app. I had a quick look through the code and can't see anything obviously missing, just wondered if anybody else might have any idea what to look at.