When I install on my computer with Nvidia GPU,I found it lacks cuda as a dependence. After installing extra/cuda, export PATH="$PATH:/opt/cuda/bin"
is also required for compiling FFmpeg.
Search Criteria
Package Details: alvr 20.7.1-2
Git Clone URL: | https://aur.archlinux.org/alvr.git (read-only, click to copy) |
---|---|
Package Base: | alvr |
Description: | Experimental Linux version of ALVR. Stream VR games from your PC to your headset via Wi-Fi. |
Upstream URL: | https://github.com/alvr-org/ALVR |
Licenses: | MIT |
Conflicts: | alvr |
Provides: | alvr |
Submitter: | m00nw4tch3r |
Maintainer: | m00nw4tch3r (alvrbot1) |
Last Packager: | m00nw4tch3r |
Votes: | 22 |
Popularity: | 1.20 |
First Submitted: | 2021-09-23 21:53 (UTC) |
Last Updated: | 2024-04-11 19:40 (UTC) |
Dependencies (19)
- alsa-lib
- bash (bash-devel-static-gitAUR, bash-gitAUR, bash-devel-gitAUR, busybox-coreutilsAUR)
- hicolor-icon-theme (hicolor-icon-theme-gitAUR)
- libdrm (libdrm-gitAUR)
- libunwind (libunwind-carbonAUR, libunwind-gitAUR)
- libva-drm.so (libva-gitAUR, libva-headlessAUR, lib32-libva, libva)
- libva-x11.so (libva-gitAUR, lib32-libva, libva)
- libva.so (libva-gitAUR, libva-headlessAUR, lib32-libva, libva)
- vulkan-icd-loader (vulkan-icd-loader-gitAUR)
- x264 (x264-tmod-gitAUR, x264-gitAUR)
- cargo (rust-nightly-binAUR, cargo-gitAUR, rustup-gitAUR, rust, rustup) (make)
- clang (llvm-rocm-gitAUR, llvm-gitAUR, clang-minimal-gitAUR) (make)
- git (git-gitAUR) (make)
- imagemagick (imagemagick-gitAUR, imagemagick-fullAUR, imagemagick-full-gitAUR) (make)
- jackAUR (jack2-gitAUR, pipewire-full-jack-gitAUR, pipewire-jack-gitAUR, jack2, pipewire-jack) (make)
- libxrandr (libxrandr-gitAUR) (make)
- nasm (nasm-gitAUR) (make)
- unzip (unzip-natspecAUR, unzip-zstdAUR) (make)
- vulkan-headers (vulkan-headers-gitAUR) (make)
Required by (0)
Sources (1)
ilolipopi commented on 2023-08-22 04:33 (UTC) (edited on 2023-08-22 04:34 (UTC) by ilolipopi)
depau commented on 2023-08-05 20:09 (UTC) (edited on 2023-08-05 20:10 (UTC) by depau)
Hi! This package is currently failing to build due to the following error. I suspect this has to do with the fact that CUDA depends on GCC 12, while Arch now ships with GCC 13.
alvr-git
also fails to build with a different error.
error: linking with `cc` failed: exit status: 1
|
= note: LC_ALL="C" PATH="/usr/lib64/rustlib/x86_64-unknown-linux-gnu/bin:/usr/lib/ccache/bin:/home/depau/.bin:/home/depau/.cargo/bin:/var/lib/snapd/snap/bin:/opt/cuda/bin:/home/depau/.bin:/home/depau/.cargo/bin:/var/lib/snapd/snap/bin:/opt/cuda/bin:/usr/local/bin:/usr/bin:/var/lib/snapd/snap/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl" VSLANG="1033" "cc" "-Wl,--version-script=/tmp/rustcgrUiDt/list" "-Wl,--no-undefined-version" "-m64" "/tmp/rustcgrUiDt/symbols.o" "/home/depau/.cache/yay/alvr/src/alvr/target/release/deps/alvr_server.alvr_server.581b5014a7a25c00-cgu.8.rcgu.o" "-Wl,--as-needed" "-L" "/home/depau/.cache/yay/alvr/src/alvr/target/release/deps" "-L" "/home/depau/.cache/yay/alvr/src/alvr/target/release/build/alvr_server-b1e8f2aca6fe6b2a/out" "-L" "/home/depau/.cache/yay/alvr/src/alvr/deps/linux/ffmpeg/alvr_build/lib" "-L" "/home/depau/.cache/yay/alvr/src/alvr/deps/linux/ffmpeg/alvr_build/lib" "-L" "/home/depau/.cache/yay/alvr/src/alvr/deps/linux/ffmpeg/alvr_build/lib" "-L" "/home/depau/.cache/yay/alvr/src/alvr/deps/linux/ffmpeg/alvr_build/lib" "-L" "/home/depau/.cache/yay/alvr/src/alvr/alvr/server/cpp/openvr/lib" "-L" "/usr/lib" "-L" "/usr/lib" "-L" "/usr/lib" "-L" "/usr/lib" "-L" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "-lbindings" "-Wl,-Bdynamic" "-lstdc++" "-Wl,-Bstatic" "-lavfilter" "-lavcodec" "-lavutil" "-Wl,-Bdynamic" "-lva-drm" "-lva-x11" "-lvdpau" "-lm" "-ldrm" "-lva" "-latomic" "-lX11" "-lopenvr_api" "-lvulkan" "-lx264" "-Wl,-Bstatic" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-642f016d43c1c85a.rlib" "-Wl,-Bdynamic" "-ldl" "-ljack" "-ldl" "-lasound" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/home/depau/.cache/yay/alvr/src/alvr/target/release/deps/libalvr_server.so" "-Wl,--gc-sections" "-shared" "-Wl,-z,relro,-z,now" "-Wl,-O1" "-nodefaultlibs" "-Wl,-rpath,/home/depau/.cache/yay/alvr/src/alvr/deps/linux/ffmpeg/alvr_build/lib" "-Wl,-rpath,/home/depau/.cache/yay/alvr/src/alvr/deps/linux/ffmpeg/alvr_build/lib" "-Wl,-rpath,/home/depau/.cache/yay/alvr/src/alvr/deps/linux/ffmpeg/alvr_build/lib" "-Wl,--no-undefined"
= note: lto1: fatal error: bytecode stream in file '/home/depau/.cache/yay/alvr/src/alvr/deps/linux/ffmpeg/alvr_build/lib/libavfilter.a' generated with LTO version 12.0 instead of the expected 13.0
compilation terminated.
lto-wrapper: fatal error: /usr/bin/cc returned 1 exit status
compilation terminated.
/usr/bin/ld: error: lto-wrapper failed
collect2: error: ld returned 1 exit status
error: could not compile `alvr_server` (lib) due to previous error
warning: build failed, waiting for other jobs to finish...
Forcing a GCC-12 build still fails though (I did that by adding to $PATH
a directory where cc
, c++
, gcc
and g++
are all symlinked to /usr/bin/g{cc,++}-12
, which might not be correct, it was just a quick test), but with a different error:
error: linking with `cc` failed: exit status: 1
|
= note: LC_ALL="C" PATH="/usr/lib64/rustlib/x86_64-unknown-linux-gnu/bin:/usr/lib/ccache/bin:/home/depau/gcc12-bin:/home/depau/.bin:/home/depau/.cargo/bin:/var/lib/snapd/snap/bin:/opt/cuda/bin:/home/depau/.bin:/home/depau/.cargo/bin:/var/lib/snapd/snap/bin:/opt/cuda/bin:/usr/local/bin:/usr/bin:/var/lib/snapd/snap/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl" VSLANG="1033" "cc" "-Wl,--version-script=/tmp/rustcZ5iTf8/list" "-Wl,--no-undefined-version" "-m64" "/tmp/rustcZ5iTf8/symbols.o" "/tmp/alvr/src/alvr/target/release/deps/alvr_server.alvr_server.581b5014a7a25c00-cgu.8.rcgu.o" "-Wl,--as-needed" "-L" "/tmp/alvr/src/alvr/target/release/deps" "-L" "/tmp/alvr/src/alvr/target/release/build/alvr_server-b1e8f2aca6fe6b2a/out" "-L" "/tmp/alvr/src/alvr/deps/linux/ffmpeg/alvr_build/lib" "-L" "/tmp/alvr/src/alvr/deps/linux/ffmpeg/alvr_build/lib" "-L" "/tmp/alvr/src/alvr/deps/linux/ffmpeg/alvr_build/lib" "-L" "/tmp/alvr/src/alvr/deps/linux/ffmpeg/alvr_build/lib" "-L" "/tmp/alvr/src/alvr/alvr/server/cpp/openvr/lib" "-L" "/usr/lib" "-L" "/usr/lib" "-L" "/usr/lib" "-L" "/usr/lib" "-L" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib" "-Wl,-Bstatic" "-lbindings" "-Wl,-Bdynamic" "-lstdc++" "-Wl,-Bstatic" "-lavfilter" "-lavcodec" "-lavutil" "-Wl,-Bdynamic" "-lva-drm" "-lva-x11" "-lvdpau" "-lm" "-ldrm" "-lva" "-latomic" "-lX11" "-lopenvr_api" "-lvulkan" "-lx264" "-Wl,-Bstatic" "/usr/lib/rustlib/x86_64-unknown-linux-gnu/lib/libcompiler_builtins-642f016d43c1c85a.rlib" "-Wl,-Bdynamic" "-ldl" "-ljack" "-ldl" "-lasound" "-lgcc_s" "-lutil" "-lrt" "-lpthread" "-lm" "-ldl" "-lc" "-Wl,--eh-frame-hdr" "-Wl,-z,noexecstack" "-L" "/usr/lib64/rustlib/x86_64-unknown-linux-gnu/lib" "-o" "/tmp/alvr/src/alvr/target/release/deps/libalvr_server.so" "-Wl,--gc-sections" "-shared" "-Wl,-z,relro,-z,now" "-Wl,-O1" "-nodefaultlibs" "-Wl,-rpath,/tmp/alvr/src/alvr/deps/linux/ffmpeg/alvr_build/lib" "-Wl,-rpath,/tmp/alvr/src/alvr/deps/linux/ffmpeg/alvr_build/lib" "-Wl,-rpath,/tmp/alvr/src/alvr/deps/linux/ffmpeg/alvr_build/lib" "-Wl,--no-undefined"
= note: lto-wrapper: warning: using serial compilation of 51 LTRANS jobs
lto-wrapper: note: see the '-flto' option documentation for more information
deps/linux/ffmpeg/libavcodec/hevcdec.c: In function 'pred_weight_table':
deps/linux/ffmpeg/libavcodec/hevcdec.c:178:32: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
178 | luma_weight_l0_flag[i] = get_bits1(gb);
| ^
deps/linux/ffmpeg/libavcodec/hevcdec.c:156:13: note: at offset 16 into destination object 'luma_weight_l0_flag' of size 16
156 | uint8_t luma_weight_l0_flag[16];
| ^
deps/linux/ffmpeg/libavcodec/hevcdec.c:186:38: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
186 | chroma_weight_l0_flag[i] = get_bits1(gb);
| ^
deps/linux/ffmpeg/libavcodec/hevcdec.c:157:13: note: at offset 16 into destination object 'chroma_weight_l0_flag' of size 16
157 | uint8_t chroma_weight_l0_flag[16];
| ^
deps/linux/ffmpeg/libavcodec/hevcdec.c:222:36: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
222 | luma_weight_l1_flag[i] = get_bits1(gb);
| ^
deps/linux/ffmpeg/libavcodec/hevcdec.c:158:13: note: at offset 16 into destination object 'luma_weight_l1_flag' of size 16
158 | uint8_t luma_weight_l1_flag[16];
| ^
deps/linux/ffmpeg/libavcodec/hevcdec.c:230:42: warning: writing 1 byte into a region of size 0 [-Wstringop-overflow=]
230 | chroma_weight_l1_flag[i] = get_bits1(gb);
| ^
deps/linux/ffmpeg/libavcodec/hevcdec.c:159:13: note: at offset 16 into destination object 'chroma_weight_l1_flag' of size 16
159 | uint8_t chroma_weight_l1_flag[16];
| ^
deps/linux/ffmpeg/libavcodec/x86/mathops.h: Assembler messages:
deps/linux/ffmpeg/libavcodec/x86/mathops.h:125: Error: operand type mismatch for `shr'
deps/linux/ffmpeg/libavcodec/x86/mathops.h:125: Error: operand type mismatch for `shr'
deps/linux/ffmpeg/libavcodec/x86/mathops.h:125: Error: operand type mismatch for `shr'
deps/linux/ffmpeg/libavcodec/x86/mathops.h:125: Error: operand type mismatch for `shr'
deps/linux/ffmpeg/libavcodec/x86/mathops.h:125: Error: operand type mismatch for `shr'
deps/linux/ffmpeg/libavcodec/x86/mathops.h:125: Error: operand type mismatch for `shr'
deps/linux/ffmpeg/libavcodec/x86/mathops.h:125: Error: operand type mismatch for `shr'
deps/linux/ffmpeg/libavcodec/x86/mathops.h:125: Error: operand type mismatch for `shr'
deps/linux/ffmpeg/libavcodec/x86/mathops.h:125: Error: operand type mismatch for `shr'
deps/linux/ffmpeg/libavcodec/x86/mathops.h:125: Error: operand type mismatch for `shr'
deps/linux/ffmpeg/libavcodec/x86/mathops.h:125: Error: operand type mismatch for `shr'
deps/linux/ffmpeg/libavcodec/x86/mathops.h:125: Error: operand type mismatch for `shr'
deps/linux/ffmpeg/libavcodec/x86/mathops.h:125: Error: operand type mismatch for `shr'
deps/linux/ffmpeg/libavcodec/x86/mathops.h:125: Error: operand type mismatch for `shr'
lto-wrapper: fatal error: /home/depau/gcc12-bin/cc returned 1 exit status
compilation terminated.
/usr/bin/ld: error: lto-wrapper failed
collect2: error: ld returned 1 exit status
error: could not compile `alvr_server` (lib) due to previous error
warning: build failed, waiting for other jobs to finish...
wolcen commented on 2023-06-12 00:18 (UTC)
Hi @arbitar - the latest build worked great here today. No consolation, I realize, but maybe offers a little hope?
Depending on how your Rust is installed, a rustup update
may help - then take things from the top? I'm guessing something is out of date in there (cargo --version
here is 1.70.0)
arbitar commented on 2023-06-11 23:45 (UTC)
Hi all,
I'm having an issue building this and am struggling to figure out exactly where the issue is coming from. I am very not at all hip with Rust compilation but it seems to me that every Cargo.toml in this project uses some kind of completely unsupported configuration inheritance syntax? And thus will not even attempt to begin building. Am I missing something?
==> Starting prepare()...
error: failed to load manifest for workspace member `/home/admin/aur/alvr/src/alvr/alvr/audio`
Caused by:
failed to parse manifest at `/home/admin/aur/alvr/src/alvr/alvr/audio/Cargo.toml`
Caused by:
invalid type: map, expected a sequence for key `package.authors`
==> ERROR: A failure occurred in prepare().
Aborting...
cwrau commented on 2023-05-25 21:22 (UTC) (edited on 2023-05-25 21:32 (UTC) by cwrau)
Same build problems here;
$ bash -c "./configure --prefix=/tmp/cwr/makepkg/alvr/src/alvr/deps/linux/ffmpeg/alvr_build --enable-gpl --enable-version3 --enable-static --enable-shared --disable-programs --disable-doc --disable-avdevice --disable-avformat --disable-swresample --disable-postproc --disable-network --enable-lto --disable-everything --enable-encoder=h264_vaapi --enable-encoder=hevc_vaapi --enable-encoder=libx264 --enable-encoder=libx264rgb --enable-hwaccel=h264_vaapi --enable-hwaccel=hevc_vaapi --enable-filter=scale --enable-filter=scale_vaapi --enable-libx264 --enable-vulkan --enable-libdrm --enable-pic --enable-rpath --enable-encoder=h264_nvenc --enable-encoder=hevc_nvenc --enable-nonfree --enable-cuda-nvcc --enable-libnpp --enable-hwaccel=h264_nvenc --enable-hwaccel=hevc_nvenc --nvccflags=\"-gencode arch=compute_52,code=sm_52 -O2\" --extra-cflags=\"-I/opt/cuda/targets/x86_64-linux/include\" --extra-ldflags=\"-L/opt/cuda/targets/x86_64-linux/lib\""
ERROR: failed checking for nvcc.
After installing cuda and updating the PATH I still get the same error 😕
For the git Version installing Cuda and updating the PATH works.
theriddick commented on 2023-05-19 02:10 (UTC) (edited on 2023-05-19 02:14 (UTC) by theriddick)
Got same fail as the others below. Guess this is a no go.
Git version appears to compile fine.
urbenlegend commented on 2023-05-16 21:32 (UTC)
@stabares
You just need to reboot your machine (or logout and log back in). Installing CUDA does automatically add it to your PATH, but that change only takes affect in a new session. Restarting after installing CUDA allowed the ALVR package to continue to build.
stabares commented on 2023-05-11 19:17 (UTC)
Here it tries to use CUDA and fails if it's not installed. Maybe it sees the nvidia drivers and tries to use it? After installing CUDA it fails to locate nvcc (located at /opt/cuda/bin/nvcc). Added /opt/cuda/bin to PATH and it built fine, but there probably is a better way to tell it where it's located.
I'm building it on Manjaro, btw.
rvasilev commented on 2023-05-11 16:32 (UTC) (edited on 2023-05-11 16:38 (UTC) by rvasilev)
Should compile with suggested changes to alvr.patch
# VVV Introduced in v19.1.0
diff --git a/alvr/vulkan_layer/layer/layer.h b/alvr/vulkan_layer/layer/layer.h
index b17f8e58..8676ec53 100644
--- a/alvr/vulkan_layer/layer/layer.h
+++ b/alvr/vulkan_layer/layer/layer.h
@@ -2,6 +2,7 @@
#include <vulkan/vk_layer.h>
+#define VK_LAYER_EXPORT __attribute__((visibility("default")))
extern "C" const char *g_sessionPath;
extern "C" VK_LAYER_EXPORT PFN_vkVoidFunction VKAPI_CALL wsi_layer_vkGetDeviceProcAddr(VkDevice device, const char *funcName);
# VVV Introduced in v19.1.1
diff --git a/alvr/vulkan_layer/layer/settings.h b/alvr/vulkan_layer/layer/settings.h
index 8932a7ad..233fc268 100644
--- a/alvr/vulkan_layer/layer/settings.h
+++ b/alvr/vulkan_layer/layer/settings.h
@@ -1,6 +1,7 @@
#pragma once
#include <string>
+#include <cstdint>
class Settings
{
Pinned Comments
m00nw4tch3r commented on 2023-09-28 04:38 (UTC) (edited on 2023-12-30 22:58 (UTC) by m00nw4tch3r)
Might be possible to do something about that with: https://github.com/ValveSoftware/steam-runtime/blob/master/doc/steamlinuxruntime-known-issues.md#sharing-directories-with-the-container
But you can also just force steamvr to launch without a runtime. (https://github.com/Scrumplex/Steam-Play-None)