Skip to content

Commit

Permalink
monado_questlink: init (tmp)
Browse files Browse the repository at this point in the history
  • Loading branch information
ckiee committed Mar 26, 2024
1 parent c21c011 commit 6f7ebae
Show file tree
Hide file tree
Showing 2 changed files with 173 additions and 0 deletions.
12 changes: 12 additions & 0 deletions pkgs/by-name/mo/monado_questlink/force-enable-steamvr_lh.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 4308d73d..0081d536 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -219,6 +219,7 @@ option(BUILD_TESTING "Enable building of the test suite?" ON)
if(EXISTS "$ENV{HOME}/.steam/root")
set(XRT_HAVE_STEAM YES)
endif()
+set(XRT_HAVE_STEAM YES)

if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
set(XRT_HAVE_INTERNAL_HID ON)
161 changes: 161 additions & 0 deletions pkgs/by-name/mo/monado_questlink/package.nix
Original file line number Diff line number Diff line change
@@ -0,0 +1,161 @@
{ lib
, stdenv
, fetchFromGitLab
, writeText
, cmake
, doxygen
, glslang
, pkg-config
, python3
, SDL2
, bluez
, dbus
, eigen
, ffmpeg
, gst_all_1
, hidapi
, libGL
, libXau
, libXdmcp
, libXrandr
, libbsd
, libffi
, libjpeg
# , librealsense
, libsurvive
, libusb1
, libuv
, libuvc
, libv4l
, libxcb
, onnxruntime
, opencv4
, openhmd
, openvr
, udev
, vulkan-headers
, vulkan-loader
, wayland
, wayland-protocols
, wayland-scanner
, libdrm
, zlib
, nixosTests
, nlohmann_json
, x264
, capnproto
, libva
# Set as 'false' to build monado without service support, i.e. allow VR
# applications linking against libopenxr_monado.so to use OpenXR standalone
# instead of via the monado-service program. For more information see:
# https://gitlab.freedesktop.org/monado/monado/-/blob/master/doc/targets.md#xrt_feature_service-disabled
, serviceSupport ? true
}:

let
inherit (gst_all_1) gstreamer gst-plugins-base;

in
stdenv.mkDerivation {
pname = "monado";
version = "questlink-dev";

src = /home/ckie/git/monado;

nativeBuildInputs = [
cmake
doxygen
glslang
pkg-config
python3
];

cmakeFlags = [
"-DXRT_FEATURE_SERVICE=${if serviceSupport then "ON" else "OFF"}"
"-DXRT_OPENXR_INSTALL_ABSOLUTE_RUNTIME_PATH=ON"
"-DXRT_BUILD_DRIVER_QUEST_LINK=ON"
"-DXRT_BUILD_DRIVER_WIVRN=ON"
"-DXRT_ENABLE_GPL=ON"
];

buildInputs = [
SDL2
bluez
dbus
eigen
ffmpeg
gst-plugins-base
gstreamer
hidapi
libGL
libXau
libXdmcp
libXrandr
libbsd
libjpeg
libffi
# librealsense.dev - see below
libsurvive
libusb1
libuv
libuvc
libv4l
libxcb
onnxruntime
opencv4
openhmd
openvr
udev
vulkan-headers
vulkan-loader
wayland
wayland-scanner
wayland-protocols
libdrm
zlib
nlohmann_json
x264
capnproto
libva
];

# known disabled drivers:
# - DRIVER_DEPTHAI - Needs depthai-core https://github.com/luxonis/depthai-core
# - DRIVER_ILLIXR - needs ILLIXR headers https://github.com/ILLIXR/ILLIXR
# - DRIVER_REALSENSE - see below
# - DRIVER_SIMULAVR - needs realsense
# - DRIVER_ULV2 - needs proprietary Leapmotion SDK https://api.leapmotion.com/documentation/v2/unity/devguide/Leap_SDK_Overview.html

# realsense is disabled, the build ends with the following error:
#
# CMake Error in src/xrt/drivers/CMakeLists.txt:
# Imported target "realsense2::realsense2" includes non-existent path
# "/nix/store/2v95aps14hj3jy4ryp86vl7yymv10mh0-librealsense-2.41.0/include"
# in its INTERFACE_INCLUDE_DIRECTORIES.
#
# for some reason cmake is trying to use ${librealsense}/include
# instead of ${librealsense.dev}/include as an include directory

# Help openxr-loader find this runtime
setupHook = writeText "setup-hook" ''
export XDG_CONFIG_DIRS=@out@/etc/xdg''${XDG_CONFIG_DIRS:+:''${XDG_CONFIG_DIRS}}
'';

patches = [
# We don't have $HOME/.steam when building
./force-enable-steamvr_lh.patch
];

passthru.tests = {
basic-service = nixosTests.monado;
};

meta = with lib; {
description = "Open source XR runtime";
homepage = "https://monado.freedesktop.org/";
license = licenses.boost;
maintainers = with maintainers; [ Scrumplex expipiplus1 prusnak ];
platforms = platforms.linux;
mainProgram = "monado-cli";
};
}

0 comments on commit 6f7ebae

Please sign in to comment.