qt6.qtmultimedia: Fix failure to load libva.so
QtMultimedia 6.6.0 would select dynamic VAAPI on linux, then warns during build (even though it chose this on purpose): > QT_FEATURE_vaapi is found but ffmpeg doesn't include vaapi, > however dynamic symbols resolve is possible The nuisance warning was fixed for 6.7 and backported to 6.6.1: https://codereview.qt-project.org/c/qt/qtmultimedia/+/517333 However, tracing it helped me figure out why vaapi actually wasn't working: nix doesn't end up with an rpath such that dlopen("va") can actually find libva.so in the nix store, thus failing at runtime: > qt.multimedia.plugin: loading backend "ffmpeg" > qt.core.library: "/nix/store/i9fkjks6dfjj1p9qvj5633sxbrf5rbd8-qtmultimedia-6.6.1/lib/qt-6/plugins/multimedia/libffmpegmediaplugin.so" loaded library > qt.multimedia.ffmpeg.libsymbolsresolver: Start VAAPI symbols resolving: 39 symbols > qt.core.library: "va" cannot load: Cannot load library va: (va: cannot open shared object file: No such file or directory) > qt.multimedia.ffmpeg.libsymbolsresolver: Couldn't load VAAPI library
This commit is contained in:
parent
d3de574b8c
commit
7e886531a2
1 changed files with 2 additions and 0 deletions
|
@ -33,6 +33,8 @@ qtModule {
|
||||||
++ lib.optionals stdenv.isLinux [ gstreamer gst-plugins-base gst-plugins-good gst-libav gst-vaapi ]
|
++ lib.optionals stdenv.isLinux [ gstreamer gst-plugins-base gst-plugins-good gst-libav gst-vaapi ]
|
||||||
++ lib.optionals stdenv.isDarwin [ VideoToolbox ];
|
++ lib.optionals stdenv.isDarwin [ VideoToolbox ];
|
||||||
|
|
||||||
|
cmakeFlags = [ "-DENABLE_DYNAMIC_RESOLVE_VAAPI_SYMBOLS=0" ];
|
||||||
|
|
||||||
env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin
|
env.NIX_CFLAGS_COMPILE = lib.optionalString stdenv.isDarwin
|
||||||
"-include AudioToolbox/AudioToolbox.h";
|
"-include AudioToolbox/AudioToolbox.h";
|
||||||
NIX_LDFLAGS = lib.optionalString stdenv.isDarwin
|
NIX_LDFLAGS = lib.optionalString stdenv.isDarwin
|
||||||
|
|
Loading…
Reference in a new issue