Skip to main content
Participant
April 14, 2015

Proper way to pause the OVR service

With the Oculus Configuration Utility you can 'pause' the service, which releases the HID device, allowing me to gain access to it (the physical rift). I would like a programmatic way to do this.

I can stop the OVR service by killing the process
taskkill /F /IM OVRServer_x64.exe

and I can successfully restart the service
%programfiles(x86)%\Oculus\Service\OVRServer.exe_x64.exe -start

which works, but I would like to do it properly, i.e. the 'pause' and 'un-pause' the service in the config utility, rather than killing it outright.

Cheers,

EDIT:spelling

    5 replies

    Inspiring
    April 14, 2015
    Why do you need to do this, if you don't mind me asking?
    AMD Ryzen 7 1800X | MSI X370 Titanium | G.Skill 16GB DDR4 3200 | EVGA SuperNOVA 1000 | Corsair Hydro H110i Gigabyte RX Vega 64 x2 | Samsung 960 Evo M.2 500GB | Seagate FireCuda SSHD 2TB | Phanteks ENTHOO EVOLV
    PhyterJetAuthor
    Participant
    April 15, 2015
    My project requires knowing where the DK2 tracking markers are, and thanks to the work done by Oliver Kreylos (and reddit): http://doc-ok.org/?p=1095, I know this is done by reading HID feature reports. The OVR Service blocks me from requesting feature reports, which is why I would like to pause it.

    It would be nice if this was a one time deal, get the marker positions once and store them for future use, but since each DK2 appears to report different slightly different marker positions (calibrated in the factory ?) I would like to do this at runtime.
    PhyterJetAuthor
    Participant
    April 15, 2015
    I think I found what I need here http://docs.ros.org/hydro/api/oculus_sdk/html/classOVR_1_1Win32_1_1HIDDevice.html

    void HIDShutdown () 

    but more interesting is
    bool GetFeatureReport (UByte *data, UInt32 length)

    Which means I might be able to throw away my messy win api code, and not won't need to pause the OVR service.

    @cybereality why does ros.org document these two functions while developer.oculus.com does not? what am I missing here? sorry if this is a naive/nooby question.
    Inspiring
    April 15, 2015
    That must be a doc from the old SDK, because I am not seeing that function or file anywhere in the 0.5.0.1 source.
    AMD Ryzen 7 1800X | MSI X370 Titanium | G.Skill 16GB DDR4 3200 | EVGA SuperNOVA 1000 | Corsair Hydro H110i Gigabyte RX Vega 64 x2 | Samsung 960 Evo M.2 500GB | Seagate FireCuda SSHD 2TB | Phanteks ENTHOO EVOLV
    PhyterJetAuthor
    Participant
    April 15, 2015
    Feb 2013 apparently, lol.

    If you pause the OVR service from the configuration utility, the OVR service prints this
    http://i.imgur.com/2UjZYr5.png

    Which still agrees with the old source code http://docs.ros.org/hydro/api/oculus_sdk/html/OVR__Win32__HIDDevice_8cpp_source.html

    specifically this snippet from the HIDShutdown() method
    LogText("OVR::Win32::HIDDevice - Closed '%s'\n", DevDesc.Path.ToCStr());


    and yes I am running SDK 0.5.0.1 (v1.6), so it should be there somewhere, or something with the same effect.

    I'm going to go read up on the 'native SDK' development, which will hopefully clear things up.

    Cheers,

    EDIT: and it's definitely the OVR Service which prints that, not the config utility.
    EDIT2: does that mean the OVR service was not built with the SDK?