Giter Club home page Giter Club logo

osvr-vive's Introduction

OSVR-Vive

Maintained at https://github.com/OSVR/OSVR-Vive

For details, see http://osvr.github.io

Vive specific documentation at https://github.com/OSVR/OSVR-Docs/blob/master/Configuring/HTC-Vive.md

This is a plugin for OSVR that provides access to the tracker data on HTC Vive HMDs and controllers. It also contains tools to extract a display descriptor with distortion mesh data from a Vive, as well as additional tools that build from source but are not installed into binary snapshots.

Compiling

To compile, this project requires OSVR, Eigen, and Boost, as well as the submodules included in the repository (clone with git clone --recursive). Compile as you would other CMake-based projects, setting CMAKE_PREFIX_PATH to show the way to dependencies in general. You may need to set EIGEN3_INCLUDE_DIR specifically.

You may also use a pre-compiled set of binaries from the project. They're available from http://access.osvr.com/binary/vive

Developer links

These may be useful in keeping track of upstream changes to the lighthouse driver library.

Licenses

This plugin: Licensed under the Apache License, Version 2.0.

Vendored projects:

  • Valve SteamVR openvr (specifically openvr_driver headers) - MIT license.

Note: At runtime, this plugin dynamically loads the Lighthouse SteamVR plugin distributed with SteamVR, as well as loads some SteamVR configuration settings (room calibration, etc) from JSON files.

osvr-vive's People

Contributors

a1batross avatar christophhaag avatar drawingpixels avatar duff14 avatar godbyk avatar her001 avatar mars979 avatar pstelzer avatar rpavlik avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

osvr-vive's Issues

openvr driver about overwriting vive hmd positioning and getting vive hmd gyroscope rotation data

Hello,
I am a developer doing openvr related development, but this is my first exposure to openvr
I read something about OSVR online and wanted to ask if OSVR can help me with the needs described below, and if so, is there any more detailed documentation on how to get started.

I created an openvr driver and it works fine. I have tried adding a device in the driver: TrackedDeviceClass_GenericTracker, this tracker device receives 3rd party positioning data via UDP, and overlays the positioning data with the helmet positioning data by using trackingoverrides; I don't use a base station.
The problem now is:

When I use trackingoverrides to override the HMD positioning, the window of the steamVR application immediately pops up a prompt box, prompting me to set the room, the error code is C200; and the VR view is not displayed on the PC.
https://user-images.githubusercontent.com/39475297/148365368-d15b0e84-e2ab-449b-abc5-f1b91b94cd1f.png
I see there are some methods that say other chaperone json files can be used directly, but I don't know how to use it, can anyone tell me the details? How to unify the coordinate system in the openvr driver, and how to avoid the frequent pop-up of room settings in steamvr?

I want to use the position data in the third-party positioning data in the driver (without its rotation), and then use the rotation data of the HTC VIVE helmet's own gyroscope, and combine the third-party position data with the rotation data of the HTC vive helmet's gyroscope. After fusion, I set the positioning and rotation of the helmet together, because I know its own gyro rotation data is very accurate. Is my method correct? And how to get the rotation data of HTC vive helmet gyroscope through openvr driver? Note that I do not use lighthouse base stations.
I have tested a lot of examples, but all of them have the above problems, including the vive official git sample, OpenVR-driver-for-DIY, Simple-OpenVR-Driver-Tutorial and many more.
Hope to get help, thanks. I asked the same question on the steam forum because I was really bothered by it for a long time, I hope to get help, thanks.
Best ,
Looking forward to getting a reply

Trigger Button is reported as Trackpad Click Button

While testing the callbacks for the buttons on the controller I noticed that I'm receiving a callback for the Trackpad Click Button instead of the Trigger Button when I press the Trigger.
The handling on my side seems to be correct at a first glance.
But I found that in OSVRViveTracker.cpp the ID offset for the Trigger Button is the same as for the Trackpad Click Button:

static const auto TRACKPAD_CLICK_BUTTON_OFFSET = 4;
static const auto TRIGGER_BUTTON_OFFSET = 4;

I'm not absolutely sure if that's an error, but it would explain my issue.

Problem with ViveDisplayExtractor.exe and display

hello,
i want to use from steamvr osvr plugin but when i'm using from ViveDisplayExtractor.exe it doesn't generate display files ,and this is output :

July 11 13:40:08.307 info [OSVR]: Logging for C:\Program Files\OSVR\SDK\x64\bin
ViveDisplayExtractor.exe
July 11 13:40:08.374 info [ServerDriverHost]: TrackedDeviceAdded(LHR-D6B76217)

[DisplayExtractor] Device with s/n LHR-D6B76217 activated, assigned ID 0
[DisplayExtractor] Got 1 tracked devices at startup
[DisplayExtractor] -- it's a display, too! We'll extract its display parameters
now.
Error trying to read the manufacturer of the attached HMD...
Error trying to read the model of the attached HMD...
[getStringProperty] Got an initial return value larger than the buffer size: ret
= 4075540368, buf.size() = 32
[getStringProperty] THIS SHOULDN'T HAPPEN: Got a return value larger than the bu
ffer size: ret = 4075540368, buf.size() = 32
Error trying to read the serial number of the attached HMD...

[DisplayExtractor]

[DisplayExtractor] Successfully extracted display parameters from Vive.

[DisplayExtractor] Writing distortion mesh data file:
C:/Program Files/OSVR/SDK/x64/bin/displays/HTC_Vive_meshdata.json

[DisplayExtractor] Writing display descriptor file:
C:/Program Files/OSVR/SDK/x64/bin/displays/HTC_Vive.json

[DisplayExtractor] Be sure to re-run this tool if you move your OSVR Server inst
allation, as the generated files include absolute paths.
[DisplayExtractor] Press enter to quit...

and in cpp context when i insert this code :

osvr::renderkit::RenderManager* render =
osvr::renderkit::createRenderManager(context.get(), "OpenGL");

then i have display error problem :

error [createRenderManager]: Got Display info from server (
ignore earlier errors that occured while we were waiting to connect)

...

July 11 13:55:29.058 error [createRenderManager]: Could not parse /display strin
g from server.

my system info:
Graphics card: Gigabyte Geforce gtx 1070
Graphic Driver version : 384.76
Operating system: windows 8.1
Version of SteamVR : 1499136050
VR Device: HTC Vive

how can i solve this problem?

error 105 with recent SteamVR

I'm compiling with my pull request #30.

This config worked before, so presumably a SteamVR/lighthouse update broke it.

"Got error code 105" is probably the error that makes it fail.

HmdError_Init_InterfaceNotFound (105) - The specific interface function requested by VR_Init or VR_GetGenericInterface could not be found. Is the SDK being used newer than the installed runtime?

June 03 12:40:20.902 info [OSVR]: Logging for /usr/bin/osvr_server
June 03 12:40:20.902 info [OSVR Server]: Using config file osvr_server_config.vive.sample.json from command line argument.
June 03 12:40:20.902 info [OSVR Server]: Attempting to load config file 'osvr_server_config.vive.sample.json'.
June 03 12:40:20.902 info [OSVR Server]: Constructing server as configured...
June 03 12:40:20.904 info [OSVR Server]: Loading auto-loadable plugins...
June 03 12:40:20.969 info [OSVR Server]: Loading plugins...
June 03 12:40:20.969 info [OSVR Server]: Instantiating configured drivers...
June 03 12:40:20.971 info [OSVR Server]: Display descriptor found and parsed from config file.
June 03 12:40:20.971 info [OSVR Server]: RenderManager config found and parsed from the config file.
June 03 12:40:20.971 info [OSVR Server]: Triggering automatic hardware detection...
June 03 12:40:20.971 info [OSVR Server]: Registering shutdown handler...
June 03 12:40:20.971 info [OSVR Server]: Starting server mainloop: OSVR Server is ready to go!
June 03 12:40:20.971 info [OSVR Server]: Performing hardware auto-detection.
June 03 12:40:21.261 info [OSVR-Vive]: Found the Vive driver at /home/chris/.local/share/Steam/SteamApps/common/SteamVR/drivers/lighthouse/bin/linux64/driver_lighthouse.so
June 03 12:40:21.261 info [OSVR-Vive]: Driver config dir is: /home/chris/.local/share/Steam/config/lighthouse
June 03 12:40:21.261 info [OSVR Server]: Added device: com_osvr_Vive/ViveSync
June 03 12:40:21.270 info [OSVR Server]: Sent path tree to clients.
Got error code 105
June 03 12:40:21.271 error [OSVR-Vive]: Could not start the server device provider in the Vive driver. Exiting.
June 03 12:40:21.271 error [OSVR-Vive]: Vive driver startup failed.
June 03 12:40:21.271 info [OSVR-Vive]:  Unloading to perhaps try again later.

Find steam using registry or at least winapi calls

Right now we have hard-coded two possible install paths, but that's fairly fragile: https://github.com/OSVR/OSVR-Vive/blob/master/FindDriver.cpp#L85

Won't work on any system where Windows or Steam isn't installed on C in the default location, or where a localized non-English version of Windows is being used.

I imagine there's probably a registry key to locate Steam, and failing that, we can at least get the location of the "special directory" 32-bit program files from windows API.

Add instructions for obtaining known-working versions of SteamVR

OSVR-Docs's Configuring/HTC-Vive currently[1] gives the date and branch number of a known-good SteamVR release, but no hints on how to obtain it. Here is a start at that.

Known-good versions can be obtained using SteamCMD. Installation should be straightforward. Then:

login <YOUR-STEAM-NAME>   # and enter password, and Guard.
app_info_request 250820
app_license_request 250820
download_depot 250820 250821 3490945749231862464
quit

Notes: That's download_depot <appid> <depotid> <target manifestid>. The SteamVR appid is 250820. SteamVR's OpenVR Win32 depotid is 250821, and OpenVR Linux depotid is 25083. The currently recommended 2016 July 5 release has a MANIFESTID in the Win32 depot of 3490945749231862464, obtained from here. For linux, that would be download_depot 250820 250823 9183475244149741279.

I am insufficiently familiar with OSVR-Vive to know where those downloaded files should then be copied.

A last thought. My experience of the last few months suggests that "typically the driver is only compatible with the latest stable release of SteamVR" is too optimistic. At least on linux, driver_lighthouse.so on SteamVR stable seems to only rarely be compatible with Valve's public OpenVR openvr_driver.h. For instance, it hasn't been this month.

Thanks for your work.

[1] https://github.com/OSVR/OSVR-Docs/blob/6582b5cc8e15e2678047169461d0d03df4f9aa01/Configuring/HTC-Vive.md

Needs update for newer SteamVR releases.

Somewhere between April and SteamVR version v1461861470, there was a breaking change in the steamvr driver interface (they bumped the IServerTrackedDeviceProvider interface to 003, among other things, and did not initially publicly release that, see ValveSoftware/openvr#99 and more directly ValveSoftware/openvr#122 )

Since then, there have been a number of additional changes to the published "OpenVR" project/interface, and presumably corresponding and/or additional changes in the deployed SteamVR drivers in the Steam depots.

To avoid the need to load old drivers, this project needs some updating. We need to check the current interface versions being used on the three platforms being published - this script can find those strings in the binary: https://gist.github.com/rpavlik/aeeab316d1f85e2efddd64db58741b2f and DepotDownloader can download just the runtimes with the driver binaries, reducing file size and letting you get all the platforms on one system.

We also need to decide whether we will support loading more than the most recent builds - my hunch is probably not, racing their beam that way is probably enough work and we're not aiming for a full steamvr reimplementation, we just want to load the Vive driver and run it directly as a VR middleware system would, not acting like an application.

Verify the time offset is going the right direction

SteamVR's docs aren't entirely clear to me as to which direction the time offset (found in some callbacks, but most notably tracker) should be applied.

See code links:

/// Single, centralized routine to apply the various event time offsets - so

and for example, these callbacks (in the Pose one, it's actually inside the struct)

void ViveDriverHost::TrackedDeviceButtonPressed(uint32_t unWhichDevice,

I picked a direction, but hard to know if I picked it right. The value for buttons seems to be always 0 in my testing, while the tracker value goes small but non-negligible values positive and negative, so no obviously answer there.

Update for SteamVR 1473196558

Looks like on all three platforms, the interface string IVRSettings_001 in v1467410709 was replaced by IVRSettings_002 in v1473196558. If

descriptor files not getting written

Hello,
After executing the ViveDisplayExtractor.exe from /bin the descriptor files are not getting written at /bin/displays
So when I am running my application I am getting below error:
[OSVR Server] Using default config file - pass a filename on the command line to use a different one.
[OSVR Server] Using config file 'osvr_server_config.json'
[OSVR Server] Constructing server as configured...
[OSVR Server] Loading auto-loadable plugins...
[OSVR Server] Loading plugins...
[OSVR Server]
[OSVR Server] Instantiating configured drivers...
[OSVR Server]
[OSVR] ERROR: Could not load an object or display descriptor file specified by: "displays/HTC_Vive.json"

[OSVR] Tried loading displays/HTC_Vive.json: Could not open file
[OSVR Server] Using OSVR HDK for display configuration. Did not find an alternate valid 'display' object in config file.

I am using OSVR-Vive-build36-32bits plugin and OSVR-Runtime-v0.6-1204-g6cc9262-build188-win-32bit.msi server. Please let me know if any info is needed.

thanks
gaurav

ViveDisplayExtractor crashes

Windows 10 Home, version 1511, 64-bit
Using the build from OSVR-Vive-build57-64bits.zip
Using the server installed by OSVR-SDK-v0.6-1363-g92d6d9d-build341-win-64bit.msi

When I run ViveDisplayExtractor, it crashes, without showing any output. When I click debug, Visual Studio reports to me the following error:

Unhandled exception at 0x00007FF68BC3F8CB in ViveDisplayExtractor.exe: 0xC0000005: Access violation reading location 0x0000000000000000.

with the following, probably useless call stack:

>	ViveDisplayExtractor.exe!00007ff68bc3f8cb()	Unknown
 	ViveDisplayExtractor.exe!00007ff68bc39861()	Unknown
 	ViveDisplayExtractor.exe!00007ff68bc53903()	Unknown

When I try to start the OSVR server, it too crashes, debugging giving the following error:

Unhandled exception at 0x00007FF961E40BEB (com_osvr_Vive.dll) in osvr_server.exe: 0xC0000005: Access violation reading location 0x0000000000000000.

with the following call stack:

>	com_osvr_Vive.dll!00007ff961e40beb()	Unknown
 	com_osvr_Vive.dll!00007ff961e3365a()	Unknown
 	osvrPluginHost.dll!osvr::pluginhost::PluginSpecificRegistrationContextImpl::triggerHardwareDetectCallbacks() Line 97	C++
 	osvrPluginHost.dll!osvr::pluginhost::RegistrationContext::triggerHardwareDetect() Line 219	C++
 	osvrServer.dll!osvr::server::ServerImpl::m_update() Line 224	C++
 	osvrServer.dll!osvr::server::ServerImpl::m_loop() Line 240	C++
 	osvrServer.dll!osvr::server::ServerImpl::start::__l8::<lambda>() Line 146	C++

It's possible that I'm using mismatched versions of the server and plugin, but I don't know how to match them. The server build numbers start at 171, and the vive build numbers stop at 57, so I figured those must not refer to the same thing.

HTC Vive black screen in unity applications

Hi,

After downloading the DLL and configuring the OSVR Server as per instructions the HTC vive screens remain black when running simple Unity demos. The OSVR server starts correctly and acknowledges that a Vive is connected and calibrated (along with the 2 lighthouses and a controller), and indeed in the Unity Editor the HMD is tracked and the camera moves as expected when the Vive is moved. However, the HTC vive itself remains black.

I have the HTC vive dlls in the Plugins/Android/x86 folder, and I've checked the renderManager dlls are also present. What I've noticed is that when the scene is started, Unity shows an error in the console:

[OSVR-Unity] Failed to create RenderManager.
UnityEngine.Debug:LogError(Object)
OSVR.Unity.DisplayController:SetupRenderManager() (at Assets/OSVRUnity/src/DisplayController.cs:143)
OSVR.Unity.DisplayController:SetupDisplay() (at Assets/OSVRUnity/src/DisplayController.cs:176)
OSVR.Unity.DisplayController:Update() (at Assets/OSVRUnity/src/DisplayController.cs:317)

Has anyone tested the plugin in Unity?

Mac support - completed but needs docs

Most of the driver is cross-platform, however, some code in:

is necessarily platform-specific (paths, details of loading dynamic libraries at runtime) and was only initially implemented for Windows. Valve is shipping SteamVR lighthouse drivers for OS X at this time.

Also, it has come to my attention that while SteamVR has the driver_lighthouse.dylib file in a osx32 directory, it's actually a universal binary, so getPlatformDirname() here https://github.com/OSVR/OSVR-Vive/blob/master/FindDriver.cpp#L78 on Mac should be hard-coded to always append 32 regardless of build bitness. (Why would you append 32 if you're going to make it universal? just leave off the suffix... arg)

OSVR-Vive doesn't compile when using XUbuntu 16.04

synapse@darkside:~/Desktop/OSVR-Vive/build$ make
Scanning dependencies of target ViveLoaderLib
[ 4%] Building CXX object CMakeFiles/ViveLoaderLib.dir/ChaperoneData.cpp.o
[ 8%] Building CXX object CMakeFiles/ViveLoaderLib.dir/DriverContext.cpp.o
[ 13%] Building CXX object CMakeFiles/ViveLoaderLib.dir/DriverLoader.cpp.o
[ 17%] Building CXX object CMakeFiles/ViveLoaderLib.dir/DriverLog.cpp.o
[ 21%] Building CXX object CMakeFiles/ViveLoaderLib.dir/DriverManager.cpp.o
[ 26%] Building CXX object CMakeFiles/ViveLoaderLib.dir/FindDriver.cpp.o
[ 30%] Building CXX object CMakeFiles/ViveLoaderLib.dir/Properties.cpp.o
In file included from /usr/include/c++/5/bits/hashtable.h:35:0,
from /usr/include/c++/5/unordered_map:47,
from /home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h:38,
from /home/synapse/Desktop/OSVR-Vive/Properties.h:30,
from /home/synapse/Desktop/OSVR-Vive/Properties.cpp:26:
/usr/include/c++/5/bits/hashtable_policy.h: In instantiation of ‘struct std::detail::is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> >’:
/usr/include/c++/5/typetraits:137:12: required from ‘struct std::__and<std::__is_fast_hash<std::hash<vr::ETrackedDeviceProperty> >, std::detail::is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> > >’
/usr/include/c++/5/typetraits:148:38: required from ‘struct std::__not<std::__and_<std::__is_fast_hash<std::hash<vr::ETrackedDeviceProperty> >, std::detail::is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> > > >’
/usr/include/c++/5/bits/unordered_map.h:100:66: required from ‘class std::unordered_map<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>, std::hash<vr::ETrackedDeviceProperty>, std::equal_to<vr::ETrackedDeviceProperty>, std::allocator<std::pair<const vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> > > >’
/home/synapse/Desktop/OSVR-Vive/vendor/util-headers/util/KVDataStore.h:47:63: required from ‘class osvr::util::KVDataStore<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t> >’
/home/synapse/Desktop/OSVR-Vive/Properties.cpp:100:15: required from here
/usr/include/c++/5/bits/hashtable_policy.h:85:34: error: no match for call to ‘(const std::hash<vr::ETrackedDeviceProperty>) (const vr::ETrackedDeviceProperty&)’
noexcept(declval<const _Hash&>()(declval<const _Key&>()))>
^
In file included from /usr/include/c++/5/bits/move.h:57:0,
from /usr/include/c++/5/bits/stl_pair.h:59,
from /usr/include/c++/5/bits/stl_algobase.h:64,
from /usr/include/c++/5/memory:62,
from /home/synapse/Desktop/OSVR-Core/inc/osvr/Util/SharedPtr.h:63,
from /home/synapse/Desktop/OSVR-Core/inc/osvr/Util/Log.h:32,
from /home/synapse/Desktop/OSVR-Core/inc/osvr/Util/Logger.h:33,
from /home/synapse/Desktop/OSVR-Vive/Properties.h:29,
from /home/synapse/Desktop/OSVR-Vive/Properties.cpp:26:
/usr/include/c++/5/typetraits: In instantiation of ‘struct std::__not<std::__and_<std::__is_fast_hash<std::hash<vr::ETrackedDeviceProperty> >, std::detail::is_noexcept_hash<vr::ETrackedDeviceProperty, std::hash<vr::ETrackedDeviceProperty> > > >’:
/usr/include/c++/5/bits/unordered_map.h:100:66: required from ‘class std::unordered_map<vr::ETrackedDeviceProperty, boost::variant<bool, float, int, long unsigned int, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >, vr::HmdMatrix34_t, vr::HmdVector2_t>, std::hash<

Should report velocity

There's fields for it in the tracker report, don't know if the data is valid but since the Lighthouse system apparently is a fusion of IMU and the laser beacon sighting, I'd presume it probably is, if perhaps not in the world frame.

osvr_server crashed when load com_osvr_Vive.dll

Hello,

I meet an issue that osvr_server will always crashed when load com_osvr_Vive.dll(Both the version I build and download from the offical link have this issue).

I've added some debug code and find that it will be always crash at below code.
//DriverWrapper.h
/// This method must be called before calling
/// startServerDeviceProvider()
bool isHMDPresent() {
if (!(foundDriver() && foundConfigDirs() && haveDriverLoaded())) {
return false;
}
if (!loader_) { <--- always crash at here.
throw std::logic_error("Calls to isHMDPresent must occur "
"before startServerDeviceProvider!");
}
return loader_->isHMDPresent(locations_.rootConfigDir);
}

I don't know why it will be crash at here, actually I don't do anything, and I also think this maybe caused by the latest version of driver_lighthouse.dll(my version date is 2017.01.04), but I can't find an old version to verify it.

Is there anyone can help to check this issue?

Thanks.

Unable to Use #32 on Linux

I'm running Arch Linux:

$ cd ~
$ git clone --recursive https://github.com/OSVR/OSVR-Vive.git
$ cd OSVR-Vive
$ git pull origin pull/32/head
$ mkdir build
$ cd build
$ cmake ..
$ make

This yields the following build error:

Scanning dependencies of target ViveLoaderLib
[  4%] Building CXX object CMakeFiles/ViveLoaderLib.dir/ChaperoneData.cpp.o
[  8%] Building CXX object CMakeFiles/ViveLoaderLib.dir/DriverContext.cpp.o
In file included from /home/george/OSVR-Vive/DriverContext.h:30:0,
                 from /home/george/OSVR-Vive/DriverContext.cpp:26:
/home/george/OSVR-Vive/DriverManager.h:39:51: error: expected class-name before ‘{’ token
 class DriverManager : public vr::IVRDriverManager {
                                                   ^
/home/george/OSVR-Vive/DriverManager.h:43:40: error: ‘vr::DriverId_t’ has not been declared
     virtual uint32_t GetDriverName(vr::DriverId_t nDriver, char *pchValue,
                                        ^~~~~~~~~~
In file included from /home/george/OSVR-Vive/DriverContext.h:32:0,
                 from /home/george/OSVR-Vive/DriverContext.cpp:26:
/home/george/OSVR-Vive/Resources.h:38:43: error: expected class-name before ‘{’ token
 class Resources : public vr::IVRResources {
                                           ^
In file included from /home/george/OSVR-Vive/DriverContext.cpp:26:0:
/home/george/OSVR-Vive/DriverContext.h:67:9: error: ‘IVRDriverManager’ in namespace ‘vr’ does not name a type
     vr::IVRDriverManager *m_pVRDriverManager;
         ^~~~~~~~~~~~~~~~
/home/george/OSVR-Vive/DriverContext.h:68:9: error: ‘IVRResources’ in namespace ‘vr’ does not name a type
     vr::IVRResources *m_pVRResources;
         ^~~~~~~~~~~~
/home/george/OSVR-Vive/DriverContext.cpp: In constructor ‘vr::DriverContext::DriverContext()’:
/home/george/OSVR-Vive/DriverContext.cpp:39:7: error: class ‘vr::DriverContext’ does not have any field named ‘m_pVRDriverManager’
       m_pVRDriverManager(nullptr), m_pVRResources(nullptr) {}
       ^~~~~~~~~~~~~~~~~~
/home/george/OSVR-Vive/DriverContext.cpp:39:36: error: class ‘vr::DriverContext’ does not have any field named ‘m_pVRResources’
       m_pVRDriverManager(nullptr), m_pVRResources(nullptr) {}
                                    ^~~~~~~~~~~~~~
/home/george/OSVR-Vive/DriverContext.cpp: In constructor ‘vr::DriverContext::DriverContext(vr::ServerDriverHost*, vr::Settings*, vr::DriverLog*, vr::Properties*, vr::DriverManager*, vr::Resources*)’:
/home/george/OSVR-Vive/DriverContext.cpp:48:7: error: class ‘vr::DriverContext’ does not have any field named ‘m_pVRDriverManager’
       m_pVRDriverManager(driverManager), m_pVRResources(resources) {}
       ^~~~~~~~~~~~~~~~~~
/home/george/OSVR-Vive/DriverContext.cpp:48:42: error: class ‘vr::DriverContext’ does not have any field named ‘m_pVRResources’
       m_pVRDriverManager(driverManager), m_pVRResources(resources) {}
                                          ^~~~~~~~~~~~~~
/home/george/OSVR-Vive/DriverContext.cpp: In member function ‘virtual void* vr::DriverContext::GetGenericInterface(const char*, vr::EVRInitError*)’:
/home/george/OSVR-Vive/DriverContext.cpp:62:41: error: ‘IVRDriverManager_Version’ was not declared in this scope
     } else if (interfaceVersion.compare(IVRDriverManager_Version) == 0) {
                                         ^~~~~~~~~~~~~~~~~~~~~~~~
/home/george/OSVR-Vive/DriverContext.cpp:63:16: error: ‘m_pVRDriverManager’ was not declared in this scope
         return m_pVRDriverManager;
                ^~~~~~~~~~~~~~~~~~
/home/george/OSVR-Vive/DriverContext.cpp:64:41: error: ‘IVRResources_Version’ was not declared in this scope
     } else if (interfaceVersion.compare(IVRResources_Version) == 0) {
                                         ^~~~~~~~~~~~~~~~~~~~
/home/george/OSVR-Vive/DriverContext.cpp:65:16: error: ‘m_pVRResources’ was not declared in this scope
         return m_pVRResources;
                ^~~~~~~~~~~~~~
make[2]: *** [CMakeFiles/ViveLoaderLib.dir/build.make:87: CMakeFiles/ViveLoaderLib.dir/DriverContext.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:105: CMakeFiles/ViveLoaderLib.dir/all] Error 2
make: *** [Makefile:128: all] Error 2

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.