Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Build Failures With Bad AV1 Dependencies (Old libav) #2134

Open
mohammad-matini opened this issue May 16, 2024 · 2 comments
Open

Build Failures With Bad AV1 Dependencies (Old libav) #2134

mohammad-matini opened this issue May 16, 2024 · 2 comments

Comments

@mohammad-matini
Copy link

mohammad-matini commented May 16, 2024

Description

Building ALVR dependencies with AV1 support fails with cryptic error:

WARNING: Disabled av1_vaapi_encoder because not all dependencies are satisfied: VAEncPictureParameterBufferAV1

VAEncPictureParameterBufferAV1 is part of libav. On Slackware 15 we have libav 2.13.0, which does not have that symbol, causing ffmpeg to throw warnings, aborting the build. Building and installing 2.21.0 fixed the issue, allowing ffmpeg to build, and then ALVR. ALVR runs normally afterwards.

Of course upgrading libav to a newer version is risky, only do it if you know what you're doing.

Otherwise, a work-around is: disabling AV1 by deleting:

alvr/xtask/patches/0001-av1-encode-backport.patch

and modifying alvr/xtask/src/dependencies.rs to remove the two lines:

--- a/alvr/xtask/src/dependencies.rs
+++ b/alvr/xtask/src/dependencies.rs
@@ -166,10 +166,8 @@ pub fn build_ffmpeg_linux(nvenc_flag: bool, deps_path: &Path) {
         "--disable-everything",
         "--enable-encoder=h264_vaapi",
         "--enable-encoder=hevc_vaapi",
-        "--enable-encoder=av1_vaapi",
         "--enable-hwaccel=h264_vaapi",
         "--enable-hwaccel=hevc_vaapi",
-        "--enable-hwaccel=av1_vaapi",
         "--enable-filter=scale_vaapi",
         "--enable-vulkan",
         "--enable-libdrm",

This work-around worked for me normally for weeks. Using x264 as encoder.

Environment

Hardware

Irrelevant.

Installation

ALVR Version: v20.8.1

Install Type: From Source

OS Name and Version: GNU/Linux (Slackware 15)

@mohammad-matini
Copy link
Author

mohammad-matini commented May 16, 2024

I don't think there's much to do here on ALVR's side; the error is hard to decipher, but it is from ffmpeg's configure script. This can probably be closed for now I think. I filed this issue for anyone from the future who would have felt the pain of having zero search results for that error, now there would be one.

@mohammad-matini
Copy link
Author

I don't think I have AV1 hardware support, switching to AV1 in ALVR results in crashes or black screens on the headset. The fix mentioned above is just to compile ALVR to use it with x264.

GPU stuff:

Mesa Gallium driver 23.1.3 for AMD Radeon Graphics (renoir, LLVM 13.0.0, DRM 3.42, 5.15.94)
VGA compatible controller: Advanced Micro Devices, Inc. [AMD/ATI] Cezanne [Radeon Vega Series / Radeon Vega Mobile Series] (rev c9)

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant