License requirement
The functionality described requires a MANUS Bodypack
or a MANUS license key
with the OpenXR
feature enabled.
Getting started with OpenXR on Linux
The MANUS Core OpenXR API Layer allows you to receive glove data from a Windows PC running MANUS Core. This guide delves into its setup and usage.
About
Using the API Layer on Linux requires a separate PC running MANUS Core on Windows. The gloves should be connected to this instance of Core. The API layer then connects to this instance of Core to get the glove data. The API Layer implements both the XR_EXT_hand_tracking extension and XR_FB_hand_tracking_aim extension.
Installation
First, make sure your Linux environment is set up for use with our SDK. See the following article: Getting started with Linux. Since the OpenXR API layer connects to a separate machine, ensure you follow the SDK Remote-specific setup steps.
Next, download the OpenXR for Linux package from our Resource Center.
Unzip the contents of the .zip
file.
The API layer can be installed either implicitly
or explicitly
.
Running the installer will install the API layer implicitly
. An implicit
installation means that the API layer will be loaded automatically by all OpenXR applications.
This can be done through the following command:
Alternatively, the API layer can be installed explicitly
. An explicit
installation means that the API layer will need to be loaded manually by any OpenXR applications that want to use it.
For more information on this distinction and information on how to set up API layers explicitly
, see the relevant OpenXR documentation.
You have now installed the MANUS OpenXR API layer for Linux.
Setup
Currently, the MANUS OpenXR API layer only works using MANUS Core Remote. Core Integrated is not yet supported. This means that a separate instance of Core running on a Windows PC is required. The gloves are connected to this instance on Windows. The API layer then connects to this instance and receives the glove data. By default on Linux, the API layer connects to the first instance of MANUS Core it finds on the network.
In situations where more control over which instance of Core to connect is required, the xrConnectToRemoteMANUSCore
function can be used.
The pointer to this function can be obtained using xrGetInstanceProcAddr()
.
The xrConnectToRemoteMANUSCore
function is defined as:
p_IP is the IP address of the Windows PC running MANUS Core.
A user with gloves and optionally trackers must also be set up in the MANUS Core Dashboard. For detailed instructions on setting up trackers in MANUS Core, please refer to our article.
Logging
The API layer attempts to log to /var/log/openxr/manus
. Logging is only active when this directory exists and is writable by the current user. This can be done through the following command:
Uninstalling
If the install_implicit.sh script was used, the API layer can be uninstalled using the following command: