Ryan Pavlik
5935fad73b
ipc: Add ability for service to be launched by systemd socket activation.
2020-05-07 16:54:11 -05:00
Ryan Pavlik
67a2c26295
build: Add FindSystemd.cmake
...
From https://github.com/Cloudef/wlc/blob/master/CMake/FindSystemd.cmake
2020-05-07 15:46:29 -05:00
Ryan Pavlik
d7e84cf5b5
build: Fix include directories for IPC server module
2020-05-07 15:46:29 -05:00
Ryan Pavlik
00868d56f0
ci: Adjust meson cross file to block use of sdl2-config
...
Turn back off allow failures for the 32 bit meson build.
2020-05-07 15:16:08 -05:00
Ryan Pavlik
4ab0160fb7
ci: Allow meson 32-bit to fail because it has an unrelated bug.
2020-05-07 20:04:08 +00:00
Ryan Pavlik
16ad2e4aeb
ci: Add Ubuntu 20.04 test environments.
2020-05-07 20:04:08 +00:00
Ryan Pavlik
66aa55a2c5
ci: Install libx11-xcb-dev
2020-05-07 20:04:08 +00:00
Ryan Pavlik
14fd1c41a7
ci: Add job for building Debian Buster packages.
2020-05-07 20:04:08 +00:00
Ryan Pavlik
93f33a6547
ci: Extract apt package lists into separate template.
...
They can be shared between Debian and Ubuntu this way.
2020-05-07 20:04:08 +00:00
Ryan Pavlik
b52b3ec649
meson: Improve build when sdl2 not available
...
Unfortunately doesn't fix 32-bit meson CI
2020-05-07 20:04:08 +00:00
Christoph Haag
aaa2f0a0bd
d/vive_controller: read from usb with timeout
...
This aligns with the vive HMD driver and fixes high CPU usage.
2020-05-07 21:24:43 +02:00
Christoph Haag
dc4dcf15a9
d/vive_controller: Fix left index controller imu
...
The IMU in the left index controller has a different orientation
than the right one.
2020-05-05 19:50:20 +00:00
Jakob Bornecrantz
f8550ebfcf
doc: Avoid Windows reserved filesystem name by renaming aux to auxiliary
...
Closes #77
2020-05-05 17:40:05 +01:00
Christoph Haag
f8b2e179cb
d/vive_controller: index controller trackpad: send 0,0 position after release
2020-05-05 14:19:37 +00:00
Christoph Haag
344846b3e2
aux/vk: Print available GPUs with XRT_COMPOSITOR_PRINT_DEBUG
...
Useful for finding out a gpu index to use for XRT_COMPOSITOR_FORCE_GPU_INDEX.
2020-05-05 15:12:08 +02:00
Christoph Haag
d95c77ad54
comp: Also enable vk debug print with XRT_COMPOSITOR_PRINT_DEBUG
...
This is useful because it prints which GPU the compositor runs on.
2020-05-05 15:12:08 +02:00
Ryan Pavlik
7df96234a2
build: Fix build with system cJSON.
...
Identified when building on Debian Salsa.
2020-05-04 21:44:40 +00:00
Christoph Haag
a1b6efd16b
d/vive_controller: Report zero values for trigger and trackpad
...
Turns out we actually want to know when theose transition into/over zero.
2020-05-04 21:25:03 +02:00
Jakob Bornecrantz
695ac70dab
st/oxr: Silence warning about uninitialized variable and add todo (NFC)
2020-05-04 18:05:13 +01:00
Christoph Haag
cf0e5d7861
st/oxr: store preferred path per binding, not per action
...
Fixes d62c2d2011
For any one action, multiple bindings may be suggested. The preferred/matched
input path depends on which binding is active.
Each bindings already stores a list of actions for which the suggested bindings
matched any of the input paths, just add a corresponding list *which* path matched.
2020-05-04 17:29:43 +02:00
Christoph Haag
2a58d1225f
bindings: Don't create broken subpath for haptic output
...
This macro created two paths for haptics, the first of which was useless/wrong:
/user/hand/*/output/haptics/
/user/hand/*/output/haptics
2020-05-04 17:29:43 +02:00
Jakob Bornecrantz
c582bde17a
d/dd: Make touchpad a single input
2020-05-03 22:58:47 +00:00
Christoph Haag
d62c2d2011
st/oxr: properly enable binding to /x and /y
...
Store Thumbstick, Trackpad etc. data internally in a vec2f.
The knowledge that a binding path ../x and ../y refers to the x and y components of this vec2f
is stored as an INPUT_REDIRECT_VEC2_X_TO_VEC1 or INPUT_REDIRECT_VEC2_Y_TO_VEC enum.
Actions now also store the index of the binding paths it matched to,
e.g. when an action binds ../trackpad/y to an input that provides bindings [../trackpad, ../trackpad/x, ../trackpad/y],
the index 2 is stored.
v2: Clarify preferred binding path index variable
2020-05-03 22:58:47 +00:00
Jakob Bornecrantz
a6b88595d7
README.md: Correct glslang-tools package name
...
Closes #76 , spotted by @artob.
2020-05-03 22:16:21 +01:00
Jakob Bornecrantz
d8428b2544
ipc/client: Don't assert on devices with no output
2020-05-01 19:20:03 +01:00
Christoph Haag
7ab1ca727f
ipc: Make send_and_get_reply thread safe
...
When multiple threads call OpenXR functions, make sure one thread
can not read the reply meant for another thread.
Unfortunately this also blocks other OpenXR functions from being
called while xrWaitFrame() is blocking.
2020-05-01 16:11:26 +02:00
Christoph Haag
d491f59b55
ipc: Log unexpected messaging events as errors
...
Any of these unexpected events will likely lead to more errors down the line.
Always printing them as errors will make it easier to diagnose the ipc.
2020-05-01 16:11:00 +02:00
Christoph Haag
a195f22bc3
ipc: disconnect client on xrDestroyInstance()
...
The service considers clients to be connected as long as the fd is not closed.
After destroying an XrInstance this prevents the client from creating a subsequent XrInstance.
2020-05-01 02:49:44 +02:00
Jakob Bornecrantz
a4dcdf1f0b
ipc/server: Improve error messages
2020-04-30 20:45:34 +01:00
Jakob Bornecrantz
6d770336b7
ipc/server: Pass in MSG_NOSIGNAL to not get SIGPIPEd
2020-04-30 20:44:35 +01:00
Jakob Bornecrantz
a02293e8dd
ipc: Improve swapchain handling a tiny bit
2020-04-30 20:44:35 +01:00
Jakob Bornecrantz
11539e28b7
ipc/server: Fix swapchain being swapped left and right
2020-04-30 14:00:27 +01:00
Ryan Pavlik
457d411016
comp: Remaining 32-bit warning fixes
2020-04-29 17:47:32 -05:00
Ryan Pavlik
233c63a773
comp: Fix Wint-to-pointer-cast warnings on 32-bit.
...
Culprit is a Vulkan non-dispatchable handle:
Fix is simpler than for OpenXR because we aren't a Vulkan
implementation so they're all opaque to us.
2020-04-29 17:44:07 -05:00
Ryan Pavlik
45ee58065c
doc: Add changelog fragment for !294
2020-04-29 17:44:07 -05:00
Ryan Pavlik
53f9eb332d
st/oxr: Fix more pointer conversion warnings.
2020-04-29 17:44:07 -05:00
Ryan Pavlik
e89a3c1d8f
st/oxr: Fix 32-bit warnings when checking for null handles
2020-04-29 17:44:07 -05:00
Ryan Pavlik
d95219810e
st/oxr: Add XRT_CAST_OXR_HANDLE_TO_PTR macro
2020-04-29 17:44:07 -05:00
Ryan Pavlik
cecb8f31af
st/oxr: Add and use XRT_CAST_PTR_TO_OXR_HANDLE macro to avoid warnings.
...
Other places we do these similar conversions will need this same modification.
2020-04-29 17:44:07 -05:00
Jakob Bornecrantz
018e37c0a1
doc: Document MR295
2020-04-29 18:33:01 +01:00
Jakob Bornecrantz
7a70f86b2d
targets: Add and change targets to support service process
2020-04-29 15:13:43 +01:00
Jakob Bornecrantz
220f37a75d
xrt: Add build config file for optinal components
2020-04-29 14:58:24 +01:00
Jakob Bornecrantz
7c8a8a3f87
ipc: Add code to enable a service process
...
This enables out of process compositing.
2020-04-29 14:58:24 +01:00
Lubosz Sarnecki
5ba751a239
c/renderer: Expose idle image control.
2020-04-29 09:58:52 +01:00
Pete Black
8082e8dbca
c/renderer: Add new reset rendering function
2020-04-29 09:58:52 +01:00
Jakob Bornecrantz
8328577b88
cmake: Tidy whitespace (NFC)
2020-04-29 09:12:19 +01:00
Ryan Pavlik
5b0f5196d4
ci: Add 32-bit builds
2020-04-28 16:52:23 -05:00
Ryan Pavlik
f4701c5473
ci: Remove unused variables
2020-04-28 16:52:23 -05:00
Ryan Pavlik
ee90eb1d7e
d/vive: Fix typos
2020-04-28 16:49:13 -05:00
Ryan Pavlik
ba71b6f027
t/cli: Add missing include
2020-04-28 16:49:13 -05:00