Jakob Bornecrantz
80dd892987
xrt: Add serial and manufacturer to xrt_prober video device probing interface
2020-04-28 18:51:07 +00:00
Christoph Haag
d4e4a690db
d/vive_controller: Add basic 3dof vive_controller_driver
...
v2: Add basic 3DOF Index Controller support
Only the "gen1" watchman usb protocol is supported (almost same as vive wand).
Note: Lighthouse v2 data is not properly ignored, the IMU data is only parsed correctly
when controller is not hit by lighthouse lasers.
Supported:
* trigger value
* trigger button
* trackpad x, y
* trackpad touch
* thumbstick x, y
* thumbstick click
* system click
* a click,
* b click
Not supported:
* trigger touch
* touchpad force
* thumbstick touch
* system touch
* a touch
* b touch
* grip squeeze
* finger tracking
2020-04-28 10:22:42 +00:00
Ryan Pavlik
427808d09a
build: Use version script in Meson build too.
2020-04-27 17:33:43 -05:00
Ryan Pavlik
95b5c03f10
build: Relink if version script changes.
2020-04-27 17:33:38 -05:00
Ryan Pavlik
a11f5cc429
target/oxr: Mark the runtime target as a module, not a shared library.
2020-04-24 20:34:53 +00:00
Jakob Bornecrantz
945f2c82ed
targets: Move xrt_instance implementation into targets
2020-04-11 12:31:58 +01:00
Jakob Bornecrantz
c39cb39643
st/oxr: Use new xrt_instance object
2020-04-10 13:48:18 +01:00
Jakob Bornecrantz
fa0789343e
targets: Add stub implementations of xrt_gfx_provider_create_fd
...
This is needed by st/prober's default implementation of xrt_instance.
2020-04-10 13:48:18 +01:00
Jakob Bornecrantz
de20d87f87
xrt: Make it possible for the prober to pass in JSON data to the drivers
2020-04-10 12:29:21 +00:00
Jakob Bornecrantz
a8a4d8c3dd
d/arduino: Add new flexible arduino based input device
2020-03-27 10:22:19 +00:00
Ryan Pavlik
a974562d43
t/openxr: Unify configured files for Meson and CMake.
2020-03-23 17:29:43 -05:00
Ryan Pavlik
377ae07e53
xrt: Add missing SPDX tags
2020-03-23 17:29:43 -05:00
Ryan Pavlik
09c189b6ba
build: Install more targets
2020-03-23 17:29:43 -05:00
Pete Black
b6613db5d4
d/dd: Add Daydream driver
2020-03-11 21:36:49 +00:00
Ryan Pavlik
fe40691052
build: Start using version script to reduce the number of exported symbols
2020-03-04 09:55:16 -06:00
Ryan Pavlik
71c29425d4
build: Fix linking issues preventing the OpenXR runtime from working.
2020-03-04 09:54:47 -06:00
Ryan Pavlik
92205ab5be
build: Refactor CMake build to use static libraries instead of object bundles.
...
This allows transitive dependencies to work easier and improves compatibility.
It takes a little bit more storage at build time, and possibly a little extra time.
2020-03-04 11:15:35 +00:00
Ryan Pavlik
81d9983398
build: Improve handling of common dependencies, and portability
2020-03-03 10:33:14 +00:00
Ryan Pavlik
fdaede836c
build: Make it possible to turn off the main compositor lib and runtime target.
2020-03-03 10:33:14 +00:00
Jakob Bornecrantz
0619190d2b
build: Refactor how config defines are handled
...
With loads of changes from Ryan.
2020-03-03 10:33:14 +00:00
Jakob Bornecrantz
ca3c266dc1
comp: Split client and main in the build system as well
2020-03-02 12:01:04 +00:00
Jakob Bornecrantz
09aa8794b2
aux/vk: Refactor out helper code into own library
2020-03-02 11:58:40 +00:00
Jakob Bornecrantz
d6d934e35f
d/rs: Meson build
2020-02-10 20:07:31 +00:00
Jakob Bornecrantz
53201debdc
d/rs: Add a simple pure 6DOF device, for the T26[1|5] devices
2020-02-10 20:07:31 +00:00
Nova
981fe55a27
d/ns: Add North Star stub driver
2020-01-25 17:06:51 +00:00
Jakob Bornecrantz
d305f773ea
d/ohmd: Do not open External Device by default
2020-01-25 14:42:02 +00:00
Jakob Bornecrantz
356e4c18c1
d/dummy: Add dummy HMD driver
2020-01-25 14:42:02 +00:00
Ryan Pavlik
871395d5b5
build: Adjust meson build equivalently
2020-01-14 12:28:23 -06:00
Ryan Pavlik
47f704277a
xrt: Let BUILD_TRACKING mean you need more than just the IMU fusion.
...
This is required to build anything that uses the IMU fusion module
without OpenCV.
2020-01-14 11:51:12 -06:00
Ryan Pavlik
c1928468af
t/gui: Fix SDL flag enum type
2020-01-09 17:35:54 -06:00
Ryan Pavlik
c123195800
t/oxr: Fix type issue with sdl2 code
2020-01-09 17:35:54 -06:00
Ryan Pavlik
13c099f59e
xrt: Fix for mismatched parameter names
2020-01-09 22:54:01 +00:00
Ryan Pavlik
5c830f16b2
t/oxr: Fix linking in absence of SDL2
2019-12-07 18:25:37 +00:00
Ryan Pavlik
24158bd747
t/gui: Apply clang-tidy fixes to remove redundant returns.
2019-12-07 18:24:56 +00:00
Ryan Pavlik
d9fb855f6e
t/cli: Fix type correctness
2019-12-07 18:24:56 +00:00
Christoph Haag
b17f1c2f97
st/oxr: Initialize sdl on main thread
...
Calling SDL_Init() in different threads in the same process crashes.
In this SDL2 code X11_XOpenDisplay() will be a null pointer on the second thread;
if (SDL_X11_LoadSymbols()) {
display = X11_XOpenDisplay(NULL);
This becomes a problem when monado starts the debug UI in a thread,
and then an OpenXR client application tries to initialize SDL.
Two consecutive SDL_Init() in the same thread is harmless though.
2019-11-17 13:59:21 +00:00
Jakob Bornecrantz
a29dd8c0a4
st/oxr: Improve destruction of GUI hack
2019-11-09 12:53:42 +00:00
Ryan Pavlik
e8660a18bd
build: Use CMAKE_POSITION_INDEPENDENT_CODE instead of target props.
...
Reduces repetitive code.
2019-11-01 16:51:54 -05:00
Jakob Bornecrantz
5f4ddcc414
t/cli: Add a just probe command
2019-10-25 18:34:18 +01:00
Jakob Bornecrantz
8301bd8d4c
external: Refactor out sdl functions from main cimguo.cpp
2019-10-22 21:37:03 +01:00
Lubosz Sarnecki
02dc839ca8
d/vive: Add initial support for the Valve Index.
2019-10-22 19:18:47 +02:00
Lubosz Sarnecki
2ed3109c95
d/vive: Add initial support for Vive Pro.
2019-10-22 19:18:47 +02:00
Lubosz Sarnecki
e063e8245e
d/vive: Add native driver for the Vive.
...
This adds a driver for the Vive family of devices based on Philipp
Zabel's ouvrt.
The driver currently only handles the IMU and main board report streams,
but is able to acquire the JSON configuration and utilize it for IMU
calibration as well as distortion configuration.
2019-10-22 19:18:47 +02:00
Jakob Bornecrantz
e56271d968
st/oxr: Add super hacky debug gui
2019-10-15 20:54:57 +01:00
Jakob Bornecrantz
5f1078675d
st/gui: Do not call prober select in debug scene
2019-10-15 20:54:52 +01:00
Jakob Borncrantz
0bc91ab1cd
cmake: Make sure to link to pthreads
2019-10-15 21:00:12 +02:00
Lubosz Sarnecki
6ec8721899
xrt: Add num_devices to prober found interface.
...
In order to access multiple devices the prober found interface needs to
pass the length of the device list. This patch updates the found
interface in all drivers.
2019-10-11 15:56:20 +01:00
Drew DeVault
202d1d72aa
openxr/meson.build: remove install: true
...
This removes the meson feature warnings.
2019-10-10 22:58:10 +00:00
Jakob Bornecrantz
7680038f8b
t/gui: Request forward compatible OpenGL version and minimum 3.2
2019-10-10 16:06:57 +01:00
Jakob Bornecrantz
102e36efc9
st/gui: Don't include glad directly
2019-10-09 22:11:41 +01:00
Jakob Bornecrantz
1afc4df95c
st/gui: Refactor gui code into it's own state tracker
2019-10-09 21:53:21 +01:00
Jakob Bornecrantz
e327d56bf4
aux/ogl: Introduce a single small OpenGL library
2019-10-09 17:07:23 +01:00
Jakob Bornecrantz
420f25c7f7
t/gui: Refactor out SDL2 code
2019-10-09 16:32:58 +01:00
Lubosz Sarnecki
979536dd4b
xrt/comp/cmake: Enable build of Wayland backend.
...
Add pkgconfig based Wayland build including protocol generation.
2019-10-02 12:22:42 +02:00
Jakob Bornecrantz
3e27720083
t/gui: Better handling of sink interceptors
2019-09-28 18:02:41 +01:00
Jakob Bornecrantz
6dcf69df83
aux/tracking: Adjust checkerboard corners for subpixel accuracy
2019-09-28 02:47:42 +01:00
Jakob Bornecrantz
ee3f54adb6
aux/tracking: Add parameters to calibration
2019-09-27 20:49:31 +01:00
Jakob Bornecrantz
c295c8e6c9
xrt: Refactor meson and cmake (most) to fix cmake build
2019-09-27 12:19:48 +01:00
Jakob Bornecrantz
d848ea010f
xrt: s/XRT_BUILD_*/XRT_BUILD_DRIVER_*/g
2019-09-27 12:03:36 +01:00
Drew DeVault
064aef3526
build: port to meson
2019-09-26 15:05:22 +00:00
Jakob Bornecrantz
b1febd8971
t/gui: Add a calibration scene
2019-09-23 11:46:06 +01:00
Jakob Bornecrantz
b50415a367
t/gui: Add main menu and pure debug scene
2019-09-21 18:33:45 +01:00
Jakob Bornecrantz
65eeb19939
targets: Link with tracking if built
2019-09-21 18:21:05 +01:00
Ryan Pavlik
f123c41146
t/gui: Support quat values
2019-09-20 10:07:50 +01:00
Ryan Pavlik
f10eaafcdb
t/gui: Align floats by always outputting the + or -
2019-09-20 10:07:46 +01:00
Lubosz Sarnecki
910f16fd30
targets/cli: Fix build with OpenHMD disabled.
...
Without this patch the build is failing due to linker errors
when BUILD_WITH_OPENHMD is set to false.
2019-09-20 10:15:17 +02:00
Jakob Bornecrantz
9d1353c626
t/gui: Connect it all together
2019-09-15 18:52:17 +00:00
Jakob Bornecrantz
a507aee906
t/gui: Add two scenes
2019-09-15 18:52:17 +00:00
Jakob Bornecrantz
74bdb0cb38
t/gui: Add imgui code
2019-09-15 18:52:17 +00:00
Jakob Bornecrantz
71b3de9c46
t/gui: Add scene manager
2019-09-15 18:52:17 +00:00
Jakob Bornecrantz
c474112782
t/gui: Add OpenGL sink code
2019-09-15 18:52:17 +00:00
Jakob Bornecrantz
968952aa9e
t/gui: Add st/prober code
2019-09-15 18:52:17 +00:00
Jakob Bornecrantz
44d58037b7
t/gui: Add SDL2 based GUI target
2019-09-15 18:52:17 +00:00
Jakob Bornecrantz
3d744c5959
d/psmv: Add support for ZCM2
2019-09-15 15:29:45 +01:00
Jakob Bornecrantz
29b1713be9
xrt: Add enum xrt_device_name so that state trackers can reason about device
2019-09-04 12:47:18 +01:00
Jakob Bornecrantz
005abd5429
t/cli: Tidy CMakeLists.txt file
2019-08-27 08:52:57 +01:00
Benjamin Saunders
c111f528b8
oxr: Optionally install as the default runtime
2019-08-19 12:09:49 -05:00
Ryan Pavlik
e824b83112
st/oxr: Install manifest to major version "1" subdir
2019-08-17 03:31:40 +00:00
Ryan Pavlik
c048bc0052
targets: Clang-tidy fixes (name consistency)
2019-08-16 17:25:29 -05:00
Benjamin Saunders
dbbfe8e455
Handle CMAKE_INSTALL_LIBDIR being absolute
...
This seems to be common in distro packaging environments.
2019-08-16 14:52:45 +00:00
Ryan Pavlik
853f8ab68e
d/hdk: Port to internal HID wrapper.
...
Not entirely feature-complete due to lack of access to descriptor strings.
2019-08-15 12:36:01 +00:00
Ryan Pavlik
2cd28914c7
d/hydra: Initially-functional multi-device Razer Hydra driver.
...
Not pretty - no filtering on tracking, coordinate system
probably a little bit wrong still, no hemisphere tracking,
but enough to show movement and resizing in hello_xr.
2019-07-29 03:01:57 +00:00
Jakob Bornecrantz
718a81608a
d/v4l2: Add new frameserver
2019-07-23 17:41:34 +01:00
Jakob Bornecrantz
a544b4b56f
aux/util: Add sink format converters
2019-07-23 17:41:34 +01:00
Jakob Bornecrantz
e336590153
t/cli: Use new prober function helpers
2019-06-30 14:35:27 +01:00
Jakob Bornecrantz
af7238ec21
t/common: Link with Libusb1
2019-06-28 17:49:24 +01:00
Jakob Bornecrantz
1e8d683a49
t/common: Add PSVR to list of defines in targets_enabled
2019-06-28 16:53:53 +01:00
Jakob Bornecrantz
58da7263f1
t/common: Fix typo in PSMV define
2019-06-28 16:53:32 +01:00
Jakob Bornecrantz
ef36766aca
t/cli: Stub for calibration
2019-06-28 14:03:50 +01:00
Jakob Bornecrantz
249b9a03ca
t/cli: Turn prober command into a cli interface for Monado
2019-06-28 14:03:50 +01:00
Ryan Pavlik
0d75b465bd
build: Move enabled-driver defines to a header, instead of compiler options for every target.
2019-06-26 10:52:27 -05:00
Jakob Bornecrantz
ec69936890
build: Revert "Only show the XRT_BUILD_ defines where they're needed."
...
This reverts commit 334d62dfcd
.
2019-06-26 16:17:06 +01:00
Ryan Pavlik
1f84814721
st/prober: Allow "found" functions called by prober to make more than one device.
2019-06-22 11:34:51 +01:00
Jakob Bornecrantz
46fa9cbd25
t/prober: Refactor closing down a bit
2019-06-21 21:56:06 +01:00
Ryan Pavlik
cfb443843f
targets/common: Add comment to target_entry_list
2019-06-21 13:17:55 -05:00
Ryan Pavlik
334d62dfcd
build: Only show the XRT_BUILD_ defines where they're needed.
2019-06-21 13:17:55 -05:00
Ryan Pavlik
c5fea837f3
oxr: Allow relative vs absolute manifest path to be selected at configure time.
2019-06-19 08:15:08 -07:00
Ryan Pavlik
88efae1078
oxr: Generate the dev manifest using the same template as installed.
2019-06-19 08:15:08 -07:00
Ryan Pavlik
fc98db1439
oxr: Use an absolute path in the installed runtime manifest.
2019-06-19 08:15:08 -07:00
Ryan Pavlik
66086c1b0b
oxr: Reduce proportion of install that's platform-guarded
2019-06-19 08:15:08 -07:00
Benjamin Saunders
40d8446ba8
oxr: Use absolute path of runtime library in manifest
...
Improves robustness when there might be multiple libraries by the same
name visible to the loader.
2019-06-19 08:15:08 -07:00
Jakob Bornecrantz
43f2a0f054
t/common: Code style
2019-06-19 12:10:12 +01:00
Ryan Pavlik
02be89bf35
targets: De-duplicate conditional inclusion of driver objects/libraries.
2019-06-18 18:44:17 +00:00
Jakob Bornecrantz
b71e143eaa
d/psmv: Add PS Move driver
2019-06-18 17:56:10 +01:00
Jakob Bornecrantz
8aec512de3
xrt: Update prober interface
2019-06-10 14:47:19 +01:00
Jakob Bornecrantz
43dfb400a6
prober: Add small helper program to debug st/prober
2019-05-16 20:41:35 +01:00
Jakob Bornecrantz
702eba0f53
openxr: Use prober target
2019-05-16 20:41:35 +01:00
Jakob Bornecrantz
d97df04c11
xrt: Add new prober interface and code
2019-05-16 20:41:35 +01:00
Jakob Bornecrantz
e2bd986bc5
os: Add a minimal hidraw wrapper
2019-05-13 18:26:02 +01:00
Jakob Bornecrantz
d9cdd04b7a
openxr: Don't unconditionally link with OpenHMD driver
2019-05-13 18:09:40 +01:00
Jakob Bornecrantz
83159a02c1
d/psvr: Add to meta prober and OpenXR target
...
Still hidden behind a env variable.
2019-05-06 16:46:10 +00:00
Jakob Bornecrantz
dc9ab44a5a
xrt: Rename xrt_prober to xrt_auto_prober
2019-05-03 18:53:07 +01:00
Jakob Bornecrantz
9c05e853cc
build: Refactor flags and definitions (and fix fallout)
...
Defines:
* XRT_HAVE_[name] is a external dep indicator.
* XRT_DRIVER_[name] if a internal driver is built.
CMake variables:
* BUILD_WITH_[name] is a external dep indicator.
* BUILD_DRIVER_[name] tells if we should build a specific driver.
2019-04-29 17:18:09 +01:00
Jakob Bornecrantz
2d6b3c2113
openxr: Use meta prober
2019-04-15 09:52:44 +01:00
Ryan Pavlik
917366a730
build: Fix typo.
...
Left over from an abandoned alternate approach.
2019-04-08 15:19:18 -05:00
Ryan Pavlik
d4b47a0edb
build: Don't say CMAKE_INSTALL_PREFIX in an install destination
...
This can make it harder for packagers, or at least isn't
"best practices" without a good reason.
2019-04-08 19:11:04 +00:00
Ryan Pavlik
5cfa0907b6
build: Use and obey config options for driver selection.
...
We had BUILD_WITH_OPENHMD but it was unused,
while the HDK driver always built if the deps were found.
2019-04-08 19:11:04 +00:00
Ryan Pavlik
eec53ca35d
build: Use FindOpenHMD.
...
Fixes a gripe/todo in the build system, too :D
2019-04-08 19:11:04 +00:00
Benjamin Saunders
f016492a81
build: Add missing GLX dependency
...
Fixes loading by applications that do not themselves link GLX.
2019-03-22 20:11:51 -07:00
Jakob Bornecrantz
15a97422ba
xrt: Add all of Monado
2019-03-18 05:52:32 +00:00