Description of problem: Support for H264/HEVC encoding/decoding is missing in radeonsi vaapi driver. vainfo does not report support for missing codecs with an AMD RX6600 (RDNA2): Trying display: wayland Trying display: x11 libva info: VA-API version 1.16.0 libva info: Trying to open /usr/lib64/dri/radeonsi_drv_video.so libva info: Found init function __vaDriverInit_1_16 libva info: va_openDriver() returns 0 vainfo: VA-API version: 1.16 (libva 2.16.0) vainfo: Driver version: Mesa Gallium driver 23.1.3 for AMD Radeon RX 6600 (navi23, LLVM 15.0.6, DRM 3.52, 6.3.9-desktop-2.mga9) vainfo: Supported profile and entrypoints VAProfileMPEG2Simple : VAEntrypointVLD VAProfileMPEG2Main : VAEntrypointVLD VAProfileJPEGBaseline : VAEntrypointVLD VAProfileVP9Profile0 : VAEntrypointVLD VAProfileVP9Profile2 : VAEntrypointVLD VAProfileAV1Profile0 : VAEntrypointVLD VAProfileNone : VAEntrypointVideoProc There are some missing meson build options in the spec file: -D video-codecs=h264dec,h264enc,h265dec,h265enc,vc1dec (see https://gitlab.freedesktop.org/mesa/mesa/-/issues/6616) Version-Release number of selected component (if applicable): 23.1.3 How reproducible: Steps to Reproduce: 1. 2. 3.
Thank you for the report. Assigning to the drivers team.
Assignee: bugsquad => kernel
If enabled, it would have to be in a tainted version of mesa https://www.fsf.org/licensing/h264-patent-license
CC: (none) => davidwhodgins
Just as Note to have it documented here too (Mageia Forum : Tainted Mesa DRI drivers for Mageia 9): https://forums.mageia.org/en/viewtopic.php?t=14995
CC: (none) => linux
This affects a number of video players (mpv, ffmpeg, mplayer, ...) which cannot use hardware decoding and instead fall back to software decoding which then results in 10-20 times more CPU usage, stuttering and playback issues. It should be trivial to create a tainted package/version which has the necessary define for the mesa build which would solve all those issues. Thanks in advance, Herbert
CC: (none) => herbert
This should be fixed in mesa-21.3.9 (either in cauldron and mga9's updates_testing).
CC: (none) => ghibomgx
mesa-23.1.9-1.mga9 tainted installed and working on my system with nvidia470, kernel 6.4.16-desktop-3, Plasma. (not testing the problem in this bug)
CC: (none) => fri
Having somewhat similar hardware as the reporter, I can confirm that H264/HEVC support is enabled/working in tainted mesa-23.1.9 for Mageia 9 and Cauldron. $ vainfo Trying display: wayland libva info: VA-API version 1.16.0 libva info: Trying to open /usr/lib64/dri/radeonsi_drv_video.so libva info: Found init function __vaDriverInit_1_16 libva info: va_openDriver() returns 0 vainfo: VA-API version: 1.16 (libva 2.16.0) vainfo: Driver version: Mesa Gallium driver 23.1.9 for AMD Radeon RX 6600 XT (navi23, LLVM 15.0.6, DRM 3.52, 6.4.16-desktop-3.mga9) vainfo: Supported profile and entrypoints VAProfileMPEG2Simple : VAEntrypointVLD VAProfileMPEG2Main : VAEntrypointVLD VAProfileVC1Simple : VAEntrypointVLD VAProfileVC1Main : VAEntrypointVLD VAProfileVC1Advanced : VAEntrypointVLD VAProfileH264ConstrainedBaseline: VAEntrypointVLD VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice VAProfileH264Main : VAEntrypointVLD VAProfileH264Main : VAEntrypointEncSlice VAProfileH264High : VAEntrypointVLD VAProfileH264High : VAEntrypointEncSlice VAProfileHEVCMain : VAEntrypointVLD VAProfileHEVCMain : VAEntrypointEncSlice VAProfileHEVCMain10 : VAEntrypointVLD VAProfileHEVCMain10 : VAEntrypointEncSlice VAProfileJPEGBaseline : VAEntrypointVLD VAProfileVP9Profile0 : VAEntrypointVLD VAProfileVP9Profile2 : VAEntrypointVLD VAProfileAV1Profile0 : VAEntrypointVLD VAProfileNone : VAEntrypointVideoProc
CC: (none) => arusanu
Depends on: (none) => 32562
So this tainted version with enabled H264/HEVC encoding/decoding will be news for Mageia 10 (and 9.1 if any) Hmm we still miss keywords for Mageia 10, i.e FOR_RELEASENOTES10
Status comment: (none) => FOR_RELEASENOTES10
It is enabled for r600, too (the supported codecs only of course). $ vainfo Trying display: wayland libva info: VA-API version 1.20.0 libva info: Trying to open /usr/lib64/dri/r600_drv_video.so libva info: Found init function __vaDriverInit_1_19 libva info: va_openDriver() returns 0 vainfo: VA-API version: 1.20 (libva 2.20.0) vainfo: Driver version: Mesa Gallium driver 23.1.9 for AMD RS780 (DRM 2.50.0 / 6.5.3-desktop-1.mga10, LLVM 15.0.6) vainfo: Supported profile and entrypoints VAProfileMPEG2Simple : VAEntrypointVLD VAProfileMPEG2Main : VAEntrypointVLD VAProfileVC1Simple : VAEntrypointVLD VAProfileVC1Main : VAEntrypointVLD VAProfileVC1Advanced : VAEntrypointVLD VAProfileH264ConstrainedBaseline: VAEntrypointVLD VAProfileH264Main : VAEntrypointVLD VAProfileH264High : VAEntrypointVLD VAProfileNone : VAEntrypointVideoProc With mpv --hwdec=auto, it now uses about ten times less CPU, fine !
CC: (none) => geex+mageia
(In reply to Morgan Leijström from comment #8) > Hmm we still miss keywords for Mageia 10, i.e FOR_RELEASENOTES10 Done
Keywords: (none) => FOR_RELEASENOTES10Status comment: FOR_RELEASENOTES10 => (none)
CC: (none) => j.alberto.vc, joselp
José Manuel, I think this could be a good blog post