Hello, so…
3D Slicer: 5.7.0-2024-11-26 r33130 / c5e8d83
SlicerVirtualReality: cloned 3. 12. 2024 (can’t find version info)
SteamVR: 2.8.8
Varjo Base: 4.3.0.14 (available update to 4.5.1.18)
My setup consists of HTC Vive controllers (1st edition) and Varjo Aero headset + SteamVR.
I tried to use SteamVR OpenXR, I also tried to set Varjo (in their software Varjo Base) as an OpenXR provider + OpenVR provider.
In SlicerVirtualReality settings I tried to set OpenXR and also OpenVR but I have the same problem for both of them but there are few differencies.
(Examples below were captured with no data loaded. It doesn’t matter because even if I load any kind of data the result would be the same)
Set OpenXR
Console output
Switch to module: “Welcome”
Switch to module: “VirtualReality”
Initializing “OpenXR” XR backend (1/1)
void __cdecl qMRMLVirtualRealityView::updateViewFromReferenceViewCamera(void) failed: no reference view node is set
Optional extensions HandTracking is supported
Runtime Name: SteamVR/OpenXRRuntime Version: 2.8.8
Debug: In vtkOpenXRManager.cxx, line 879
(nullptr): Successfully got XrSystem with id 1153015959527621024 for HMD form factor.
System Properties for system id:1153015959527621024, with name “SteamVR/OpenXR : lighthouse”, vendorID=10462
Max Layers : 16
Max Swapchain Height: 2692
Max Swapchain Width : 3140
Orientation Tracking: True
Position Tracking : True
Hand Tracking : 1
Runtime supports 1 view configurations
Type XR_VIEW_CONFIGURATION_TYPE_PRIMARY_STEREO: FOV mutable: True
Runtime supports 3 reference spaces:
XR_REFERENCE_SPACE_TYPE_VIEW
XR_REFERENCE_SPACE_TYPE_LOCAL
XR_REFERENCE_SPACE_TYPE_STAGE
Debug: In vtkOpenXRManager.cxx, line 1030
(nullptr): Runtime supports 8 swapchain formats
View Configuration View 0
Resolution : Recommended: 3140x2692, Max: 8192x8192
Swapchain Samples: Recommended: 1, Max: 1
View Configuration View 1
Resolution : Recommended: 3140x2692, Max: 8192x8192
Swapchain Samples: Recommended: 1, Max: 1
XR backend " OpenXR " initialized
ActionManifestPath: “D:/Slicer_plugins/SlicerVirtualReality/build_debug/vtkRenderingOpenXR-build/vtkRenderingOpenXR/”
Number of registered displayable manager: 8
Registered displayable managers:
vtkMRMLModelDisplayableManager
vtkMRMLThreeDReformatDisplayableManager
vtkMRMLCrosshairDisplayableManager3D
vtkMRMLMarkupsDisplayableManager
vtkMRMLSegmentationsDisplayableManager3D
vtkMRMLTransformsDisplayableManager3D
vtkMRMLLinearTransformsDisplayableManager
vtkMRMLVolumeRenderingDisplayableManager
Debug: In vtkOpenXRManager.cxx, line 264
(nullptr): Session started.
Debug: In vtkOpenXRManager.cxx, line 1197
(nullptr): Create action set vtk-actions: VTK actions
Debug: In vtkOpenXRManager.cxx, line 1349
(nullptr): SuggestActions for profile : /interaction_profiles/khr/simple_controller
Debug: In vtkOpenXRManager.cxx, line 1349
(nullptr): SuggestActions for profile : /interaction_profiles/htc/vive_controller
Debug: In vtkOpenXRManager.cxx, line 1349
(nullptr): SuggestActions for profile : /interaction_profiles/oculus/touch_controller
Debug: In vtkOpenXRManager.cxx, line 1349
(nullptr): SuggestActions for profile : /interaction_profiles/hp/mixed_reality_controller
Debug: In vtkOpenXRManager.cxx, line 1349
(nullptr): SuggestActions for profile : /interaction_profiles/valve/index_controller
Debug: In vtkOpenXRManager.cxx, line 1349
(nullptr): SuggestActions for profile : /interaction_profiles/microsoft/hand_interaction
Debug: In vtkOpenXRManager.cxx, line 552
(nullptr): Could not suggest actions [XR_ERROR_PATH_UNSUPPORTED].
failed at glDeleteFramebuffers 16 OpenGL errors detected
0 : (1282) Invalid operation
1 : (1282) Invalid operation
2 : (1282) Invalid operation
3 : (1282) Invalid operation
4 : (1282) Invalid operation
5 : (1282) Invalid operation
6 : (1282) Invalid operation
7 : (1282) Invalid operation
8 : (1282) Invalid operation
9 : (1282) Invalid operation
10 : (1282) Invalid operation
11 : (1282) Invalid operation
12 : (1282) Invalid operation
13 : (1282) Invalid operation
14 : (1282) Invalid operation
15 : (1282) Invalid operation
failed at glDeleteFramebuffers 16 OpenGL errors detected
0 : (1282) Invalid operation
1 : (1282) Invalid operation
2 : (1282) Invalid operation
3 : (1282) Invalid operation
4 : (1282) Invalid operation
5 : (1282) Invalid operation
6 : (1282) Invalid operation
7 : (1282) Invalid operation
8 : (1282) Invalid operation
9 : (1282) Invalid operation
10 : (1282) Invalid operation
11 : (1282) Invalid operation
12 : (1282) Invalid operation
13 : (1282) Invalid operation
14 : (1282) Invalid operation
15 : (1282) Invalid operation
failed at glDeleteFramebuffers 16 OpenGL errors detected
0 : (1282) Invalid operation
1 : (1282) Invalid operation
2 : (1282) Invalid operation
3 : (1282) Invalid operation
4 : (1282) Invalid operation
5 : (1282) Invalid operation
6 : (1282) Invalid operation
7 : (1282) Invalid operation
8 : (1282) Invalid operation
9 : (1282) Invalid operation
10 : (1282) Invalid operation
11 : (1282) Invalid operation
12 : (1282) Invalid operation
13 : (1282) Invalid operation
14 : (1282) Invalid operation
15 : (1282) Invalid operation
failed at glDeleteFramebuffers 16 OpenGL errors detected
0 : (1282) Invalid operation
1 : (1282) Invalid operation
2 : (1282) Invalid operation
3 : (1282) Invalid operation
4 : (1282) Invalid operation
5 : (1282) Invalid operation
6 : (1282) Invalid operation
7 : (1282) Invalid operation
8 : (1282) Invalid operation
9 : (1282) Invalid operation
10 : (1282) Invalid operation
11 : (1282) Invalid operation
12 : (1282) Invalid operation
13 : (1282) Invalid operation
14 : (1282) Invalid operation
15 : (1282) Invalid operation
Instead of a green headset icon + two green controllers icons I get this orange warning (sometimes there are all 3 of them).
Also I don’t see controller models in VR but only green triangles.
Set OpenVR
Console output
Switch to module: “Welcome”
Switch to module: “VirtualReality”
Initializing “OpenVR” XR backend (1/1)
void __cdecl qMRMLVirtualRealityView::updateViewFromReferenceViewCamera(void) failed: no reference view node is set
XR backend " OpenVR " initialized
ActionManifestPath: “D:/Slicer_plugins/SlicerVirtualReality/build_debug/vtkRenderingOpenVR-build/vtkRenderingOpenVR/”
Number of registered displayable manager: 8
Registered displayable managers:
vtkMRMLModelDisplayableManager
vtkMRMLThreeDReformatDisplayableManager
vtkMRMLCrosshairDisplayableManager3D
vtkMRMLMarkupsDisplayableManager
vtkMRMLSegmentationsDisplayableManager3D
vtkMRMLTransformsDisplayableManager3D
vtkMRMLLinearTransformsDisplayableManager
vtkMRMLVolumeRenderingDisplayableManager
This time there is a correct icon for a headset and sometimes also for controllers (don’t know what causes controller icons to show up though).
This time I can see controller models in VR but they have the same problem… sitting at top of my FOV. Moreover, I can see a strange cube/square:
A possible clue
I see controllers and the cube (in case of OpenVR) twice… like if it’s rendered for both eyes separately or no depth perception is happening.
Summary:
I tried to use OpenVR, OpenXR, switch between OpenXR/VR provider from SteamVR to Varjo Base and back. I tried loading MHD data and tried VR without loading any data. The only difference I can see are different icons representing VR headset and controllers in 3D Slicer and different controller models in VR (green triangles for OpenXR, correct models for OpenVR) + in case of OpenVR I also see a cube/square. I also can see controller models/triangles + cube for each eye separately.
EDIT:
If I select OpenVR and in SlicerVirtualReality settings check the “Controller Transform” option this errors spam my console:
Console output
void __cdecl qMRMLVirtualRealityViewPrivate::updateTransformNodeAttributesFromDevice(class vtkMRMLTransformNode *,enum vtkEventDataDevice,unsigned int) : Unable to retrieve LeftController pose
void __cdecl qMRMLVirtualRealityViewPrivate::updateTransformNodeAttributesFromDevice(class vtkMRMLTransformNode *,enum vtkEventDataDevice,unsigned int) : Unable to retrieve RightController pose