The open source OpenXR runtime
0
fork

Configure Feed

Select the types of activity you want to include in your feed.

doc: Update CHANGELOG.md

+270
+270
doc/CHANGELOG.md
··· 5 5 SPDX-FileCopyrightText: 2020 Collabora, Ltd. and the Monado contributors 6 6 ``` 7 7 8 + ## Monado 0.2 (2020-05-29) 9 + 10 + - Major changes 11 + - Add support for a new service process. This process houses the hardware drivers 12 + and compositor. In order to do this, a whole new subsection of Monado called 13 + ipc 14 + was added. It lives in `src/xrt/ipc` and sits between the state trackers 15 + and 16 + the service hosting the drivers and compositor. 17 + ([!295](https://gitlab.freedesktop.org/monado/monado/merge_requests/295)) 18 + - Support optional systemd socket-activation: if not disabled at configure time, 19 + `monado-service` can be launched by systemd as a service with an associated 20 + socket. If the service is launched this way, it will use the systemd-created 21 + domain socket instead of creating its own. (If launched manually, it will still 22 + create its own as normal.) This allows optional auto-launching of the service 23 + when running a client (OpenXR) application. Associated systemd unit files are 24 + also included. 25 + ([!306](https://gitlab.freedesktop.org/monado/monado/merge_requests/306)) 26 + - XRT Interface 27 + - Add a new settings interface for transporting camera settings, in 28 + `xrt/xrt_settings.h`. 29 + ([!266](https://gitlab.freedesktop.org/monado/monado/merge_requests/266)) 30 + - Make it possible to send JSON object to drivers when probing for devices. 31 + ([!266](https://gitlab.freedesktop.org/monado/monado/merge_requests/266)) 32 + - Added new `xrt_instance` object to be root object, a singleton that allows us 33 + to 34 + better swap out the whole stack underneath the state trackers. This is now 35 + implemented by the `xrt_prober` code and used by the OpenXR state tracker. 36 + ([!274](https://gitlab.freedesktop.org/monado/monado/merge_requests/274)) 37 + - Remove the `struct timestate` argument from the `struct xrt_device` interface. 38 + It should be easy to write a driver and the state tracker should be the one 39 + that tracks this state. It was mostly triggered by the out of process 40 + compositor work. 41 + ([!280](https://gitlab.freedesktop.org/monado/monado/merge_requests/280)) 42 + - Add the new format `XRT_FORMAT_UYVY422` to the interface and various parts of 43 + the code where it is needed to be supported, like the conversion functions and 44 + calibration code. Also rename the `XRT_FORMAT_YUV422` to `XRT_FORMAT_YUYV422`. 45 + ([!283](https://gitlab.freedesktop.org/monado/monado/merge_requests/283)) 46 + - Expose manufacturer and serial number in the prober interface, right now only 47 + for the video device probing. But this is the only thing that really requires 48 + this in order to tell different cameras apart. 49 + ([!286](https://gitlab.freedesktop.org/monado/monado/merge_requests/286)) 50 + - Add `XRT_CAST_PTR_TO_OXR_HANDLE` and `XRT_CAST_OXR_HANDLE_TO_PTR` macros to 51 + perform warning-free conversion between pointers and OpenXR handles, even on 52 + 32-bit platforms. They should be used instead of raw casts. 53 + ([!294](https://gitlab.freedesktop.org/monado/monado/merge_requests/294)) 54 + - Remove declaration and implementations of `xrt_prober_create`: the minimal 55 + functionality previously performed there should now be moved to 56 + `xrt_instance_create`. 57 + ([!347](https://gitlab.freedesktop.org/monado/monado/merge_requests/347)) 58 + - State Trackers 59 + - gui: Fix compilation issue in `st/gui` when building without OpenCV. 60 + ([#63](https://gitlab.freedesktop.org/monado/monado/issues/63), 61 + [!256](https://gitlab.freedesktop.org/monado/monado/merge_requests/256)) 62 + - OpenXR: Don't return struct with invalid type from 63 + `xrEnumerateViewConfigurationViews`. 64 + ([!234](https://gitlab.freedesktop.org/monado/monado/merge_requests/234)) 65 + - prober: Print more information from the prober when spewing. 66 + ([!261](https://gitlab.freedesktop.org/monado/monado/merge_requests/261)) 67 + - gui: Save camera and calibration data using new settings structs and format. 68 + ([!266](https://gitlab.freedesktop.org/monado/monado/merge_requests/266)) 69 + - prober: Load tracking config from json and use new settings struct. 70 + ([!266](https://gitlab.freedesktop.org/monado/monado/merge_requests/266)) 71 + - gui: Fix name not being shown when video device does not have any modes. 72 + ([!269](https://gitlab.freedesktop.org/monado/monado/merge_requests/269)) 73 + - gui: Remove old video test scene, never used and seemed to be broken. 74 + ([!275](https://gitlab.freedesktop.org/monado/monado/merge_requests/275)) 75 + - gui: Fix build when OpenCV is not available or disabled. 76 + ([!292](https://gitlab.freedesktop.org/monado/monado/merge_requests/292)) 77 + - OpenXR: Fix build when OpenGL is not enabled. 78 + ([!292](https://gitlab.freedesktop.org/monado/monado/merge_requests/292)) 79 + - OpenXR: Validate that we support the given `XR_ENVIRONMENT_BLEND_MODE` as 80 + according to the OpenXR spec. And better print the error messages. 81 + ([!345](https://gitlab.freedesktop.org/monado/monado/merge_requests/345)) 82 + - OpenXR: Validate given `displayTime` in `xrEndFrame` as required by the spec. 83 + ([!345](https://gitlab.freedesktop.org/monado/monado/merge_requests/345)) 84 + - OpenXR: Validate internal state that we get from the compositor. 85 + ([!345](https://gitlab.freedesktop.org/monado/monado/merge_requests/345)) 86 + - OpenXR: Validate time better in xrConvertTimeToTimespecTimeKHR and add better 87 + error print. 88 + ([!348](https://gitlab.freedesktop.org/monado/monado/merge_requests/348)) 89 + - OpenXR: Correctly translate the `XrSwapchainCreateFlags` flags to xrt ones. 90 + ([!349](https://gitlab.freedesktop.org/monado/monado/merge_requests/349)) 91 + - OpenXR: In order to be able to correctly validate `XrPath` ids turn them 92 + into a atom and keep all created paths in a array. 93 + ([!349](https://gitlab.freedesktop.org/monado/monado/merge_requests/349)) 94 + - OpenXR: Give better error messages on invalid poses in quad layers instead of 95 + using the simple macro. 96 + ([!350](https://gitlab.freedesktop.org/monado/monado/merge_requests/350)) 97 + - OpenXR: Validate poses for project layer views, using the same expressive error 98 + messages as the quad layers. 99 + ([!350](https://gitlab.freedesktop.org/monado/monado/merge_requests/350)) 100 + - OpenXR: Translate the swapchain usage bits from OpenXR enums to Monado's 101 + internal enums. 102 + ([!350](https://gitlab.freedesktop.org/monado/monado/merge_requests/350)) 103 + - OpenXR: Report a spec following amount of maximum layers supported. 104 + ([!354](https://gitlab.freedesktop.org/monado/monado/merge_requests/354)) 105 + - OpenXR: Correctly reject invalid times given to `xrLocateSpace`. 106 + ([!354](https://gitlab.freedesktop.org/monado/monado/merge_requests/354)) 107 + - OpenXR: Correctly handle the space relation flag bits, some old hacked up code 108 + left over since Monado's first days have been removed. 109 + ([!356](https://gitlab.freedesktop.org/monado/monado/merge_requests/356)) 110 + - Drivers 111 + - dd: Add a driver for the Google Daydream View controller. 112 + ([!242](https://gitlab.freedesktop.org/monado/monado/merge_requests/242)) 113 + - all: Use new pre-filter and 3-DoF filter in drivers. 114 + ([!249](https://gitlab.freedesktop.org/monado/monado/merge_requests/249)) 115 + - arduino: Added a Arduino based flexible input device driver, along with 116 + Arduino C++ code for it. 117 + ([!251](https://gitlab.freedesktop.org/monado/monado/merge_requests/251)) 118 + - psmv: Use all 6 measurements to compute acceleration bias, and port to new 119 + IMU prefilter. 120 + ([!255](https://gitlab.freedesktop.org/monado/monado/merge_requests/255)) 121 + - v4l2: Add special tweaks for the ELP camera. 122 + ([!266](https://gitlab.freedesktop.org/monado/monado/merge_requests/266)) 123 + - vive: Add basic 3DOF driver for Vive Wand Controller with full input support 124 + and 125 + Valve Index Controller with partial input support. 126 + ([!281](https://gitlab.freedesktop.org/monado/monado/merge_requests/281)) 127 + - psvr: Use a better 3dof fusion for the PSVR when no tracking is available. 128 + ([!282](https://gitlab.freedesktop.org/monado/monado/merge_requests/282)) 129 + - psvm: Move the led and rumble updating from the application facing 130 + update_inputs 131 + function to the internal thread instead. 132 + ([!287](https://gitlab.freedesktop.org/monado/monado/merge_requests/287)) 133 + - psmv: Fix failure to build from source on PPC. 134 + ([!288](https://gitlab.freedesktop.org/monado/monado/merge_requests/288), 135 + [#69](https://gitlab.freedesktop.org/monado/monado/issues/69)) 136 + - Compositor 137 + - main: Fix XCB memory leaks and correctly use XCB/Xlib interop. 138 + ([!257](https://gitlab.freedesktop.org/monado/monado/merge_requests/257)) 139 + - main: Shorten Vulkan initializers. 140 + ([!259](https://gitlab.freedesktop.org/monado/monado/merge_requests/259)) 141 + - main: Port XCB and direct mode back ends to plain C. 142 + ([!262](https://gitlab.freedesktop.org/monado/monado/merge_requests/262)) 143 + - main: Add support for Vive Pro, Valve Index, Oculus DK1, DK2 and CV1 to NVIDIA 144 + direct mode. 145 + ([!263](https://gitlab.freedesktop.org/monado/monado/merge_requests/263)) 146 + - client: Make sure that the number of images is decided by the fd compositor. 147 + ([!270](https://gitlab.freedesktop.org/monado/monado/merge_requests/270)) 148 + - main: Split RandR and NVIDIA direct mode window back ends. 149 + ([!271](https://gitlab.freedesktop.org/monado/monado/merge_requests/271)) 150 + - main: Improve synchronization and remove redundant vkDeviceWaitIdle calls. 151 + ([!277](https://gitlab.freedesktop.org/monado/monado/merge_requests/277)) 152 + - main: Delay the destruction of swapchains until a time where it is safe, this 153 + allows swapchains to be destroyed from other threads. 154 + ([!278](https://gitlab.freedesktop.org/monado/monado/merge_requests/278)) 155 + - client: Propegate the supported formats from the real compositor to the client 156 + ones. ([!282](https://gitlab.freedesktop.org/monado/monado/merge_requests/282)) 157 + - renderer: Change the idle images colour from bright white to grey. 158 + ([!282](https://gitlab.freedesktop.org/monado/monado/merge_requests/282)) 159 + - main: Add support for multiple projection layers. 160 + ([!340](https://gitlab.freedesktop.org/monado/monado/merge_requests/340)) 161 + - main: Implement quad layers. 162 + ([!340](https://gitlab.freedesktop.org/monado/monado/merge_requests/340)) 163 + - main: Only allocate one image for static swapchains. 164 + ([!349](https://gitlab.freedesktop.org/monado/monado/merge_requests/349)) 165 + - Helper Libraries 166 + - tracking: Add image undistort/normalize cache mechanism, to avoid needing to 167 + remap every frame. 168 + ([!255](https://gitlab.freedesktop.org/monado/monado/merge_requests/255)) 169 + - tracking: Improve readability and documentation of IMU fusion class. 170 + ([!255](https://gitlab.freedesktop.org/monado/monado/merge_requests/255)) 171 + - u/file: Add file helpers to load files from config directory. 172 + ([!266](https://gitlab.freedesktop.org/monado/monado/merge_requests/266)) 173 + - u/json: Add bool getter function. 174 + ([!266](https://gitlab.freedesktop.org/monado/monado/merge_requests/266)) 175 + - tracking: Expose save function with none hardcode path for calibration data. 176 + ([!266](https://gitlab.freedesktop.org/monado/monado/merge_requests/266)) 177 + - tracking: Remove all path hardcoded calibration data loading and saving 178 + functions. 179 + ([!266](https://gitlab.freedesktop.org/monado/monado/merge_requests/266)) 180 + - threading: New helper functions and structs for doing threaded work, these are 181 + on a higher level then the one in os wrappers. 182 + ([!278](https://gitlab.freedesktop.org/monado/monado/merge_requests/278)) 183 + - threading: Fix missing `#pragma once` in `os/os_threading.h`. 184 + ([!282](https://gitlab.freedesktop.org/monado/monado/merge_requests/282)) 185 + - u/time: Temporarily disable the time skew in time state and used fixed offset 186 + instead to fix various time issues in `st/oxr`. Will be fixed properly later. 187 + ([!348](https://gitlab.freedesktop.org/monado/monado/merge_requests/348)) 188 + - math: Correctly validate quaternion using non-squared "length" instead of 189 + squared "length", certain combinations of elements would produce valid regular 190 + "length" but not valid squared ones. 191 + ([!350](https://gitlab.freedesktop.org/monado/monado/merge_requests/350)) 192 + - Misc. Features 193 + - build: Refactor CMake build system to make static (not object) libraries and 194 + explicitly describe dependencies. 195 + ([!233](https://gitlab.freedesktop.org/monado/monado/merge_requests/233), 196 + [!237](https://gitlab.freedesktop.org/monado/monado/merge_requests/237), 197 + [!238](https://gitlab.freedesktop.org/monado/monado/merge_requests/238), 198 + [!240](https://gitlab.freedesktop.org/monado/monado/merge_requests/240)) 199 + - os/ble: Add utility functionality for accessing Bluetooth Low-Energy (Bluetooth 200 + LE or BLE) over D-Bus, in `os/os_ble.h` and `os/os_ble_dbus.c`. 201 + ([!242](https://gitlab.freedesktop.org/monado/monado/merge_requests/242)) 202 + - util: Add some bit manipulation helper functions in `util/u_bitwise.c` and 203 + `util/u_bitwise.c`. 204 + ([!242](https://gitlab.freedesktop.org/monado/monado/merge_requests/242)) 205 + - tracking: Make stereo_camera_calibration reference counted, and have the 206 + prober, 207 + not the calibration, call the save function. 208 + ([!245](https://gitlab.freedesktop.org/monado/monado/merge_requests/245)) 209 + - math: Expand algebraic math functions in `math/m_api.h`, `math/m_vec3.h` and 210 + `math/m_base.cpp`. 211 + ([!249](https://gitlab.freedesktop.org/monado/monado/merge_requests/249)) 212 + - math: Add pre-filter and a simple understandable 3-DoF fusion filter. 213 + ([!249](https://gitlab.freedesktop.org/monado/monado/merge_requests/249)) 214 + - build: Enable the build system to install `monado-cli` and `monado-gui`. 215 + ([!252](https://gitlab.freedesktop.org/monado/monado/merge_requests/252)) 216 + - build: Unify inputs for generated files between CMake and Meson builds. 217 + ([!252](https://gitlab.freedesktop.org/monado/monado/merge_requests/252)) 218 + - build: Support building with system cJSON instead of bundled copy. 219 + ([!284](https://gitlab.freedesktop.org/monado/monado/merge_requests/284), 220 + [#62](https://gitlab.freedesktop.org/monado/monado/issues/62)) 221 + - ci: Perform test builds using the Android NDK (for armeabi-v7a and armv8-a). 222 + This is not a full Android port (missing a compositor, etc) but it ensures we 223 + don't add more Android porting problems. 224 + ([!292](https://gitlab.freedesktop.org/monado/monado/merge_requests/292)) 225 + - Misc. Fixes 226 + - os/ble: Check if `org.bluez` name is available before calling in 227 + `os/os_ble_dbus.c`. 228 + ([#65](https://gitlab.freedesktop.org/monado/monado/issues/65), 229 + [#64](https://gitlab.freedesktop.org/monado/monado/issues/64), 230 + [!265](https://gitlab.freedesktop.org/monado/monado/merge_requests/265)) 231 + - README: Added information to the README containing OpenHMD version requirement 232 + and information regarding the requirement of `GL_EXT_memory_object_fd` and 233 + limitations on Monado's compositor. 234 + ([!4](https://gitlab.freedesktop.org/monado/monado/merge_requests/4)) 235 + - build: Fix build issues and build warnings when 32-bit. 236 + ([!230](https://gitlab.freedesktop.org/monado/monado/merge_requests/230)) 237 + - os/ble: Fix crash due to bad dbus path, triggered by bad return checking when 238 + probing for BLE devices. 239 + ([!247](https://gitlab.freedesktop.org/monado/monado/merge_requests/247)) 240 + - d/dd: Use the correct time delta in DayDream driver. 241 + ([!249](https://gitlab.freedesktop.org/monado/monado/merge_requests/249)) 242 + - doc: Stop changelog snippets from showing up in 'Related Pages' 243 + ([!253](https://gitlab.freedesktop.org/monado/monado/merge_requests/253)) 244 + - build: Fix meson warnings, increase compiler warning level. 245 + ([!258](https://gitlab.freedesktop.org/monado/monado/merge_requests/258)) 246 + - os/ble: Fix leak in `os/os_ble_dbus.c` code when failing to find any device. 247 + ([!264](https://gitlab.freedesktop.org/monado/monado/merge_requests/264)) 248 + - os/ble: Make ble code check for some error returns in `os/os_ble_dbus.c`. 249 + ([!265](https://gitlab.freedesktop.org/monado/monado/merge_requests/265)) 250 + - u/hashset: Fix warnings in `util/u_hashset.h` after pedantic warnings were 251 + enabled for C++. 252 + ([!268](https://gitlab.freedesktop.org/monado/monado/merge_requests/268)) 253 + - build: Fix failure to build from source on ppc64 and s390x. 254 + ([!284](https://gitlab.freedesktop.org/monado/monado/merge_requests/284)) 255 + - build: Mark OpenXR runtime target in CMake as a MODULE library, instead of a 256 + SHARED library. 257 + ([!284](https://gitlab.freedesktop.org/monado/monado/merge_requests/284)) 258 + - windows: Way way back when Gallium was made `auxiliary` was named `aux` but 259 + then 260 + it was ported to Windows and it was renamed to `auxiliary` since Windows 261 + is [allergic to filenames that match its device names](https://docs.microsoft.com/en-us/windows/win32/fileio/naming-a-file#naming-conventions) 262 + (e.g., `AUX`, `CON`, `PRN`, etc.). Through the ages, this knowledge was lost 263 + and so we find ourselves with the same problem. Although Monado inherited 264 + the correct name, the same old mistake was made in docs. 265 + ([!314](https://gitlab.freedesktop.org/monado/monado/merge_requests/314)) 266 + - build: For CMake rename (nearly) all build options so they begin with `XRT_` 267 + and match the defines used in the source. You will probably want to clear 268 + your build directory and reconfigure from scratch. 269 + ([!327](https://gitlab.freedesktop.org/monado/monado/merge_requests/327)) 270 + - ipc: Correctly set the shared semaphore value when creating it, the wrong value 271 + resulted in the client not blocking in `xrWaitFrame`. 272 + ([!348](https://gitlab.freedesktop.org/monado/monado/merge_requests/348)) 273 + - ipc: Previously some arguments where dropped at swapchain creation time, 274 + correct pass them between the client and server. 275 + ([!349](https://gitlab.freedesktop.org/monado/monado/merge_requests/349)) 276 + 8 277 ## Monado 0.1.0 (2020-02-24) 9 278 10 279 Initial (non-release) tag to promote/support packaging. 280 +