NixOS / nixpkgs

Nix Packages collection & NixOS
MIT License
16.46k stars 12.96k forks source link

xrgears: incompatible with SteamVR due to openxr-loader update to 1.1.x #320596

Open Atemu opened 2 weeks ago

Atemu commented 2 weeks ago

Describe the bug

A clear and concise description of what the bug is.

It is not possible to run xrgears against SteamVR anymore due to openxr-loader having been updated to 1.1:

[d] xr.c:75 | == Supported OpenXR extensions ==
[d] xr.c:77 | XR_KHR_vulkan_enable
[d] xr.c:77 | XR_KHR_vulkan_enable2
[d] xr.c:77 | XR_KHR_opengl_enable
[d] xr.c:77 | XR_KHR_convert_timespec_time
[d] xr.c:77 | XR_KHR_opengl_es_enable
[d] xr.c:77 | XR_MNDX_egl_enable
[d] xr.c:77 | XR_KHR_binding_modification
[d] xr.c:77 | XR_KHR_composition_layer_depth
[d] xr.c:77 | XR_KHR_visibility_mask
[d] xr.c:77 | XR_EXT_active_action_set_priority
[d] xr.c:77 | XR_EXT_dpad_binding
[d] xr.c:77 | XR_EXT_frame_composition_report
[d] xr.c:77 | XR_EXT_hand_tracking
[d] xr.c:77 | XR_EXT_hand_joints_motion_range
[d] xr.c:77 | XR_EXT_hp_mixed_reality_controller
[d] xr.c:77 | XR_EXT_local_floor
[d] xr.c:77 | XR_EXT_palm_pose
[d] xr.c:77 | XR_FB_display_refresh_rate
[d] xr.c:77 | XR_HTC_vive_cosmos_controller_interaction
[d] xr.c:77 | XR_HTC_vive_focus3_controller_interaction
[d] xr.c:77 | XR_HTC_vive_wrist_tracker_interaction
[d] xr.c:77 | XR_MND_headless
[d] xr.c:77 | XR_VALVE_analog_threshold
[d] xr.c:77 | XR_HTCX_vive_tracker_interaction
[d] xr.c:77 | XR_EXT_debug_utils
[w] xr.c:114 | XR_KHR_composition_layer_equirect2 extension unsupported.
[w] xr.c:124 | XR_KHR_composition_layer_equirect extension unsupported.
[i] xr.c:129 | Will use projection layer for sky rendering.
Error [GENERAL | xrCreateInstance | OpenXR-Loader] : LoaderInstance::CreateInstance chained CreateInstance call failed
Error [GENERAL | xrCreateInstance | OpenXR-Loader] : xrCreateInstance failed
[e] xr.c:55 | Failed to create XR instance. [XR_ERROR_API_VERSION_UNSUPPORTED]

[e] main.cpp:395 | OpenXR graphics initialization failed.

Downgrading openxr-loader to 1.0.34 makes it work just fine:

[d] xr.c:75 | == Supported OpenXR extensions ==
[d] xr.c:77 | XR_KHR_vulkan_enable
[d] xr.c:77 | XR_KHR_vulkan_enable2
[d] xr.c:77 | XR_KHR_opengl_enable
[d] xr.c:77 | XR_KHR_convert_timespec_time
[d] xr.c:77 | XR_KHR_opengl_es_enable
[d] xr.c:77 | XR_MNDX_egl_enable
[d] xr.c:77 | XR_KHR_binding_modification
[d] xr.c:77 | XR_KHR_composition_layer_depth
[d] xr.c:77 | XR_KHR_visibility_mask
[d] xr.c:77 | XR_EXT_active_action_set_priority
[d] xr.c:77 | XR_EXT_dpad_binding
[d] xr.c:77 | XR_EXT_frame_composition_report
[d] xr.c:77 | XR_EXT_hand_tracking
[d] xr.c:77 | XR_EXT_hand_joints_motion_range
[d] xr.c:77 | XR_EXT_hp_mixed_reality_controller
[d] xr.c:77 | XR_EXT_local_floor
[d] xr.c:77 | XR_EXT_palm_pose
[d] xr.c:77 | XR_FB_display_refresh_rate
[d] xr.c:77 | XR_HTC_vive_cosmos_controller_interaction
[d] xr.c:77 | XR_HTC_vive_focus3_controller_interaction
[d] xr.c:77 | XR_HTC_vive_wrist_tracker_interaction
[d] xr.c:77 | XR_MND_headless
[d] xr.c:77 | XR_VALVE_analog_threshold
[d] xr.c:77 | XR_HTCX_vive_tracker_interaction
[d] xr.c:77 | XR_EXT_debug_utils
[w] xr.c:114 | XR_KHR_composition_layer_equirect2 extension unsupported.
[w] xr.c:124 | XR_KHR_composition_layer_equirect extension unsupported.
[i] xr.c:129 | Will use projection layer for sky rendering.
[i] xr.c:354 | XrGraphicsRequirementsVulkan2KHR:
[i] xr.c:355 | minApiVersionSupported: 0
[i] xr.c:356 | maxApiVersionSupported: 0
[i] xr.c:622 | Enumerated 3 reference spaces.
[i] xr.c:708 | Swapchain 0 dimensions: 2468x2740
[i] xr.c:708 | Swapchain 1 dimensions: 2468x2740
[d] xr.c:743 | xrEnumerateSwapchainImages: swapchain_length[0] 3
[d] xr.c:743 | xrEnumerateSwapchainImages: swapchain_length[1] 3
[i] xr.c:708 | Swapchain 0 dimensions: 2468x2740
[i] xr.c:708 | Swapchain 1 dimensions: 2468x2740
[d] xr.c:743 | xrEnumerateSwapchainImages: swapchain_length[0] 3
[d] xr.c:743 | xrEnumerateSwapchainImages: swapchain_length[1] 3
[i] main.cpp:429 | Initialized OpenXR with 2 views.
[d] xr_quad.c:56 | quad_swapchain_length 3
[d] xr_quad.c:73 | new quad_swapchain_length 3
[i] xr_quad.c:126 | Quad Swapchain 1
[d] xr_quad.c:56 | quad_swapchain_length 3
[d] xr_quad.c:73 | new quad_swapchain_length 3
[i] xr_quad.c:126 | Quad Swapchain 1
[d] xr.c:800 | EVENT: session state changed to 1. Visible: 1
[d] xr.c:800 | EVENT: session state changed to 2. Visible: 1
[d] xr.c:800 | EVENT: session state changed to 3. Visible: 1
...

Steps To Reproduce

Steps to reproduce the behavior:

  1. ...
  2. ...
  3. ...

Expected behavior

A clear and concise description of what you expected to happen.

Screenshots

If applicable, add screenshots to help explain your problem.

Additional context

Add any other context about the problem here.

Notify maintainers

@Ralith @expipiplus1 @Scrumplex

Metadata

Please run nix-shell -p nix-info --run "nix-info -m" and paste the result.

[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
output here

Add a :+1: reaction to issues you find important.

Ralith commented 2 weeks ago

What do you propose we do about this? Seems like SteamVR just needs to update, and/or upstream xrgears should be more backwards compatible.

eclairevoyant commented 2 weeks ago

or override the dependency

Scrumplex commented 2 weeks ago

I am currently not close to a machine that has XR capabilities. Could you test #320650