Tamarin 2: OpenXR for Virtual realily

that helped. I see floating text and it doesn’t crash.

Thats good to know that its purely an action problem

how would I ensure that steamVR is used ? add the testbed as a non steam game to steam, open the steamVR environment and run it from there?

If steamVR is installed and running (SteamVR is a free application that can be installed via steam) then started (if on windows if can be started from right click on the steam icon in the System Tray). If steamVR is running (and oculus rift runtime isn’t) then the testbed should boot up in SteamVR when launched from intelliJ or similar. But I use Virtual Desktop and a Quest 2 so might be different

Edit; reading your next message I think you may have already know some of that, sorry if you did

tried closing the oculus software, starting steamvr, then running the testbed via steam.
that just reopened the oculus window and the testbed exited as soon as I put on the hmd.
I don’t think you can use VR without it going through the Oculus stack on a CV1 (not regularly anyway).

You could redirect logging and system.out to files by adding this to the top of Main (there are neater ways with log4j2 but this will do)

static {
    File logsDir = new File(System.getProperty("user.home") + "/TamarinTestBed");
    logsDir.mkdirs();
    try{
        FileHandler fh = new FileHandler(logsDir + "/logs.log");
        Logger.getLogger("").addHandler(fh);
        fh.setFormatter(new SimpleFormatter());
    }catch (Exception e) {
        throw new RuntimeException(e);
    }

    Thread.setDefaultUncaughtExceptionHandler((t, e) -> Logger.getLogger(Main.class.getName()).log(Level.SEVERE, "Uncaught exception in thread '" + t.getName() + "': ", e));
    try{
        FileOutputStream fos = new FileOutputStream(logsDir + "/system.out.txt");
        PrintStream ps = new PrintStream(fos);
        System.setOut(ps);
    }catch (Exception e) {
        throw new RuntimeException(e);
    }
    try{
        FileOutputStream fos = new FileOutputStream(logsDir + "/system.error.txt");
        PrintStream ps = new PrintStream(fos);
        System.setErr(ps);
    }catch (Exception e) {
        throw new RuntimeException(e);
    }
}

Although I fear it will confirm that a SteamVR launched version crashes in the same way

I’ve opened a thread on the Khronos OpenXR forum. Hopefully they will have some incite into this.

Hm yeah same XR_ERROR_VALIDATION_FAILURE when running via SteamVR

Nov. 13, 2023 12:20:01 AM com.jme3.system.JmeDesktopSystem initialize
INFORMATION: Running on jMonkeyEngine 3.6.1-stable
 * Branch: HEAD
 * Git Hash: 4de10c3
 * Build Date: 2023-06-23
Nov. 13, 2023 12:20:02 AM com.jme3.system.lwjgl.LwjglContext printContextInitInfo
INFORMATION: LWJGL 3.3.2-snapshot context running on thread jME3 Main
 * Graphics Adapter: GLFW 3.4.0 Win32 WGL Null EGL OSMesa VisualC DLL
Nov. 13, 2023 12:20:02 AM com.jme3.renderer.opengl.GLRenderer loadCapabilitiesCommon
INFORMATION: OpenGL Renderer Information
 * Vendor: NVIDIA Corporation
 * Renderer: NVIDIA GeForce GTX 1070/PCIe/SSE2
 * OpenGL Version: 4.5.0 NVIDIA 536.23
 * GLSL Version: 4.50 NVIDIA
 * Profile: Core
Nov. 13, 2023 12:20:02 AM com.jme3.audio.openal.ALAudioRenderer initOpenAL
INFORMATION: Audio Renderer Information
 * Device: OpenAL Soft
 * Vendor: OpenAL Community
 * Renderer: OpenAL Soft
 * Version: 1.1 ALSOFT 1.23.0
 * Supported channels: 64
 * ALC extensions: ALC_ENUMERATE_ALL_EXT ALC_ENUMERATION_EXT ALC_EXT_CAPTURE ALC_EXT_DEDICATED ALC_EXT_disconnect ALC_EXT_EFX ALC_EXT_thread_local_context ALC_SOFT_device_clock ALC_SOFT_HRTF ALC_SOFT_loopback ALC_SOFT_loopback_bformat ALC_SOFT_output_limiter ALC_SOFT_output_mode ALC_SOFT_pause_device ALC_SOFT_reopen_device
 * AL extensions: AL_EXT_ALAW AL_EXT_BFORMAT AL_EXT_DOUBLE AL_EXT_EXPONENT_DISTANCE AL_EXT_FLOAT32 AL_EXT_IMA4 AL_EXT_LINEAR_DISTANCE AL_EXT_MCFORMATS AL_EXT_MULAW AL_EXT_MULAW_BFORMAT AL_EXT_MULAW_MCFORMATS AL_EXT_OFFSET AL_EXT_source_distance_model AL_EXT_SOURCE_RADIUS AL_EXT_STEREO_ANGLES AL_LOKI_quadriphonic AL_SOFT_bformat_ex AL_SOFTX_bformat_hoa AL_SOFT_block_alignment AL_SOFT_callback_buffer AL_SOFTX_convolution_reverb AL_SOFT_deferred_updates AL_SOFT_direct_channels AL_SOFT_direct_channels_remix AL_SOFT_effect_target AL_SOFT_events AL_SOFT_gain_clamp_ex AL_SOFTX_hold_on_disconnect AL_SOFT_loop_points AL_SOFTX_map_buffer AL_SOFT_MSADPCM AL_SOFT_source_latency AL_SOFT_source_length AL_SOFT_source_resampler AL_SOFT_source_spatialize AL_SOFTX_source_start_delay AL_SOFT_UHJ
Nov. 13, 2023 12:20:02 AM com.jme3.audio.openal.ALAudioRenderer initOpenAL
INFORMATION: Audio effect extension version: 1.0
Nov. 13, 2023 12:20:02 AM com.jme3.audio.openal.ALAudioRenderer initOpenAL
INFORMATION: Audio max auxiliary sends: 2
Nov. 13, 2023 12:20:05 AM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager makeLayersCheck
INFORMATION: XR core validation not available
Nov. 13, 2023 12:20:05 AM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager createOpenXRInstance
WARNUNG: OpenXR extension XR_EXT_hand_tracking NOT loaded
Nov. 13, 2023 12:20:05 AM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager createOpenXRInstance
WARNUNG: OpenXR extension XR_KHR_binding_modification NOT loaded
Nov. 13, 2023 12:20:05 AM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager createOpenXRInstance
WARNUNG: OpenXR extension XR_MNDX_egl_enable NOT loaded
Nov. 13, 2023 12:20:05 AM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager createOpenXRInstance
WARNUNG: OpenXR extension XR_EXT_dpad_binding NOT loaded
Nov. 13, 2023 12:20:05 AM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager initializeAndBindOpenGL
INFORMATION: The OpenXR runtime supports OpenGL 4.0 to OpenGL 4.6
Nov. 13, 2023 12:20:05 AM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager initializeAndBindOpenGL
INFORMATION: OpenXR debug utils enabled
Nov. 13, 2023 12:20:05 AM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager createXRSwapchains
INFORMATION: Selected colour format 32856 from options [32856, 33189, 34843, 35056, 35898, 35907, 36012, 36013]
Nov. 13, 2023 12:20:05 AM com.jme3.anim.SkinningControl controlRender
INFORMATION: Hardware skinning engaged for Armature (Node)
Nov. 13, 2023 12:20:05 AM com.jme3.anim.SkinningControl controlRender
INFORMATION: Hardware skinning engaged for Armature (Node)
Nov. 13, 2023 12:20:06 AM example.Main lambda$simpleInitApp$2
INFORMATION: System is: Oculus Rift CV1
Nov. 13, 2023 12:20:06 AM com.onemillionworlds.tamarin.actions.OpenXrActionState registerActions
INFORMATION: Registering manifest
Nov. 13, 2023 12:20:06 AM com.jme3.app.LegacyApplication handleError
SCHWERWIEGEND: Uncaught exception thrown in Thread[jME3 Main,5,main]
com.onemillionworlds.tamarin.openxr.OpenXrSessionManager$OpenXrException: XR_ERROR_VALIDATION_FAILURE Context: Creating action set main (Main Actions) p:1
	at com.onemillionworlds.tamarin.openxr.OpenXrSessionManager.checkResponseCode(OpenXrSessionManager.java:891)
	at com.onemillionworlds.tamarin.actions.OpenXrActionState.checkResponseCode(OpenXrActionState.java:519)
	at com.onemillionworlds.tamarin.actions.OpenXrActionState.registerActions(OpenXrActionState.java:323)
	at com.onemillionworlds.tamarin.actions.OpenXrActionState.update(OpenXrActionState.java:899)
	at com.jme3.app.state.AppStateManager.update(AppStateManager.java:371)
	at com.jme3.app.SimpleApplication.update(SimpleApplication.java:258)
	at com.jme3.system.lwjgl.LwjglWindow.runLoop(LwjglWindow.java:628)
	at com.jme3.system.lwjgl.LwjglWindow.run(LwjglWindow.java:717)
	at java.base/java.lang.Thread.run(Thread.java:833)

Nov. 13, 2023 12:20:06 AM com.jme3.system.JmeSystemDelegate lambda$new$0
WARNUNG: JmeDialogsFactory implementation not found.

I stumbled over this article: https://tonisagrista.com/blog/2023/steamvr-to-openxr/
The Gaia Sky program it is about uses java and lwjgl.
I tested the gaiasky_windows-x64_3_5_7.exe version which says it uses OpenXR and it works with the CV1 including controllers.
Perhaps that can help.

1 Like

Nice find! That looks incredibly useful!

I’m away this weekend so it might be a little while till I can take a look at this but this will definitely help

One suspicious Gaia vs Tamarin difference I see is that Tamarin is missing a call

actionSetCreate.type$Default();

Given that the default is 28 this feels like a definate possibility as to the problem (in fact I don’t understand how it worked on my system without it).

Could you try this version:

maven {
    url "https://s01.oss.sonatype.org/content/repositories/comonemillionworlds-1029"
}

2.1.3.rc.1

Thank you so much for all this testing btw, its been really helpful!

Happy to help.
Crashes right away again, but with lots of new error messages :slight_smile:

Nov. 16, 2023 5:08:48 PM com.jme3.system.JmeDesktopSystem initialize
INFORMATION: Running on jMonkeyEngine 3.6.1-stable
 * Branch: HEAD
 * Git Hash: 4de10c3
 * Build Date: 2023-06-23
Nov. 16, 2023 5:08:49 PM com.jme3.system.lwjgl.LwjglContext printContextInitInfo
INFORMATION: LWJGL 3.3.2-snapshot context running on thread jME3 Main
 * Graphics Adapter: GLFW 3.4.0 Win32 WGL Null EGL OSMesa VisualC DLL
Nov. 16, 2023 5:08:49 PM com.jme3.renderer.opengl.GLRenderer loadCapabilitiesCommon
INFORMATION: OpenGL Renderer Information
 * Vendor: NVIDIA Corporation
 * Renderer: NVIDIA GeForce GTX 1070/PCIe/SSE2
 * OpenGL Version: 4.5.0 NVIDIA 536.23
 * GLSL Version: 4.50 NVIDIA
 * Profile: Core
Nov. 16, 2023 5:08:49 PM com.jme3.audio.openal.ALAudioRenderer initOpenAL
INFORMATION: Audio Renderer Information
 * Device: OpenAL Soft
 * Vendor: OpenAL Community
 * Renderer: OpenAL Soft
 * Version: 1.1 ALSOFT 1.23.0
 * Supported channels: 64
 * ALC extensions: ALC_ENUMERATE_ALL_EXT ALC_ENUMERATION_EXT ALC_EXT_CAPTURE ALC_EXT_DEDICATED ALC_EXT_disconnect ALC_EXT_EFX ALC_EXT_thread_local_context ALC_SOFT_device_clock ALC_SOFT_HRTF ALC_SOFT_loopback ALC_SOFT_loopback_bformat ALC_SOFT_output_limiter ALC_SOFT_output_mode ALC_SOFT_pause_device ALC_SOFT_reopen_device
 * AL extensions: AL_EXT_ALAW AL_EXT_BFORMAT AL_EXT_DOUBLE AL_EXT_EXPONENT_DISTANCE AL_EXT_FLOAT32 AL_EXT_IMA4 AL_EXT_LINEAR_DISTANCE AL_EXT_MCFORMATS AL_EXT_MULAW AL_EXT_MULAW_BFORMAT AL_EXT_MULAW_MCFORMATS AL_EXT_OFFSET AL_EXT_source_distance_model AL_EXT_SOURCE_RADIUS AL_EXT_STEREO_ANGLES AL_LOKI_quadriphonic AL_SOFT_bformat_ex AL_SOFTX_bformat_hoa AL_SOFT_block_alignment AL_SOFT_callback_buffer AL_SOFTX_convolution_reverb AL_SOFT_deferred_updates AL_SOFT_direct_channels AL_SOFT_direct_channels_remix AL_SOFT_effect_target AL_SOFT_events AL_SOFT_gain_clamp_ex AL_SOFTX_hold_on_disconnect AL_SOFT_loop_points AL_SOFTX_map_buffer AL_SOFT_MSADPCM AL_SOFT_source_latency AL_SOFT_source_length AL_SOFT_source_resampler AL_SOFT_source_spatialize AL_SOFTX_source_start_delay AL_SOFT_UHJ
Nov. 16, 2023 5:08:49 PM com.jme3.audio.openal.ALAudioRenderer initOpenAL
INFORMATION: Audio effect extension version: 1.0
Nov. 16, 2023 5:08:49 PM com.jme3.audio.openal.ALAudioRenderer initOpenAL
INFORMATION: Audio max auxiliary sends: 2
Nov. 16, 2023 5:08:51 PM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager makeLayersCheck
INFORMATION: XR core validation not available
Nov. 16, 2023 5:08:51 PM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager createOpenXRInstance
WARNUNG: OpenXR extension XR_EXT_hand_tracking NOT loaded
Nov. 16, 2023 5:08:51 PM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager createOpenXRInstance
WARNUNG: OpenXR extension XR_KHR_binding_modification NOT loaded
Nov. 16, 2023 5:08:51 PM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager createOpenXRInstance
WARNUNG: OpenXR extension XR_MNDX_egl_enable NOT loaded
Nov. 16, 2023 5:08:51 PM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager createOpenXRInstance
WARNUNG: OpenXR extension XR_EXT_dpad_binding NOT loaded
Nov. 16, 2023 5:08:51 PM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager initializeAndBindOpenGL
INFORMATION: The OpenXR runtime supports OpenGL 4.0 to OpenGL 4.6
Nov. 16, 2023 5:08:51 PM com.onemillionworlds.tamarin.openxr.XrUtils createGraphicsBindingOpenGL
INFORMATION: Using XrGraphicsBindingOpenGLWin32KHR to create the session
Nov. 16, 2023 5:08:51 PM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager initializeAndBindOpenGL
INFORMATION: OpenXR debug utils enabled
Nov. 16, 2023 5:08:51 PM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager createXRSwapchains
INFORMATION: Headset name:Oculus Rift CV1 vendor: 14
Nov. 16, 2023 5:08:51 PM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager createXRSwapchains
INFORMATION: Headset orientationTracking:truepositionTracking: true
Nov. 16, 2023 5:08:51 PM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager createXRSwapchains
INFORMATION: Headset MaxWidth: 4096 MaxHeight: 4096MaxLayerCount: 16
Nov. 16, 2023 5:08:51 PM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager createXRSwapchains
INFORMATION: Selected colour format 32856 from options [32856, 33189, 34843, 35056, 35898, 35907, 36012, 36013]
Nov. 16, 2023 5:08:51 PM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager handleSessionStateChangedEvent
INFORMATION: XrEventDataSessionStateChanged: state null->IDLE session=72121382892208129 time=827500266023800
Nov. 16, 2023 5:08:52 PM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager handleSessionStateChangedEvent
INFORMATION: XrEventDataSessionStateChanged: state IDLE->READY session=72121382892208129 time=827500266047300
Nov. 16, 2023 5:08:52 PM com.jme3.anim.SkinningControl controlRender
INFORMATION: Hardware skinning engaged for Armature (Node)
Nov. 16, 2023 5:08:52 PM com.jme3.anim.SkinningControl controlRender
INFORMATION: Hardware skinning engaged for Armature (Node)
Nov. 16, 2023 5:08:52 PM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager handleSessionStateChangedEvent
INFORMATION: XrEventDataSessionStateChanged: state READY->SYNCHRONIZED session=72121382892208129 time=827500887162000
Nov. 16, 2023 5:08:53 PM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager handleSessionStateChangedEvent
INFORMATION: XrEventDataSessionStateChanged: state SYNCHRONIZED->VISIBLE session=72121382892208129 time=827501604837399
Nov. 16, 2023 5:08:53 PM example.Main lambda$simpleInitApp$2
INFORMATION: System is: Oculus Rift CV1
Nov. 16, 2023 5:08:53 PM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager handleSessionStateChangedEvent
INFORMATION: XrEventDataSessionStateChanged: state VISIBLE->FOCUSED session=72121382892208129 time=827501604850700
Nov. 16, 2023 5:08:53 PM com.onemillionworlds.tamarin.actions.OpenXrActionState registerActions
INFORMATION: Registering manifest
Nov. 16, 2023 5:08:53 PM com.onemillionworlds.tamarin.actions.OpenXrActionState withResponseCodeLogging
WARNUNG: java.lang.Throwable: -39 XR_ERROR_POSE_INVALID occurred during Create pose space. The supplied pose was invalid with respect to the requirements.
        at com.onemillionworlds.tamarin.actions.OpenXrActionState.withResponseCodeLogging(OpenXrActionState.java:515)
        at com.onemillionworlds.tamarin.actions.OpenXrActionState.registerActions(OpenXrActionState.java:376)
        at com.onemillionworlds.tamarin.actions.OpenXrActionState.update(OpenXrActionState.java:912)
        at com.jme3.app.state.AppStateManager.update(AppStateManager.java:371)
        at com.jme3.app.SimpleApplication.update(SimpleApplication.java:258)
        at com.jme3.system.lwjgl.LwjglWindow.runLoop(LwjglWindow.java:628)
        at com.jme3.system.lwjgl.LwjglWindow.run(LwjglWindow.java:717)
        at java.base/java.lang.Thread.run(Thread.java:833)

Nov. 16, 2023 5:08:53 PM com.onemillionworlds.tamarin.actions.OpenXrActionState withResponseCodeLogging
WARNUNG: Further identical errors will be suppressed. If you don't want that call doNotSupressRepeatedErrors()
Nov. 16, 2023 5:08:53 PM com.onemillionworlds.tamarin.actions.OpenXrActionState withResponseCodeLogging
WARNUNG: java.lang.Throwable: -22 XR_ERROR_PATH_UNSUPPORTED occurred during xrSuggestInteractionProfileBindings. The semantic path is unsupported
        at com.onemillionworlds.tamarin.actions.OpenXrActionState.withResponseCodeLogging(OpenXrActionState.java:515)
        at com.onemillionworlds.tamarin.actions.OpenXrActionState.registerActions(OpenXrActionState.java:411)
        at com.onemillionworlds.tamarin.actions.OpenXrActionState.update(OpenXrActionState.java:912)
        at com.jme3.app.state.AppStateManager.update(AppStateManager.java:371)
        at com.jme3.app.SimpleApplication.update(SimpleApplication.java:258)
        at com.jme3.system.lwjgl.LwjglWindow.runLoop(LwjglWindow.java:628)
        at com.jme3.system.lwjgl.LwjglWindow.run(LwjglWindow.java:717)
        at java.base/java.lang.Thread.run(Thread.java:833)

Nov. 16, 2023 5:08:53 PM com.onemillionworlds.tamarin.actions.OpenXrActionState withResponseCodeLogging
WARNUNG: Further identical errors will be suppressed. If you don't want that call doNotSupressRepeatedErrors()
Nov. 16, 2023 5:08:53 PM com.onemillionworlds.tamarin.actions.OpenXrActionState withResponseCodeLogging
WARNUNG: java.lang.Throwable: -1 XR_ERROR_VALIDATION_FAILURE occurred during xrSyncActions. The function usage was invalid in some way.
        at com.onemillionworlds.tamarin.actions.OpenXrActionState.withResponseCodeLogging(OpenXrActionState.java:515)
        at com.onemillionworlds.tamarin.actions.OpenXrActionState.update(OpenXrActionState.java:919)
        at com.jme3.app.state.AppStateManager.update(AppStateManager.java:371)
        at com.jme3.app.SimpleApplication.update(SimpleApplication.java:258)
        at com.jme3.system.lwjgl.LwjglWindow.runLoop(LwjglWindow.java:628)
        at com.jme3.system.lwjgl.LwjglWindow.run(LwjglWindow.java:717)
        at java.base/java.lang.Thread.run(Thread.java:833)

Nov. 16, 2023 5:08:53 PM com.onemillionworlds.tamarin.actions.OpenXrActionState withResponseCodeLogging
WARNUNG: Further identical errors will be suppressed. If you don't want that call doNotSupressRepeatedErrors()
Nov. 16, 2023 5:08:53 PM com.jme3.app.LegacyApplication handleError
SCHWERWIEGEND: Uncaught exception thrown in Thread[jME3 Main,5,main]
java.lang.NullPointerException
        at org.lwjgl.system.Pointer$Default.<init>(Pointer.java:88)
        at org.lwjgl.openxr.DispatchableHandle.<init>(DispatchableHandle.java:15)
        at org.lwjgl.openxr.XrSpace.<init>(XrSpace.java:20)
        at com.onemillionworlds.tamarin.actions.OpenXrActionState.getPose(OpenXrActionState.java:683)
        at com.onemillionworlds.tamarin.actions.OpenXrActionState.getPose_worldRelative(OpenXrActionState.java:631)
        at com.onemillionworlds.tamarin.vrhands.VRHandsAppState.update(VRHandsAppState.java:130)
        at com.jme3.app.state.AppStateManager.update(AppStateManager.java:371)
        at com.jme3.app.SimpleApplication.update(SimpleApplication.java:258)
        at com.jme3.system.lwjgl.LwjglWindow.runLoop(LwjglWindow.java:628)
        at com.jme3.system.lwjgl.LwjglWindow.run(LwjglWindow.java:717)
        at java.base/java.lang.Thread.run(Thread.java:833)

Nov. 16, 2023 5:08:53 PM com.jme3.system.JmeSystemDelegate lambda$new$0
WARNUNG: JmeDialogsFactory implementation not found.


Ok, that’s further in the registration process!

I think I can see the problem with the XR_ERROR_POSE_INVALID error. I think it’s again the quest guessing defaults but the rift expecting them to be set (in this case that the pose is relative to [0,0,0]). I’ve released a new version 2.1.3

On the XR_ERROR_PATH_UNSUPPORTED error. I think that may be because the XR_EXT_dpad_binding extension isn’t supported by the rift. Could you try removing all the suggested bindings with dpad in them from TamarinTestBed Main#manifest. Alternatively I’ve updated the test bed to stop using dpad bindings and use the synthetic dpad instead

I removed changed files and ran a git pull in TamarinTestBed.
Program doesn’t crash anymore and displays the menu in the hmd. Nice.
Controls don’t do anything though. I think I see my (motionless) hands in the distance.

Nov. 17, 2023 12:34:52 AM com.jme3.system.JmeDesktopSystem initialize
INFORMATION: Running on jMonkeyEngine 3.6.1-stable
 * Branch: HEAD
 * Git Hash: 4de10c3
 * Build Date: 2023-06-23
Nov. 17, 2023 12:34:52 AM com.jme3.system.lwjgl.LwjglContext printContextInitInfo
INFORMATION: LWJGL 3.3.2-snapshot context running on thread jME3 Main
 * Graphics Adapter: GLFW 3.4.0 Win32 WGL Null EGL OSMesa VisualC DLL
Nov. 17, 2023 12:34:52 AM com.jme3.renderer.opengl.GLRenderer loadCapabilitiesCommon
INFORMATION: OpenGL Renderer Information
 * Vendor: NVIDIA Corporation
 * Renderer: NVIDIA GeForce GTX 1070/PCIe/SSE2
 * OpenGL Version: 4.5.0 NVIDIA 536.23
 * GLSL Version: 4.50 NVIDIA
 * Profile: Core
Nov. 17, 2023 12:34:53 AM com.jme3.audio.openal.ALAudioRenderer initOpenAL
INFORMATION: Audio Renderer Information
 * Device: OpenAL Soft
 * Vendor: OpenAL Community
 * Renderer: OpenAL Soft
 * Version: 1.1 ALSOFT 1.23.0
 * Supported channels: 64
 * ALC extensions: ALC_ENUMERATE_ALL_EXT ALC_ENUMERATION_EXT ALC_EXT_CAPTURE ALC_EXT_DEDICATED ALC_EXT_disconnect ALC_EXT_EFX ALC_EXT_thread_local_context ALC_SOFT_device_clock ALC_SOFT_HRTF ALC_SOFT_loopback ALC_SOFT_loopback_bformat ALC_SOFT_output_limiter ALC_SOFT_output_mode ALC_SOFT_pause_device ALC_SOFT_reopen_device
 * AL extensions: AL_EXT_ALAW AL_EXT_BFORMAT AL_EXT_DOUBLE AL_EXT_EXPONENT_DISTANCE AL_EXT_FLOAT32 AL_EXT_IMA4 AL_EXT_LINEAR_DISTANCE AL_EXT_MCFORMATS AL_EXT_MULAW AL_EXT_MULAW_BFORMAT AL_EXT_MULAW_MCFORMATS AL_EXT_OFFSET AL_EXT_source_distance_model AL_EXT_SOURCE_RADIUS AL_EXT_STEREO_ANGLES AL_LOKI_quadriphonic AL_SOFT_bformat_ex AL_SOFTX_bformat_hoa AL_SOFT_block_alignment AL_SOFT_callback_buffer AL_SOFTX_convolution_reverb AL_SOFT_deferred_updates AL_SOFT_direct_channels AL_SOFT_direct_channels_remix AL_SOFT_effect_target AL_SOFT_events AL_SOFT_gain_clamp_ex AL_SOFTX_hold_on_disconnect AL_SOFT_loop_points AL_SOFTX_map_buffer AL_SOFT_MSADPCM AL_SOFT_source_latency AL_SOFT_source_length AL_SOFT_source_resampler AL_SOFT_source_spatialize AL_SOFTX_source_start_delay AL_SOFT_UHJ
Nov. 17, 2023 12:34:53 AM com.jme3.audio.openal.ALAudioRenderer initOpenAL
INFORMATION: Audio effect extension version: 1.0
Nov. 17, 2023 12:34:53 AM com.jme3.audio.openal.ALAudioRenderer initOpenAL
INFORMATION: Audio max auxiliary sends: 2
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Nov. 17, 2023 12:34:55 AM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager makeLayersCheck
INFORMATION: XR core validation not available
Nov. 17, 2023 12:34:55 AM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager createOpenXRInstance
WARNUNG: OpenXR extension XR_EXT_hand_tracking NOT loaded
Nov. 17, 2023 12:34:55 AM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager createOpenXRInstance
WARNUNG: OpenXR extension XR_KHR_binding_modification NOT loaded
Nov. 17, 2023 12:34:55 AM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager createOpenXRInstance
WARNUNG: OpenXR extension XR_MNDX_egl_enable NOT loaded
Nov. 17, 2023 12:34:55 AM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager createOpenXRInstance
WARNUNG: OpenXR extension XR_EXT_dpad_binding NOT loaded
Nov. 17, 2023 12:34:55 AM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager initializeAndBindOpenGL
INFORMATION: The OpenXR runtime supports OpenGL 4.0 to OpenGL 4.6
Nov. 17, 2023 12:34:55 AM com.onemillionworlds.tamarin.openxr.XrUtils createGraphicsBindingOpenGL
INFORMATION: Using XrGraphicsBindingOpenGLWin32KHR to create the session
Nov. 17, 2023 12:34:55 AM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager initializeAndBindOpenGL
INFORMATION: OpenXR debug utils enabled
Nov. 17, 2023 12:34:55 AM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager createXRSwapchains
INFORMATION: Headset name:Oculus Rift CV1 vendor: 14
Nov. 17, 2023 12:34:55 AM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager createXRSwapchains
INFORMATION: Headset orientationTracking:truepositionTracking: true
Nov. 17, 2023 12:34:55 AM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager createXRSwapchains
INFORMATION: Headset MaxWidth: 4096 MaxHeight: 4096MaxLayerCount: 16
Nov. 17, 2023 12:34:55 AM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager createXRSwapchains
INFORMATION: Selected colour format 32856 from options [32856, 33189, 34843, 35056, 35898, 35907, 36012, 36013]
Nov. 17, 2023 12:34:55 AM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager handleSessionStateChangedEvent
INFORMATION: XrEventDataSessionStateChanged: state null->IDLE session=72079876328259585 time=854269400929500
Nov. 17, 2023 12:34:55 AM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager handleSessionStateChangedEvent
INFORMATION: XrEventDataSessionStateChanged: state IDLE->READY session=72079876328259585 time=854269400957100
Nov. 17, 2023 12:34:56 AM com.jme3.anim.SkinningControl controlRender
INFORMATION: Hardware skinning engaged for Armature (Node)
Nov. 17, 2023 12:34:56 AM com.jme3.anim.SkinningControl controlRender
INFORMATION: Hardware skinning engaged for Armature (Node)
Nov. 17, 2023 12:34:56 AM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager handleSessionStateChangedEvent
INFORMATION: XrEventDataSessionStateChanged: state READY->SYNCHRONIZED session=72079876328259585 time=854270007424400
Nov. 17, 2023 12:34:56 AM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager handleSessionStateChangedEvent
INFORMATION: XrEventDataSessionStateChanged: state SYNCHRONIZED->VISIBLE session=72079876328259585 time=854270729157400
Nov. 17, 2023 12:34:56 AM example.Main lambda$simpleInitApp$1
INFORMATION: System is: Oculus Rift CV1
Nov. 17, 2023 12:34:56 AM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager handleSessionStateChangedEvent
INFORMATION: XrEventDataSessionStateChanged: state VISIBLE->FOCUSED session=72079876328259585 time=854270729183099
Nov. 17, 2023 12:34:56 AM com.onemillionworlds.tamarin.actions.OpenXrActionState registerActions
INFORMATION: Registering manifest
Nov. 17, 2023 12:34:56 AM com.onemillionworlds.tamarin.actions.OpenXrActionState withResponseCodeLogging
WARNUNG: java.lang.Throwable: -1 XR_ERROR_VALIDATION_FAILURE occurred during xrSyncActions. The function usage was invalid in some way.
        at com.onemillionworlds.tamarin.actions.OpenXrActionState.withResponseCodeLogging(OpenXrActionState.java:520)
        at com.onemillionworlds.tamarin.actions.OpenXrActionState.update(OpenXrActionState.java:924)
        at com.jme3.app.state.AppStateManager.update(AppStateManager.java:371)
        at com.jme3.app.SimpleApplication.update(SimpleApplication.java:258)
        at com.jme3.system.lwjgl.LwjglWindow.runLoop(LwjglWindow.java:628)
        at com.jme3.system.lwjgl.LwjglWindow.run(LwjglWindow.java:717)
        at java.base/java.lang.Thread.run(Thread.java:833)

Nov. 17, 2023 12:34:56 AM com.onemillionworlds.tamarin.actions.OpenXrActionState withResponseCodeLogging
WARNUNG: Further identical errors will be suppressed. If you don't want that call doNotSupressRepeatedErrors()
Nov. 17, 2023 12:34:56 AM com.onemillionworlds.tamarin.actions.OpenXrActionState withResponseCodeLogging
WARNUNG: java.lang.Throwable: -1 XR_ERROR_VALIDATION_FAILURE occurred during getActionState. The function usage was invalid in some way.
        at com.onemillionworlds.tamarin.actions.OpenXrActionState.withResponseCodeLogging(OpenXrActionState.java:520)
        at com.onemillionworlds.tamarin.actions.OpenXrActionState.getFloatActionState(OpenXrActionState.java:806)
        at com.onemillionworlds.tamarin.vrhands.functions.LemurClickFunction.getClickActionPressure(LemurClickFunction.java:187)
        at com.onemillionworlds.tamarin.vrhands.functions.LemurClickFunction.update(LemurClickFunction.java:122)
        at com.onemillionworlds.tamarin.vrhands.BoundHand.lambda$update$6(BoundHand.java:339)
        at java.base/java.util.concurrent.CopyOnWriteArrayList.forEach(CopyOnWriteArrayList.java:807)
        at com.onemillionworlds.tamarin.vrhands.BoundHand.update(BoundHand.java:339)
        at com.onemillionworlds.tamarin.vrhands.VRHandsAppState.lambda$update$2(VRHandsAppState.java:140)
        at java.base/java.util.Optional.ifPresent(Optional.java:178)
        at com.onemillionworlds.tamarin.vrhands.VRHandsAppState.update(VRHandsAppState.java:139)
        at com.jme3.app.state.AppStateManager.update(AppStateManager.java:371)
        at com.jme3.app.SimpleApplication.update(SimpleApplication.java:258)
        at com.jme3.system.lwjgl.LwjglWindow.runLoop(LwjglWindow.java:628)
        at com.jme3.system.lwjgl.LwjglWindow.run(LwjglWindow.java:717)
        at java.base/java.lang.Thread.run(Thread.java:833)

Nov. 17, 2023 12:34:56 AM com.onemillionworlds.tamarin.actions.OpenXrActionState withResponseCodeLogging
WARNUNG: Further identical errors will be suppressed. If you don't want that call doNotSupressRepeatedErrors()
Nov. 17, 2023 12:35:14 AM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager handleSessionStateChangedEvent
INFORMATION: XrEventDataSessionStateChanged: state FOCUSED->VISIBLE session=72079876328259585 time=854288081260900
Nov. 17, 2023 12:35:16 AM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager handleSessionStateChangedEvent
INFORMATION: XrEventDataSessionStateChanged: state VISIBLE->SYNCHRONIZED session=72079876328259585 time=854290825276000
Nov. 17, 2023 12:35:17 AM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager handleSessionStateChangedEvent
INFORMATION: XrEventDataSessionStateChanged: state SYNCHRONIZED->STOPPING session=72079876328259585 time=854290825287299
Nov. 17, 2023 12:35:17 AM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager handleSessionStateChangedEvent
INFORMATION: XrEventDataSessionStateChanged: state STOPPING->IDLE session=72079876328259585 time=854290837872800
Nov. 17, 2023 12:35:17 AM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager handleSessionStateChangedEvent
INFORMATION: XrEventDataSessionStateChanged: state IDLE->EXITING session=72079876328259585 time=854290838704900

2 Likes

Nice, I think I know what’s causing those 2, I’ve released a 2.1.4

1 Like

progress!
the hands are where they should be and they move.
nice
the buttons don’t do anything yet

Nov. 17, 2023 4:18:29 PM com.jme3.system.JmeDesktopSystem initialize
INFORMATION: Running on jMonkeyEngine 3.6.1-stable
 * Branch: HEAD
 * Git Hash: 4de10c3
 * Build Date: 2023-06-23
Nov. 17, 2023 4:18:29 PM com.jme3.system.lwjgl.LwjglContext printContextInitInfo
INFORMATION: LWJGL 3.3.2-snapshot context running on thread jME3 Main
 * Graphics Adapter: GLFW 3.4.0 Win32 WGL Null EGL OSMesa VisualC DLL
Nov. 17, 2023 4:18:29 PM com.jme3.renderer.opengl.GLRenderer loadCapabilitiesCommon
INFORMATION: OpenGL Renderer Information
 * Vendor: NVIDIA Corporation
 * Renderer: NVIDIA GeForce GTX 1070/PCIe/SSE2
 * OpenGL Version: 4.5.0 NVIDIA 536.23
 * GLSL Version: 4.50 NVIDIA
 * Profile: Core
Nov. 17, 2023 4:18:29 PM com.jme3.audio.openal.ALAudioRenderer initOpenAL
INFORMATION: Audio Renderer Information
 * Device: OpenAL Soft
 * Vendor: OpenAL Community
 * Renderer: OpenAL Soft
 * Version: 1.1 ALSOFT 1.23.0
 * Supported channels: 64
 * ALC extensions: ALC_ENUMERATE_ALL_EXT ALC_ENUMERATION_EXT ALC_EXT_CAPTURE ALC_EXT_DEDICATED ALC_EXT_disconnect ALC_EXT_EFX ALC_EXT_thread_local_context ALC_SOFT_device_clock ALC_SOFT_HRTF ALC_SOFT_loopback ALC_SOFT_loopback_bformat ALC_SOFT_output_limiter ALC_SOFT_output_mode ALC_SOFT_pause_device ALC_SOFT_reopen_device
 * AL extensions: AL_EXT_ALAW AL_EXT_BFORMAT AL_EXT_DOUBLE AL_EXT_EXPONENT_DISTANCE AL_EXT_FLOAT32 AL_EXT_IMA4 AL_EXT_LINEAR_DISTANCE AL_EXT_MCFORMATS AL_EXT_MULAW AL_EXT_MULAW_BFORMAT AL_EXT_MULAW_MCFORMATS AL_EXT_OFFSET AL_EXT_source_distance_model AL_EXT_SOURCE_RADIUS AL_EXT_STEREO_ANGLES AL_LOKI_quadriphonic AL_SOFT_bformat_ex AL_SOFTX_bformat_hoa AL_SOFT_block_alignment AL_SOFT_callback_buffer AL_SOFTX_convolution_reverb AL_SOFT_deferred_updates AL_SOFT_direct_channels AL_SOFT_direct_channels_remix AL_SOFT_effect_target AL_SOFT_events AL_SOFT_gain_clamp_ex AL_SOFTX_hold_on_disconnect AL_SOFT_loop_points AL_SOFTX_map_buffer AL_SOFT_MSADPCM AL_SOFT_source_latency AL_SOFT_source_length AL_SOFT_source_resampler AL_SOFT_source_spatialize AL_SOFTX_source_start_delay AL_SOFT_UHJ
Nov. 17, 2023 4:18:29 PM com.jme3.audio.openal.ALAudioRenderer initOpenAL
INFORMATION: Audio effect extension version: 1.0
Nov. 17, 2023 4:18:29 PM com.jme3.audio.openal.ALAudioRenderer initOpenAL
INFORMATION: Audio max auxiliary sends: 2
SLF4J: Failed to load class "org.slf4j.impl.StaticLoggerBinder".
SLF4J: Defaulting to no-operation (NOP) logger implementation
SLF4J: See http://www.slf4j.org/codes.html#StaticLoggerBinder for further details.
Nov. 17, 2023 4:18:31 PM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager makeLayersCheck
INFORMATION: XR core validation not available
Nov. 17, 2023 4:18:32 PM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager createOpenXRInstance
WARNUNG: OpenXR extension XR_EXT_hand_tracking NOT loaded
Nov. 17, 2023 4:18:32 PM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager createOpenXRInstance
WARNUNG: OpenXR extension XR_KHR_binding_modification NOT loaded
Nov. 17, 2023 4:18:32 PM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager createOpenXRInstance
WARNUNG: OpenXR extension XR_MNDX_egl_enable NOT loaded
Nov. 17, 2023 4:18:32 PM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager createOpenXRInstance
WARNUNG: OpenXR extension XR_EXT_dpad_binding NOT loaded
Nov. 17, 2023 4:18:32 PM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager initializeAndBindOpenGL
INFORMATION: The OpenXR runtime supports OpenGL 4.0 to OpenGL 4.6
Nov. 17, 2023 4:18:32 PM com.onemillionworlds.tamarin.openxr.XrUtils createGraphicsBindingOpenGL
INFORMATION: Using XrGraphicsBindingOpenGLWin32KHR to create the session
Nov. 17, 2023 4:18:32 PM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager initializeAndBindOpenGL
INFORMATION: OpenXR debug utils enabled
Nov. 17, 2023 4:18:32 PM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager createXRSwapchains
INFORMATION: Headset name:Oculus Rift CV1 vendor: 14
Nov. 17, 2023 4:18:32 PM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager createXRSwapchains
INFORMATION: Headset orientationTracking:truepositionTracking: true
Nov. 17, 2023 4:18:32 PM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager createXRSwapchains
INFORMATION: Headset MaxWidth: 4096 MaxHeight: 4096MaxLayerCount: 16
Nov. 17, 2023 4:18:32 PM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager createXRSwapchains
INFORMATION: Selected colour format 32856 from options [32856, 33189, 34843, 35056, 35898, 35907, 36012, 36013]
Nov. 17, 2023 4:18:32 PM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager handleSessionStateChangedEvent
INFORMATION: XrEventDataSessionStateChanged: state null->IDLE session=72112191662194689 time=468181185500
Nov. 17, 2023 4:18:32 PM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager handleSessionStateChangedEvent
INFORMATION: XrEventDataSessionStateChanged: state IDLE->READY session=72112191662194689 time=468181203200
Nov. 17, 2023 4:18:32 PM com.jme3.anim.SkinningControl controlRender
INFORMATION: Hardware skinning engaged for Armature (Node)
Nov. 17, 2023 4:18:32 PM com.jme3.anim.SkinningControl controlRender
INFORMATION: Hardware skinning engaged for Armature (Node)
Nov. 17, 2023 4:18:32 PM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager handleSessionStateChangedEvent
INFORMATION: XrEventDataSessionStateChanged: state READY->SYNCHRONIZED session=72112191662194689 time=468767896900
Nov. 17, 2023 4:18:33 PM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager handleSessionStateChangedEvent
INFORMATION: XrEventDataSessionStateChanged: state SYNCHRONIZED->VISIBLE session=72112191662194689 time=469488040799
Nov. 17, 2023 4:18:33 PM example.Main lambda$simpleInitApp$1
INFORMATION: System is: Oculus Rift CV1
Nov. 17, 2023 4:18:33 PM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager handleSessionStateChangedEvent
INFORMATION: XrEventDataSessionStateChanged: state VISIBLE->FOCUSED session=72112191662194689 time=469488055199
Nov. 17, 2023 4:18:33 PM com.onemillionworlds.tamarin.actions.OpenXrActionState registerActions
INFORMATION: Registering manifest
Nov. 17, 2023 4:18:33 PM com.onemillionworlds.tamarin.actions.OpenXrActionState withResponseCodeLogging
WARNUNG: java.lang.Throwable: -1 XR_ERROR_VALIDATION_FAILURE occurred during getActionState. The function usage was invalid in some way.
        at com.onemillionworlds.tamarin.actions.OpenXrActionState.withResponseCodeLogging(OpenXrActionState.java:521)
        at com.onemillionworlds.tamarin.actions.OpenXrActionState.getFloatActionState(OpenXrActionState.java:809)
        at com.onemillionworlds.tamarin.vrhands.functions.LemurClickFunction.getClickActionPressure(LemurClickFunction.java:187)
        at com.onemillionworlds.tamarin.vrhands.functions.LemurClickFunction.update(LemurClickFunction.java:122)
        at com.onemillionworlds.tamarin.vrhands.BoundHand.lambda$update$6(BoundHand.java:339)
        at java.base/java.util.concurrent.CopyOnWriteArrayList.forEach(CopyOnWriteArrayList.java:807)
        at com.onemillionworlds.tamarin.vrhands.BoundHand.update(BoundHand.java:339)
        at com.onemillionworlds.tamarin.vrhands.VRHandsAppState.lambda$update$2(VRHandsAppState.java:140)
        at java.base/java.util.Optional.ifPresent(Optional.java:178)
        at com.onemillionworlds.tamarin.vrhands.VRHandsAppState.update(VRHandsAppState.java:139)
        at com.jme3.app.state.AppStateManager.update(AppStateManager.java:371)
        at com.jme3.app.SimpleApplication.update(SimpleApplication.java:258)
        at com.jme3.system.lwjgl.LwjglWindow.runLoop(LwjglWindow.java:628)
        at com.jme3.system.lwjgl.LwjglWindow.run(LwjglWindow.java:717)
        at java.base/java.lang.Thread.run(Thread.java:833)

Nov. 17, 2023 4:18:33 PM com.onemillionworlds.tamarin.actions.OpenXrActionState withResponseCodeLogging
WARNUNG: Further identical errors will be suppressed. If you don't want that call doNotSupressRepeatedErrors()
Nov. 17, 2023 4:19:00 PM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager handleSessionStateChangedEvent
INFORMATION: XrEventDataSessionStateChanged: state FOCUSED->VISIBLE session=72112191662194689 time=496807097200
Nov. 17, 2023 4:19:02 PM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager handleSessionStateChangedEvent
INFORMATION: XrEventDataSessionStateChanged: state VISIBLE->SYNCHRONIZED session=72112191662194689 time=498529000800
Nov. 17, 2023 4:19:02 PM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager handleSessionStateChangedEvent
INFORMATION: XrEventDataSessionStateChanged: state SYNCHRONIZED->STOPPING session=72112191662194689 time=498529023099
Nov. 17, 2023 4:19:02 PM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager handleSessionStateChangedEvent
INFORMATION: XrEventDataSessionStateChanged: state STOPPING->IDLE session=72112191662194689 time=498540781600
Nov. 17, 2023 4:19:02 PM com.onemillionworlds.tamarin.openxr.OpenXrSessionManager handleSessionStateChangedEvent
INFORMATION: XrEventDataSessionStateChanged: state IDLE->EXITING session=72112191662194689 time=498541545000

Feels really close now!

Looks like Gaia sets types even on output objects for the call to getFloatActionState and similar so I’ll do that too

maven {
    url "https://s01.oss.sonatype.org/content/repositories/comonemillionworlds-1034"
}

2.1.5.rc.1

not only close: it works!
woohoo :slight_smile:
tried all the examples - no issues except I didn’t hear any sound in the last one.
That could just be my settings though - I’ll check that again later.

4 Likes

Yay! Thank you so much for your help with this! I’ve got a lot more confidence it will work on a wide array of devices now.

Ive promoted that release candidate to a real version 2.1.5

4 Likes

Just to confirm: Speakers were still set to steam streaming. Setting them to occulus fixed the sound, so that works as well (with 2.1.5)

Thanks for coding this!

2 Likes