%global forgeurl https://github.com/alvr-org/ALVR/ %global commit b67578e19b989f74541745109e700f4c308a64ca %global date 20240509 %forgemeta Name: alvr Version: 20.8.1 Release: %autorelease Summary: Stream VR displays from your PC to your headset via Wi-Fi License: MIT URL: %{forgeurl} Source0: %{forgesource} Source1: cuda.pc # downstream-only disable use of rpath (likely is breaking the app) Patch1: 0001-20.4.3-disable-rpath.patch # downstream-only enable cuda nvcc on GCC 13.x Patch2: 0002-20.4.3-enable-allow-unsupported-gcc.patch BuildRequires: cargo BuildRequires: clang BuildRequires: cuda-libraries-devel-12-4 BuildRequires: cuda-nvcc-12-4 BuildRequires: gcc-c++ BuildRequires: nasm BuildRequires: pipewire-jack-audio-connection-kit-devel BuildRequires: pkgconfig(alsa) BuildRequires: pkgconfig(atk) BuildRequires: pkgconfig(cairo) BuildRequires: pkgconfig(gdk-3.0) BuildRequires: pkgconfig(gdk-pixbuf-2.0) BuildRequires: pkgconfig(libdrm) BuildRequires: pkgconfig(libunwind) BuildRequires: pkgconfig(libva) BuildRequires: pkgconfig(openssl) BuildRequires: pkgconfig(pango) BuildRequires: pkgconfig(vulkan) BuildRequires: pkgconfig(x264) BuildRequires: pulseaudio-utils Recommends: steam Suggests: libva-nvidia-driver Suggests: mesa-va-drivers-freeworld Suggests: intel-media-driver %description Stream VR games from your PC to your headset via Wi-Fi. ALVR uses technologies like Asynchronous Timewarp and Fixed Foveated Rendering for a smoother experience. Most of the games that run on SteamVR or Oculus Software (using Revive) should work with ALVR. ALVR is an open source remote VR display which allows using head mounted displays (HMDs) via networking. %prep %forgeautosetup -p1 install -m 0644 %{SOURCE1} . %build # W: no-soname /usr/lib64/libalvr_vulkan_layer.so # W: no-manual-page-for-binary alvr_dashboard # E: files-duplicated-waste 559553 (alvr-debugsource) export PKG_CONFIG_PATH=${PWD}${PKG_CONFIG_PATH:+:${PKG_CONFIG_PATH}} export PKG_CONFIG_PATH=${PWD}/deps/linux/nv-codec-headers/build/lib/pkgconfig${PKG_CONFIG_PATH:+:${PKG_CONFIG_PATH}} export PATH=/usr/local/cuda/bin${PATH:+:${PATH}} cargo xtask prepare-deps --platform linux cargo xtask build-streamer --release --platform linux %install install -m 0755 -vd %{buildroot}%{_bindir} install -m 0755 -vd %{buildroot}%{_libdir}/alvr install -m 0755 -vd %{buildroot}%{_libexecdir}/alvr install -m 0755 -vd %{buildroot}%{_datadir}/vulkan/explicit_layer.d install -m 0755 -t %{buildroot}%{_bindir} build/alvr_streamer_linux/bin/alvr_dashboard install -m 0755 -t %{buildroot}%{_libdir} build/alvr_streamer_linux/lib64/libalvr_vulkan_layer.so install -m 0755 -t %{buildroot}%{_libdir}/alvr build/alvr_streamer_linux/lib64/alvr/bin/linux64/driver_alvr_server.so install -m 0755 -t %{buildroot}%{_libexecdir}/alvr build/alvr_streamer_linux/libexec/alvr/alvr_drm_lease_shim.so install -m 0755 -t %{buildroot}%{_libexecdir}/alvr build/alvr_streamer_linux/libexec/alvr/vrcompositor-wrapper install -m 0644 -t %{buildroot}%{_datadir}/vulkan/explicit_layer.d build/alvr_streamer_linux/share/vulkan/explicit_layer.d/alvr_x86_64.json %files %license LICENSE %doc CHANGELOG.md README.md %{_bindir}/alvr_dashboard %{_libdir}/libalvr_vulkan_layer.so %{_libdir}/alvr/driver_alvr_server.so %{_libexecdir}/alvr/alvr_drm_lease_shim.so %{_libexecdir}/alvr/vrcompositor-wrapper %{_datadir}/vulkan/explicit_layer.d/alvr_x86_64.json %changelog %autochangelog