Skip to content

IVRDebug stub and IVROverlay014 stub#87

Open
SpookySkeletons wants to merge 2 commits intoSupreeeme:mainfrom
SpookySkeletons:debug
Open

IVRDebug stub and IVROverlay014 stub#87
SpookySkeletons wants to merge 2 commits intoSupreeeme:mainfrom
SpookySkeletons:debug

Conversation

@SpookySkeletons
Copy link
Contributor

This stubs out Debug interface and implements IVROverlay_014 which is just enough to get steamvr room setup to segfault good and proper after initializing a window and vrcmd is seemingly able to run partially toward a quick calibration. Lack of IVRChaperoneSetup_006 interface appears to kill it.

[bones@G513QY linux64]$ ./vrcmd --resetroomsetup
[2025-04-23T13:53:35.626 INFO xrizer ThreadId(1)] Initializing XRizer
[2025-04-23T13:53:35.626 INFO xrizer::clientcore ThreadId(1)] Creating ClientCore version "IVRClientCore_003"
[2025-04-23T13:53:35.626 INFO xrizer::clientcore ThreadId(1)] Creating ClientCore version "IVRClientCore_003"
LOG in xrCreateInstance: Instance created
createInfo->applicationInfo.applicationName: XRizer
createInfo->applicationInfo.applicationVersion: 0
createInfo->applicationInfo.engineName:
createInfo->applicationInfo.engineVersion: 0
createInfo->applicationInfo.apiVersion: 1.0.0
appinfo.detected.engine.name: (null)
appinfo.detected.engine.version: 0.0.0
quirks.disable_vulkan_format_depth_stencil: false
quirks.no_validation_error_in_create_ref_space: true
quirks.skip_end_session: false
quirks.parallel_views: false

LOG in xrCreateInstance: Selected devices
Head: 'Simulated HMD'
Eyes: ''
Left: ''
Right: ''
Gamepad: ''
Hand-Tracking Left: ''
Hand-Tracking Right: ''
[2025-04-23T13:53:35.656 INFO xrizer::openxr_data ThreadId(1)] New session created!
[2025-04-23T13:53:35.656 INFO xrizer::openxr_data ThreadId(1)] OpenXR session state changed: READY
[2025-04-23T13:53:35.656 INFO xrizer::openxr_data ThreadId(1)] Began OpenXR session.
[2025-04-23T13:53:35.657 WARN xrizer::clientcore ThreadId(1)] app requested unknown interface "IVRRenderModelsInternal_XXX"
[2025-04-23T13:53:35.657 WARN xrizer::clientcore ThreadId(1)] app requested unknown interface "IVRResources_001"
[2025-04-23T13:53:35.657 WARN xrizer::clientcore ThreadId(1)] app requested unknown interface "IVRDriverManager_001"
[2025-04-23T13:53:35.657 WARN xrizer::clientcore ThreadId(1)] app requested unknown interface "IVRSettingsInternal_001"
[2025-04-23T13:53:35.657 WARN xrizer::clientcore ThreadId(1)] app requested unknown interface "IVRPaths_001"
[2025-04-23T13:53:35.657 WARN xrizer::clientcore ThreadId(1)] app requested unknown interface "IVRPathsInternal_001"
[2025-04-23T13:53:35.657 WARN xrizer::clientcore ThreadId(1)] app requested unknown interface "IVRProperties_001"
[2025-04-23T13:53:35.657 WARN xrizer::clientcore ThreadId(1)] app requested unknown interface "IVRPropertiesInternal_001"
[2025-04-23T13:53:35.657 WARN xrizer::clientcore ThreadId(1)] app requested unknown interface "IVRServerInternal_XXX"
[2025-04-23T13:53:35.657 WARN xrizer::clientcore ThreadId(1)] app requested unknown interface "IVRSystemLayerInternal_XXX"
[2025-04-23T13:53:35.657 WARN xrizer::clientcore ThreadId(1)] app requested unknown interface "IVRClientInternal_XXX"
[2025-04-23T13:53:35.657 WARN xrizer::clientcore ThreadId(1)] app requested unknown interface "LocalizationManager"
[2025-04-23T13:53:35.657 WARN xrizer::clientcore ThreadId(1)] app requested unknown interface "IVRCompositorSystemInternal_XXX"
[2025-04-23T13:53:35.657 WARN xrizer::clientcore ThreadId(1)] app requested unknown interface "IVRInputInternal_002"
[2025-04-23T13:53:35.657 WARN xrizer::clientcore ThreadId(1)] app requested unknown interface "IVRChaperoneSetup_006"
[2025-04-23T13:53:35.657 WARN xrizer::clientcore ThreadId(1)] app requested unknown interface "IVRChaperoneInternal_001"
[2025-04-23T13:53:35.657 WARN xrizer::clientcore ThreadId(1)] app requested unknown interface "IVRMailbox_002"
[2025-04-23T13:53:35.657 WARN xrizer::clientcore ThreadId(1)] app requested unknown interface "IVRBlockQueue_005"
[2025-04-23T13:53:35.657 WARN xrizer::clientcore ThreadId(1)] app requested unknown interface "IVRApplicationsInternal_XXX"
[2025-04-23T13:53:35.657 WARN xrizer::clientcore ThreadId(1)] app requested unknown interface "IVRNotificationsInternal_001"
[2025-04-23T13:53:35.657 WARN xrizer::clientcore ThreadId(1)] app requested unknown interface "IVROverlay_028"
[2025-04-23T13:53:35.657 WARN xrizer::clientcore ThreadId(1)] app requested unknown interface "IVROverlayInternal_XXX"
[2025-04-23T13:53:35.657 WARN xrizer::clientcore ThreadId(1)] app requested unknown interface "IVRExtendedDisplay_001"
[2025-04-23T13:53:35.657 WARN xrizer::clientcore ThreadId(1)] app requested unknown interface "IVRTrackedCameraInternal_XXX"
[2025-04-23T13:53:35.657 WARN xrizer::clientcore ThreadId(1)] app requested unknown interface "IVRDriverDirectInternal_XXX"
Got a pose after 0.03l seconds

[2025-04-23T13:53:35.658 WARN xrizer::clientcore ThreadId(1)] app requested unknown interface "IVRChaperoneSetup_006"
Segmentation fault (core dumped)

@Supreeeme
Copy link
Owner

I'm concerned about all those internal interfaces, and I'd prefer to avoid figuring those out if possible. The IVROverlay_014 is fine because I'd bet games would use that, but I'm not sure about accepting IVRDebug. If it can be proven that implementing some non insane set of interfaces will get this to work I'll accept it.

@SpookySkeletons
Copy link
Contributor Author

Added some more stubs.

For having vrcmd succeed in calling through a quick calibration the todo may be removed from vr::ETrackingUniverseOrigin::RawAndUncalibrated => todo!(), and substituted for any valid space and the calibration call will complete free of segfaults with all the appropriate unimplemented calls logged.

Looks like none of those internal interfaces will be necessary.

Let me know if there's any issues allowing Other type apps and moving unreachable -> todo

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants