alvr-org / ALVR

Stream VR games from your PC to your headset via Wi-Fi
MIT License
5.3k stars 474 forks source link

Last nightly build does not work on Quest 2 #1507

Closed mittorn closed 1 year ago

mittorn commented 1 year ago
03-11 21:44:08.328  2847  3015 D VrApi   : targetSDKVersion 29
03-11 21:44:08.331  5157  5157 F DEBUG   : *** *** *** *** *** *** *** *** *** *** *** *** *** *** *** ***
03-11 21:44:08.331  5157  5157 F DEBUG   : Build fingerprint: 'oculus/hollywood/hollywood:10/QQ3A.200805.001/24721900527300000:user/release-keys'
03-11 21:44:08.331  5157  5157 F DEBUG   : Revision: '0'
03-11 21:44:08.331  5157  5157 F DEBUG   : ABI: 'arm64'
03-11 21:44:08.331  5157  5157 F DEBUG   : Timestamp: 2023-03-11 21:44:08+0300
03-11 21:44:08.331  5157  5157 F DEBUG   : pid: 5114, tid: 5141, name: Thread-2  >>> alvr.client <<<
03-11 21:44:08.331  5157  5157 F DEBUG   : uid: 10125
03-11 21:44:08.331  5157  5157 F DEBUG   : signal 6 (SIGABRT), code -1 (SI_QUEUE), fault addr --------
03-11 21:44:08.331  5157  5157 F DEBUG   : Abort message: 'Unknown device to support: cambria'
03-11 21:44:08.331  5157  5157 F DEBUG   :     x0  0000000000000000  x1  0000000000001415  x2  0000000000000006  x3  0000007a4858bac0
03-11 21:44:08.331  5157  5157 F DEBUG   :     x4  ff736d64686b4264  x5  ff736d64686b4264  x6  ff736d64686b4264  x7  7f7f7f7f7f7f7f7f
03-11 21:44:08.331  5157  5157 F DEBUG   :     x8  00000000000000f0  x9  295f02d81ecd128e  x10 0000000000000001  x11 0000000000000000
03-11 21:44:08.331  5157  5157 F DEBUG   :     x12 fffffff0fffffbdf  x13 0000000000000023  x14 0000000000000004  x15 ffffffffffffffff
03-11 21:44:08.331  5157  5157 F DEBUG   :     x16 0000007b2f861140  x17 0000007b2f844b00  x18 0000007a47bce000  x19 00000000000013fa
03-11 21:44:08.331  5157  5157 F DEBUG   :     x20 0000000000001415  x21 00000000ffffffff  x22 0000007a46280bd4  x23 0000007a4858f020
03-11 21:44:08.331  5157  5157 F DEBUG   :     x24 0000007a4858c208  x25 0000007a4858c329  x26 0000007a4858c318  x27 0000007a9c9ec2a8
03-11 21:44:08.331  5157  5157 F DEBUG   :     x28 0000007a463f4880  x29 0000007a4858bb40
03-11 21:44:08.331  5157  5157 F DEBUG   :     sp  0000007a4858baa0  lr  0000007b2f801c3c  pc  0000007b2f801c68
03-11 21:44:08.334  1708  1708 D OculusNotificationListenerService: Notification removed: 0|android|0|com.android.server.wm.AlertWindowNotification - com.oculus.vrshell|1000
03-11 21:44:08.334  5157  5157 F DEBUG   :
03-11 21:44:08.334  5157  5157 F DEBUG   : backtrace:
03-11 21:44:08.334  5157  5157 F DEBUG   :       #00 pc 0000000000081c68  /apex/com.android.runtime/lib64/bionic/libc.so (abort+160) (BuildId: a6e0ca3a9989715134d1d1e2126e0f7a)
03-11 21:44:08.334  5157  5157 F DEBUG   :       #01 pc 0000000000008ca8  /system/lib64/liblog.so (__android_log_buf_vassert(int, char const*, char const*, char const*, std::__va_list)+260) (BuildId: de975b268c90e2049e1c408d1dd5705e)
03-11 21:44:08.334  5157  5157 F DEBUG   :       #02 pc 0000000000008ba0  /system/lib64/liblog.so (__android_log_assert+100) (BuildId: de975b268c90e2049e1c408d1dd5705e)
03-11 21:44:08.334  5157  5157 F DEBUG   :       #03 pc 00000000001922e0  /system/priv-app/VrDriver/VrDriver.apk!libvrapiimpl.so (offset 0xee7000) (BuildId: 9c6534492bdd2543e57fc80773097c0fd8603602)
03-11 21:44:08.334  5157  5157 F DEBUG   :       #04 pc 00000000002b5f68  /system/priv-app/VrDriver/VrDriver.apk!libvrapiimpl.so (offset 0xee7000) (BuildId: 9c6534492bdd2543e57fc80773097c0fd8603602)
03-11 21:44:08.334  5157  5157 F DEBUG   :       #05 pc 00000000002b4708  /system/priv-app/VrDriver/VrDriver.apk!libvrapiimpl.so (offset 0xee7000) (BuildId: 9c6534492bdd2543e57fc80773097c0fd8603602)
03-11 21:44:08.334  5157  5157 F DEBUG   :       #06 pc 00000000001d38e0  /system/priv-app/VrDriver/VrDriver.apk!libvrapiimpl.so (offset 0xee7000) (BuildId: 9c6534492bdd2543e57fc80773097c0fd8603602)
03-11 21:44:08.334  5157  5157 F DEBUG   :       #07 pc 000000000011c02c  /data/app/alvr.client-r4fdXLRIFMJRQg6fSDyxSA==/lib/arm64/libalvr_client_openxr.so (alvr_client_openxr::entry_point::h021cdb45c6f53f4a+3796)

Where to get cambria to get it work???

zarik5 commented 1 year ago

This is very odd. Please delete ALVR (all installed versions), restart the headset, then reinstall the latest nightly.

mittorn commented 1 year ago

The reason is old openxr runtime in v38 firmware which knows nothing about cambria, but it is very odd that it aborts here. Removing cambria from AndroidManifest helped. Can it be worked around without disabling cambria support?

zarik5 commented 1 year ago

Any reason for using an old firmware? Keep in mind that we will update to the latest OpenXR loader at any time, which could break support on old firmwares.

mittorn commented 1 year ago

There are some account changes after 41/43 firmwares, so update may be dangerous/ It may result in data or dev account lose after oculus/meta account migration and much time to restore dev accout, etc, so i'm keeping updates disabled until buy second HMD, i just do not want to break working configuration. BTW API loader should be backward compatible until client request some unsupported extension and this error seems to be runtime bug

mittorn commented 1 year ago

Is restriction device support mandatory? Removing com.oculus.supportedDevices seems help too. It seems to be made to restrict supported devices, not advertise support

Another solution i found in godot: https://github.com/godotengine/godot/issues/71712

diff --git a/alvr/client_openxr/Cargo.toml b/alvr/client_openxr/Cargo.toml
index 821909c..01f30c5 100644
--- a/alvr/client_openxr/Cargo.toml
+++ b/alvr/client_openxr/Cargo.toml
@@ -106,7 +106,7 @@ name = "com.oculus.intent.category.VR"
 value = "vr_only"
 [[package.metadata.android.application.meta_data]]
 name = "com.oculus.supportedDevices"
-value = "quest|quest2|cambria"
+value = "all"
 [[package.metadata.android.application.meta_data]]
 name = "com.oculus.vr.focusaware"
 value = "true"
zarik5 commented 1 year ago

Cool, I guess this can be done. I'll make a patch

mittorn commented 1 year ago

Fixed in 42a414a2cac14da474579bd7b66cf5e05a4a631a

mittorn commented 1 year ago

Found a real reason to keep it on v38 firmware: keymappers are completely broken on v50 on other devices