[Bug 1219494] New: libmfx no longer supported
https://bugzilla.suse.com/show_bug.cgi?id=1219494 Bug ID: 1219494 Summary: libmfx no longer supported Classification: openSUSE Product: openSUSE Tumbleweed Version: Current Hardware: Other OS: Other Status: NEW Severity: Normal Priority: P5 - None Component: X.Org Assignee: gfx-bugs@suse.de Reporter: sndirsch@suse.com QA Contact: gfx-bugs@suse.de Target Milestone: --- Found By: --- Blocker: --- libmfx is no longer supported https://github.com/Intel-Media-SDK/MediaSDK DISCONTINUATION OF PROJECT. This project will no longer be maintained by Intel. This project has been identified as having known security escapes. Intel has ceased development and contributions including, but not limited to, maintenance, bug and security fixes, new releases, or updates, to this project. Intel no longer accepts patches to this project. If you have an ongoing need to use this project, are interested in independently developing it, or would like to maintain patches for the open source software community, please create your own fork of this project. [...] Let's get rid of it, i.e. remove the support from the following affected packages libavfilter7_110 libavutil56_70 libavcodec58_134 --> ffmpeg-4 vlc-noX --> vlc libavfilter8 libavutil57 libavcodec59 --> ffmpeg-5 gstreamer-plugins-bad --> gstreamer-plugins-bad Then drop libmfx package (includes libmfx-samples subpackage). -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1219494 Stefan Dirsch <sndirsch@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- Priority|P5 - None |P3 - Medium Assignee|gfx-bugs@suse.de |sndirsch@suse.com Status|NEW |IN_PROGRESS -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1219494 https://bugzilla.suse.com/show_bug.cgi?id=1219494#c1 --- Comment #1 from Stefan Dirsch <sndirsch@suse.com> --- Submitted changes for ffmpeg-4, ffmpeg-5, vlc and gstreamer-plugins-bad: https://build.opensuse.org/request/show/1143610 https://build.opensuse.org/request/show/1143611 https://build.opensuse.org/request/show/1143613 https://build.opensuse.org/request/show/1143612 Drop request for libmfx: https://build.opensuse.org/request/show/1143614 -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1219494 Stefan Dirsch <sndirsch@suse.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |fvogt@suse.com -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1219494 https://bugzilla.suse.com/show_bug.cgi?id=1219494#c6 --- Comment #6 from OBSbugzilla Bot <bwiedemann+obsbugzillabot@suse.com> --- This is an autogenerated message for OBS integration: This bug (1219494) was mentioned in https://build.opensuse.org/request/show/1143658 Factory / ffmpeg-5 https://build.opensuse.org/request/show/1143659 Factory / ffmpeg-4 -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1219494 https://bugzilla.suse.com/show_bug.cgi?id=1219494#c7 Michael Pujos <pujos.michael@gmail.com> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |pujos.michael@gmail.com --- Comment #7 from Michael Pujos <pujos.michael@gmail.com> --- At least for ffmpeg, this should be replaced by libvpl (which is available as a package): ~/git_projects/ffmpeg-static/build/ffmpeg-6.1> ./configure --help | grep mfx --enable-libmfx enable Intel MediaSDK (AKA Quick Sync Video) code via libmfx [no] --enable-libvpl enable Intel oneVPL code via libvpl if libmfx is not used [no] -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1219494 https://bugzilla.suse.com/show_bug.cgi?id=1219494#c8 --- Comment #8 from Michael Pujos <pujos.michael@gmail.com> --- Ignore comment above, libvpl is already used for ffmpeg-6. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1219494 https://bugzilla.suse.com/show_bug.cgi?id=1219494#c10 --- Comment #10 from Michael Pujos <pujos.michael@gmail.com> --- Yes and by removing libmfx in ffmpeg 4 and 5, you removed Intel QSV support in these packages. Since, QSV is available in ffmpeg 6 that might be acceptable, but I'd have kept libmfx for the time being as it still work just fine. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1219494 https://bugzilla.suse.com/show_bug.cgi?id=1219494#c12 --- Comment #12 from Michael Pujos <pujos.michael@gmail.com> --- You can keep it by not dropping it ? It has not suddenly become radioactive or not working anymore just because its github page says it is unmaintained and replaced by the oneVPL library. Anyway, it is not my call to make. Inevitably at least one user will complain that QSV is not working anymore with ffmpeg 4 or 5. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1219494 https://bugzilla.suse.com/show_bug.cgi?id=1219494#c13 --- Comment #13 from Michael Pujos <pujos.michael@gmail.com> --- - VLC will not be able to use QSV for decoding - whatever uses gstreamer will not be able to use QSV for decoding - package obs-studio in Packman depends on libmfx. They will have to package it on their own Is it really what is wanted ? -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1219494 https://bugzilla.suse.com/show_bug.cgi?id=1219494#c15 --- Comment #15 from Michael Pujos <pujos.michael@gmail.com> --- Only ffmpeg-6 uses the newer libvpl as a replacement to libmfx. The output of 'zypper se --requires libvpl' confirms it. So removing libmfx dependency to packages other than ffmpeg-6 actually removes QSV support for these packages (gstreamer, vlc, ffmpeg 4 and 5). I do not think this is a good idea and I think this removal of libmfx should be reverted. I suggest to ask relevant other people in charge of the distro for their opinion. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1219494 https://bugzilla.suse.com/show_bug.cgi?id=1219494#c17 --- Comment #17 from Michael Pujos <pujos.michael@gmail.com> --- Yes indeed for gstreamer. I missed the added dependency on libvpl. VLC remains. And obs-studio on Packman, a program for which QSV is popular with streamers. VLC does not have libvpl support. There's this PR but it was not merged: https://code.videolan.org/videolan/vlc/-/merge_requests/3843 From what I understand maybe it will be in VLC 4.0. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1219494 https://bugzilla.suse.com/show_bug.cgi?id=1219494#c20 --- Comment #20 from Michael Pujos <pujos.michael@gmail.com> --- Yes libvpl is conceived as aneasy replacement for libmfx (aka Intel Media SDK). Quoting FFmpeg QuickSync documentation (https://trac.ffmpeg.org/wiki/Hardware/QuickSync): "The library is the successors of libmfx. It will support Intel's platform >= Alder Lake and will add new features. libvpl.so is compatible with MSDK's runtime (libmfxhw64.so) and libmfx.so also has forward compatibility with oneVPL's runtime (libmfx-gen.so)." But there is a big catch ! libvpl is only compatible with >= Alder Lake CPUs (Aka Intel's 12th gen) if the Intel Media SDK (libmfx) is not installed! I could test this on my Skylake (8th gen) laptop with ffmpeg-6 from Packman. The Packam version already removed libmfx and enabled libvpl. I'm familiar with FFmpeg QSV transcoding and could test that the Packman ffmpeg version (compiled against only libvpl) is working fine for QSV transcoding. However, I have libmfx installed. If I rename its main lib (/usr/lib64/libmfxhw64.so.1.35) to simulate mfx not installed without actually uninstalling libmfx, QSV transcoding via ffmpeg-6/libvpl does not work anymore! So by removing libmfx, you are removing QSV support for all Intel CPU below Alder Lake. All of this is confirmed by this chart: https://github.com/Intel-Media-SDK/MediaSDK?tab=readme-ov-file#media-sdk-sup... So the legacy libmfx is really needed. Please don't remove it :(. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1219494 https://bugzilla.suse.com/show_bug.cgi?id=1219494#c21 --- Comment #21 from Michael Pujos <pujos.michael@gmail.com> --- Long story short: modifying packages to only use libvpl is OK but libmfx must still be installed for QSV to work on Intel hardware below Alder Lake, as libvpl dispatch to it. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1219494 https://bugzilla.suse.com/show_bug.cgi?id=1219494#c25 --- Comment #25 from Michael Pujos <pujos.michael@gmail.com> --- Yes, libmfx1 must be added as a (x86_64) runtime dependency of packages that are now using libvpl as a compile dependency. However, I could not find a single package that depends on package libmfx-gen1_2 ('zypper se --requires --recommends libmfx-gen1_2' give no result). I could verify that FFmpeg QSV decoding (the Packman version that is already using only libvpl) does not need it. So it is a bit obscure what libmfx-gen1_2 is doing to me. Since you reverted the removal of libmfx, you can also reinstate it for use in VLC (as a compile dep) until enventually VLC supports libvpl. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1219494 https://bugzilla.suse.com/show_bug.cgi?id=1219494#c26 --- Comment #26 from Michael Pujos <pujos.michael@gmail.com> --- Ah sorry was not familiar with the Supplement thing. I suppose it will work as expected with either libmfx or libmfx-gen installed depending on hardware. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1219494 https://bugzilla.suse.com/show_bug.cgi?id=1219494#c29 --- Comment #29 from Michael Pujos <pujos.michael@gmail.com> --- Understood. I suppose you want to get rid of libmfx-devel (and libmfx-sample) so no package try to use it anymore. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1219494 https://bugzilla.suse.com/show_bug.cgi?id=1219494#c30 --- Comment #30 from Michael Pujos <pujos.michael@gmail.com> --- I will look into having VLC work with libvpl, assuming it is as easy as the patch suggests. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1219494 https://bugzilla.suse.com/show_bug.cgi?id=1219494#c33 --- Comment #33 from Michael Pujos <pujos.michael@gmail.com> --- The compilation failure is caused by taglib. The taglib package was recently updated to v2.0 which is supposed to be source compatible "if no deprecated features are used": https://build.opensuse.org/package/view_file/multimedia:libs/taglib/taglib.c... Would not be surprised VLC uses deprecated features, hence the failure. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1219494 https://bugzilla.suse.com/show_bug.cgi?id=1219494#c34 --- Comment #34 from Michael Pujos <pujos.michael@gmail.com> --- https://code.videolan.org/videolan/vlc/-/issues/28502 -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1219494 https://bugzilla.suse.com/show_bug.cgi?id=1219494#c36 --- Comment #36 from Michael Pujos <pujos.michael@gmail.com> --- Will test tomorrow. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1219494 https://bugzilla.suse.com/show_bug.cgi?id=1219494#c38 --- Comment #38 from OBSbugzilla Bot <bwiedemann+obsbugzillabot@suse.com> --- This is an autogenerated message for OBS integration: This bug (1219494) was mentioned in https://build.opensuse.org/request/show/1143875 Factory / libmfx -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1219494 Frank Krüger <fkrueger@mailbox.org> changed: What |Removed |Added ---------------------------------------------------------------------------- CC| |fkrueger@mailbox.org -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1219494 https://bugzilla.suse.com/show_bug.cgi?id=1219494#c39 --- Comment #39 from Michael Pujos <pujos.michael@gmail.com> --- I have tested VLC and it does not work, but as you will see not a big deal. Had to dig a bit into VLC as I'm not familiar with it as I do for FFmpeg. First, the only QSV support in VLC is for encoding, and only to H.264/H.262, which is very limited. In comparison, FFmpeg can use QSV for encode/decode in all formats supported by QSV. The only plugin making use of libvpl in VLC us the qsv encode plugin: ldd /usr/lib64/vlc/plugins/codec/libqsv_plugin.so | grep vpl libvpl.so.2 => /lib64/libvpl.so.2 (0x00007fb2220cc000) Using it for a simple encode to a h264 file fails: ~/Videos> cvlc oceans.mp4 --sout "#transcode{vcodec=h264,venc=qsv}:standard{access=file,mux=mp4,dst=blargh.mp4}" vlc://quit VLC media player 3.0.20 Vetinari (revision 3.0.20-0-g6f0d0ab126b) [000055cbb441f010] dummy interface: using the dummy interface module... [00007fb1a4c06160] qsv encoder error: Unable to find an Intel Media SDK implementation. [00007fb194003e20] stream_out_transcode stream out error: cannot find video encoder (module:qsv fourcc:h264). Take a look few lines earlier to see possible reason. [00007fb194003e20] stream_out_transcode stream out error: cannot create video chain [00007fb194c1ab10] main decoder error: cannot create packetizer output (h264) [00007fb194c1ab10] main decoder error: buffer deadlock prevented [00007fb194004800] idummy demux: command `quit' ///// It fails on "Unable to find an Intel Media SDK implementation" Looking at the plugin code (https://github.com/videolan/vlc/blob/3.0.18/modules/codec/qsv.c), it is the call to MFXInit() that fails. I compared with FFmpeg QSV code and its has libvpl specific init code if it is compiled with libvpl. So for converting a program from mfx to vpl it looks like there is more than an include swap. Or something else I do not know. Anyway, there's no need to spend more time on this, as the number of people using the abysmal VLC QSV support for H264 encoding must be super low, and VLC will probably update to working libvpl support at some point (4.0). And for the one user of VLC/QSV, he can be redirected to use FFmpeg which is much much better. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1219494 https://bugzilla.suse.com/show_bug.cgi?id=1219494#c42 --- Comment #42 from Michael Pujos <pujos.michael@gmail.com> --- Yes I just tested it (Skylake) and it worked fine. The spec file of libmfx could be simplified, not compiling samples and tools, passing to cmake: -DBUILD_TOOLS:BOOL=OFF (change this one as it is set to ON) -DBUILD_TUTORIALS:BOOL=OFF -DBUILD_SAMPLES:BOOL=OFF I you want to test QSV transcoding with FFmpeg (especially if you have newer hardware, which I do not have), you can do so with: ffmpeg -c:v h264_qsv -i http://bubblesoftapps.com/bubbleupnpserver/transcode_test/tos_sample_h264.mk... -c:v h264_qsv -f null - This will use QSV for encoding/decoding of a small H264 sample file hosted on my server. Looking at the beginning of the verbose output you will see oneVPL (and more) mentioned. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1219494 https://bugzilla.suse.com/show_bug.cgi?id=1219494#c43 --- Comment #43 from Michael Pujos <pujos.michael@gmail.com> --- For ffmpeg verbose output: ffmpeg -v verbose -c:v h264_qsv -i http://bubblesoftapps.com/bubbleupnpserver/transcode_test/tos_sample_h264.mk... -c:v h264_qsv -f null - -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1219494 https://bugzilla.suse.com/show_bug.cgi?id=1219494#c50 --- Comment #50 from Michael Pujos <pujos.michael@gmail.com> --- The libmfx runtime is still needed for working QSV support on < Tiger Lake. So it cannot be just removed. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1219494 https://bugzilla.suse.com/show_bug.cgi?id=1219494#c51 --- Comment #51 from Michael Pujos <pujos.michael@gmail.com> --- To be clear, I meant oneVPL delegates QSV decoding/encoding to libmfx on platforms < Tiger Lake. -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1219494 https://bugzilla.suse.com/show_bug.cgi?id=1219494#c55 --- Comment #55 from OBSbugzilla Bot <bwiedemann+obsbugzillabot@suse.com> --- This is an autogenerated message for OBS integration: This bug (1219494) was mentioned in https://build.opensuse.org/request/show/1169676 Backports:SLE-15-SP5 / ffmpeg-4 -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1219494 https://bugzilla.suse.com/show_bug.cgi?id=1219494#c56 --- Comment #56 from OBSbugzilla Bot <bwiedemann+obsbugzillabot@suse.com> --- This is an autogenerated message for OBS integration: This bug (1219494) was mentioned in https://build.opensuse.org/request/show/1169721 Backports:SLE-15-SP5 / ffmpeg-4 -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1219494 https://bugzilla.suse.com/show_bug.cgi?id=1219494#c57 --- Comment #57 from OBSbugzilla Bot <bwiedemann+obsbugzillabot@suse.com> --- This is an autogenerated message for OBS integration: This bug (1219494) was mentioned in https://build.opensuse.org/request/show/1180387 Backports:SLE-15-SP5 / vlc https://build.opensuse.org/request/show/1180388 Backports:SLE-15-SP6 / vlc https://build.opensuse.org/request/show/1180389 Backports:SLE-15-SP4 / vlc -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1219494 https://bugzilla.suse.com/show_bug.cgi?id=1219494#c58 --- Comment #58 from OBSbugzilla Bot <bwiedemann+obsbugzillabot@suse.com> --- This is an autogenerated message for OBS integration: This bug (1219494) was mentioned in https://build.opensuse.org/request/show/1180704 Backports:SLE-15-SP6 / vlc https://build.opensuse.org/request/show/1180705 Backports:SLE-15-SP5 / vlc https://build.opensuse.org/request/show/1180706 Backports:SLE-15-SP4 / vlc -- You are receiving this mail because: You are on the CC list for the bug.
https://bugzilla.suse.com/show_bug.cgi?id=1219494 https://bugzilla.suse.com/show_bug.cgi?id=1219494#c59 --- Comment #59 from OBSbugzilla Bot <bwiedemann+obsbugzillabot@suse.com> --- This is an autogenerated message for OBS integration: This bug (1219494) was mentioned in https://build.opensuse.org/request/show/1180919 Backports:SLE-15-SP5 / vlc -- You are receiving this mail because: You are on the CC list for the bug.
participants (1)
-
bugzilla_noreply@suse.com