Skip to content

How to implement IVRDriverDirectModeComponent  #9

Description

@yth223

Currently we are working on creating our own HMD.
This HMD has two display (for Left and Right eye) and it's needs to rotate (portrait to landscape).
So I'm trying to implement IVRDriverDirectModeComponent.
nVidia's direct mode will be supported in the future, but now I want to display it on a display managed by the OS.

Stariting with a sample driver, I added IVRDriverDirectModeComponent(now empty functions only).
And set parameters below
Prop_HasDriverDirectModeComponent_Bool, true
IsDisplayOnDesktop() false
IsDisplayRealDisplay() false
And in GetComponent(), return IVRDriverDirectModeComponent instance.

Then Stem VR does not start and displays error code (457).
Functions in IVRDriverDirectModeComponent is called only DestroyAllSwapTextureSets().

So I want to ask the following questions.
1.I think my class is necessasy to implemented the interface ITrackedDeviceServerDriver,
IVRDisplayComponent, IVRDriverDirectModeComponent. Is it right?
2.I want to proceed with the implementation while checking that an empty function is called.
What do I need to start Steam at a minimum?

I am also reffering to this page
https://github.com/sencercoltu/openvr-customhmd
but I seem to have failed in a more basic place.

Best Regards.

Activity

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

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions