nixpkgs/pkgs/development/libraries/qt-6/modules
Kevin Puetz 7e886531a2 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
2023-12-03 16:59:01 -06:00
..
qt3d.nix
qt5compat.nix
qtbase.nix
qtcharts.nix
qtconnectivity.nix
qtdatavis3d.nix
qtdeclarative.nix
qtdoc.nix
qtgraphs.nix
qtgrpc.nix
qthttpserver.nix
qtimageformats.nix
qtlanguageserver.nix
qtlocation.nix
qtlottie.nix
qtmqtt.nix
qtmultimedia.nix
qtnetworkauth.nix
qtpositioning.nix
qtquick3d.nix
qtquick3dphysics.nix
qtquickeffectmaker.nix
qtquicktimeline.nix
qtremoteobjects.nix
qtscxml.nix
qtsensors.nix
qtserialbus.nix
qtserialport.nix
qtshadertools.nix
qtspeech.nix
qtsvg.nix
qttools.nix
qttranslations.nix
qtvirtualkeyboard.nix
qtwayland.nix
qtwebchannel.nix
qtwebengine.nix
qtwebsockets.nix
qtwebview.nix