Igalia / wolvic

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

Thumb stick reporting constant press on HTC Vive Focus 3 #384

Open mrjoshuaesmith opened 1 year ago

mrjoshuaesmith commented 1 year ago

Configuration

Wolvic version: 1.1 Wolvic build ID: 059d7268 (AC 63.0.0)

Hardware: HTC Vive Focus 3

Steps to Reproduce

  1. Visit any web page
  2. Try to scroll with the thumb stick

Current Behavior

It won't scroll

Expected Behavior

It should scroll

Possible Solution

We believe that it isn't scrolling because Wolvic is convince the thumbstick button is in the "pressed" state. We similarly see that state when we read the gamepad interface. Also, when entering VR for the first time, the page showing the controllers cannot be dismissed with a trigger pull. We believe this is probably caused by the same issue.

We see this on two different headsets, and it appears to affect both the left and right controller. This is using the very latest OS build from HTC.

Context

Error Logs and Stack Traces

``` ```
svillar commented 1 year ago

Thanks for reporting. Unfortunately we don't have direct control of what HTC releases. We are not a big team and currently we don't have available resources to devote to HTC devices, but will try to address it at some point.

mrjoshuaesmith commented 1 year ago

We can workaround the issue mostly ourselves, except for that screen you put up when the user first enters VR. There's no way to get past that other than pressing the B button and trying again. Could you either:

Since this is HTC's bug, I'll do a report to them as well, but they don't seem very responsive.

svillar commented 1 year ago

We can workaround the issue mostly ourselves, except for that screen you put up when the user first enters VR. There's no way to get past that other than pressing the B button and trying again. Could you either:

  • Update that screen so that it doesn't get confused by the thumbstick sending a "pressed" signal, or
  • Remember that it was shown on ANY previous run and not show it every time there's a fresh browser, or
  • Add an option to settings to suppress that screen from showing up?

Since this is HTC's bug, I'll do a report to them as well, but they don't seem very responsive.

Again, and please don't take me wrong, we'd love to fix bugs also in HTC devices, but we have to prioritize the ones affecting our partners first. It'd be awesome to have HTC as partner too but in the meantime, due to lack of resources, we cannot devote time to these bugs in the short term.

Definitely sending those reports to them as well makes sense.

BattleAxeVR commented 1 year ago

Hey there, I'm trying to get Wolvic to build on HTC Focus 3, mind if I ask which WaveSDK you're using? The latest, 5.1.1, doesn't build after I rename the .aar to thirdparty/wavesdk and copy the build.gradle file from extras. It's really odd, I'm getting "2 files found with path 'lib/arm64-v8a/libwvr_api.so'." error.

Any help you could give would be appreciated!

svillar commented 1 year ago

Hey there, I'm trying to get Wolvic to build on HTC Focus 3, mind if I ask which WaveSDK you're using? The latest, 5.1.1, doesn't build after I rename the .aar to thirdparty/wavesdk and copy the build.gradle file from extras. It's really odd, I'm getting "2 files found with path 'lib/arm64-v8a/libwvr_api.so'." error.

Any help you could give would be appreciated!

As you could see we weren't able to devote any time to maintain the WaveSDK since we took over. So basically it's using the same infrastructure that was inherited from FxR. As far as I can see in the third_party repo, the waveSDK used is 3.1.5 with version code 3001005.

BattleAxeVR commented 1 year ago

I don't have access to the third party repo, that's the problem. 3.1.6 is the closest version still available for the WaveSDK, so I hope it'll compile. Thanks.

BattleAxeVR commented 1 year ago

I used this SDK and it doesn't build.

image

svillar commented 1 year ago

I don't have access to the third party repo, that's the problem. 3.1.6 is the closest version still available for the WaveSDK, so I hope it'll compile. Thanks.

That repo must be kept private because it contains software that can only be downloaded after accepting an EULA. However it does not contain anything that anyone could not find in the internet. This is the structure of the code in the third_party repo for the wavesdk flavour, you should have something similar:

wavesdk git:(main) tree -L 3
.
├── build
│   └── wvr_client
│       ├── aidl
│       ├── AndroidManifest.xml
│       ├── anim
│       ├── arm64-v8a
│       ├── armeabi-v7a
│       ├── assets
│       ├── classes.jar
│       ├── com
│       ├── drawable
│       ├── drawable-xxxhdpi-v4
│       ├── include
│       ├── jni
│       ├── layout
│       ├── libs
│       ├── rendermodels
│       ├── res
│       ├── R.txt
│       ├── values
│       ├── values-ja-rJP
│       ├── values-zh-rCN
│       ├── values-zh-rTW
│       └── wavevr
├── build.gradle
├── wavesdk.iml
└── wvr_client.aar
BattleAxeVR commented 1 year ago

The 3.1.6 beta wave SDK is missing the wvr_ctrller_render_model.h header file so it can't be the right one

image

BattleAxeVR commented 1 year ago

These are all the downloadable versions from their website:

image

BattleAxeVR commented 1 year ago

3.2.0 compiles but then I get a linker problem:

image

BattleAxeVR commented 1 year ago

Forget it, nevermind I give up, this is too much

svillar commented 1 year ago

Forget it, nevermind I give up, this is too much

I'm sorry, we'd love to have time to devote to HTC devices, but unfortunately they don't seem very interested on supporting that work so far. Let's hope the best for the future.