Closed toastedcrumpets closed 8 years ago
Possibly related and/or useful: https://github.com/OSVR/OSVR-Core/issues/339 and the uvc-camera branch.
I checked out the uvc-camera branch, rebased against the current master (0cae00952a4badf1f22642473370d5e7962467b6) (without conflicts, the god of gits is smiling today), and this resolves my issues. I haven't actually tested tracking as I'm working remotely from my rig today, but I could see the debug window and an IR image of my office, without "select timeout" messages or any delay.
I'll close this issue and continue responding in issue #339 if tracking does not work.
diff --git a/plugins/videobasedtracker/CMakeLists.txt b/plugins/videobasedtracker/CMakeLists.txt
index 41293bd..3f1df21 100644
--- a/plugins/videobasedtracker/CMakeLists.txt
+++ b/plugins/videobasedtracker/CMakeLists.txt
@@ -67,6 +67,8 @@ endif()
if(NOT WIN32)
find_package(libuvc REQUIRED)
+ find_package(PkgConfig)
+ pkg_check_modules(LIBUSB libusb-1.0)
endif()
###
@@ -120,8 +122,8 @@ if(WIN32)
set_target_properties(ViewTrackingCamera PROPERTIES
FOLDER "OSVR Plugins/Video-Based Tracker")
else()
- target_link_libraries(com_osvr_VideoBasedHMDTracker ${libuvc_LIBRARIES})
- target_include_directories(com_osvr_VideoBasedHMDTracker PRIVATE ${libuvc_INCLUDE_DIRS})
+ target_link_libraries(com_osvr_VideoBasedHMDTracker ${libuvc_LIBRARIES} ${LIBUSB_LIBRARIES})
+ target_include_directories(com_osvr_VideoBasedHMDTracker PRIVATE ${libuvc_INCLUDE_DIRS} ${LIBUSB_INCLUDE_DIRS})
endif()
set_target_properties(com_osvr_VideoBasedHMDTracker PROPERTIES
For future reference, this was resolved by updating the camera firmware from v5 to v7. On my windows 8.1 system, the camera firmware update tool erroneously stated I already had the firmware upgrade, but running lsusb -v -d 0bda:57e8 | grep bcdDevice
on Linux gave the version as '0.05'.
I switched to a windows 7 pc and found I could complete the firmware update, and the select timeout error was resolved.
Build is from current master (0cae009) with patches to fix compilation on Ubuntu 16.04 (see my osvr-core fork for exact details, but they are minor changes).
Starting up the osvr_server using the
osvr_server_config.HDK13ExtendedLandscape.sample.json
configuration, running as root, the server outputsselect timeout
every 10 seconds. Using the tracker viewer demonstrates that IMU tracking is working; however the positional tracking seems not to work as it does on windows (missing comments on bringing the HMD into view, holding it still etc.).Starting the server with
`showDebug": true
in the tracker plugin options, the debug window for the video tracker apppears, but only after minutes of delay and the window is unresponsive (appears to redraw when select timeouts occur).Any ideas on this one? I would really like to play with positional tracking on Linux if at all possible.