You are not logged in.
ffmpeg 1:4.2.2-1 gained a hard dependency on intel-media-sdk .
I opened https://bugs.archlinux.org/task/65129 , the dev states linked libraries can't be made optional and closed the bug.
pacman -Qi ffmpeg shows I need it for several programs I can't miss (firefox, mpv, vlc and openmw) .
I could build my own ffmpeg version without libfmx / intel-media-sdk dependencies (and possibly remove more stuff I don't need) , but are there other solutions ?
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
clean chroot building not flexible enough ?
Try clean chroot manager by graysky
Offline
What's wrong with installing a dependency?
EDIT: I see the new dependencies are as big as ffmpeg itself - is that the concern?
Last edited by Trilby (2020-01-13 15:59:38)
"UNIX is simple and coherent" - Dennis Ritchie; "GNU's Not Unix" - Richard Stallman
Offline
building your own is the only realistic option.
Online
How about making a dummy package for intel-media-sdk?
https://bbs.archlinux.org/viewtopic.php?id=238210 ← does that ring any bells?
Para todos todo, para nosotros nada
Offline
How about making a dummy package for intel-media-sdk?
https://bbs.archlinux.org/viewtopic.php?id=238210 ← does that ring any bells?
How is that supposed to work for linked libraries?
Online
How is that supposed to work for linked libraries?
Fuck knows, I'm clearly not understanding the problem here. Sorry for the noise.
Para todos todo, para nosotros nada
Offline
NoExtract the shit out of it - afaics it only actually links libmfx.so - which is 52k …
It might be reasonable to split intel-media-sdk ?
Offline
NoExtract the shit out of it - afaics it only actually links libmfx.so - which is 52k …
It might be reasonable to split intel-media-sdk ?
@OP - You might open a flyspray to request this. Excellent idea if only libmfx.so is needed.
CPU-optimized Linux-ck packages @ Repo-ck • AUR packages • Zsh and other configs
Offline
Adding my finding so far:
It requires at least a Broadwell CPU (Core i#-5###). So if you have an AMD CPU, I'm not sure what will happen if ffmpeg will need this library.
Anyone have an idea how can I test this? I don't have AMD but I have a pre Broadwell CPU. Is there a command for that?
Offline
If you have the library and there's no stupid bug in libav: nothing.
If you don't have the libary and there's an unresolvable dynamic link: everything that links libav will fail to start.
Offline
It now installs the following packages even for platforms that will never use them, such as older generations of Intel HD Graphics, AMD and NVIDIA-only platforms.
local/intel-media-driver 19.4.0.r-1
local/intel-media-sdk 19.4.0-1
local/intel-gmmlib 19.4.1-1
Personally, I dislike such practice. Platform and hardware specific libraries should be dlopen() and resolved by function pointers.
Last edited by liewkj (2020-01-14 11:09:44)
Offline
ffmpeg 1:4.2.2-1 gained a hard dependency on intel-media-sdk .
I opened https://bugs.archlinux.org/task/65129 , the dev states linked libraries can't be made optional and closed the bug.
Why did the dev decide to enable libmfx linking? Intel Media SDK is not a universal library and explicitly requires iHD VA driver.
Offline
Why did the dev decide to enable libmfx linking? Intel Media SDK is not a universal library and explicitly requires iHD VA driver.
No idea, the commit where it was added doesn't give a reason.
The files in intel-media-sdk suggest it's main goal is making fmx available.
I've also looked at the ffmpeg PKGBUILD ands noticed there's a lot more in it I don't need, like IEEE 1394 aka firewire support.
I'll create a custom PKGBUILD for my personal use.
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
clean chroot building not flexible enough ?
Try clean chroot manager by graysky
Offline
Offline
I don't understand how libmfx.so can be split from intel-media-sdk. Glancing through the AUR, there are multiple ffmpeg flavors that provide full hardware specific support. The common package should be generic and vendor agnostic. I rebuilt the package with custom PKGBUILD to remove --enable-libmfx and that's about it. I really don't understand the reason to force Intel hardware specific libraries onto AMD/NVIDIA platforms or older Intel platforms that would never be capable of using them.
Offline
You create a packacke that only contains libmfx.so and have intel-media-sdk and ffmpeg both depend on it.
common package should be generic
Offline
As for what it is used for, --enable-libmfx enables Intel Quick Sync Video hardware based decoding/encoding of H.264, HEVC, MJPEG, MPEG-2 video, VC-1 (decoding only), VP8, VP9. Availability of formats is hardware dependent. More info at FFmpeg Wiki: Quick Sync.
Not sure why it was added to the ffmpeg package. There doesn't seem to be a feature request, and as already mentioned there is no commit message.
Offline
So would it mean that gst-libav (ffmpeg plugin for gstreamer ) can now access hardware video acceleration through libmfx in the form of gst-libav -> libmfx -> hardware decode/encode?
Offline
I have ffmpeg-git from AUR and this package is not listed under dependencies. Everything is working correctly.
If you don't want to compile it, install from archlinux-cn repository.
Last edited by digitalone (2020-01-20 18:32:47)
Offline
Offline
Good news, maybe I'll to switch back to repo ffmpeg then.
Disliking systemd intensely, but not satisfied with alternatives so focusing on taming systemd.
clean chroot building not flexible enough ?
Try clean chroot manager by graysky
Offline
I don't understand how libmfx.so can be split from intel-media-sdk. Glancing through the AUR, there are multiple ffmpeg flavors that provide full hardware specific support. The common package should be generic and vendor agnostic. I rebuilt the package with custom PKGBUILD to remove --enable-libmfx and that's about it. I really don't understand the reason to force Intel hardware specific libraries onto AMD/NVIDIA platforms or older Intel platforms that would never be capable of using them.
As a general rule of thumb, Arch tends to configure packages --with-kitchen-sink in order to make sure they can do anything a user would reasonably want them to do. libmfx support doesn't seem to do any harm, other than the somewhat onerous install footprint of intel-media-sdk. And we don't usually provide "flavors" of a package fine-tuned to specific hardware, either.
So it makes sense to add libmfx support either way. On the other hand, it sounds like libmfx is a dispatcher capable of dlopening other libraries as needed, and as the last few comments indicate, it seems to be reasonable to split them apart and we will soon see the package built that way... because libmfx on its own is small and not a bother to depend on, and if you're not using those intel platforms it will just do nothing.
Managing AUR repos The Right Way -- aurpublish (now a standalone tool)
Offline
libmfx is out.
[2020-01-23T19:47:39-0500] [PACMAN] Running 'pacman -Syu'
[2020-01-23T19:47:39-0500] [PACMAN] synchronizing package lists
[2020-01-23T19:47:39-0500] [PACMAN] starting full system upgrade
[2020-01-23T19:47:51-0500] [ALPM] transaction started
[2020-01-23T19:47:51-0500] [ALPM] installed libmfx (19.4.0-4)
[2020-01-23T19:47:51-0500] [ALPM] upgraded libutil-linux (2.34-8 -> 2.35-1)
[2020-01-23T19:47:51-0500] [ALPM] upgraded util-linux (2.34-8 -> 2.35-1)
[2020-01-23T19:47:51-0500] [ALPM] upgraded ffmpeg (1:4.2.2-1 -> 1:4.2.2-2)
[2020-01-23T19:47:56-0500] [ALPM] upgraded intel-media-sdk (19.4.0-1 -> 19.4.0-4)
[2020-01-23T19:47:57-0500] [ALPM] transaction completed
[2020-01-23T19:47:57-0500] [ALPM] running '20-systemd-sysusers.hook'...
[2020-01-23T19:47:57-0500] [ALPM] running '30-systemd-daemon-reload.hook'...
[2020-01-23T19:47:57-0500] [ALPM] running '30-systemd-udev-reload.hook'...
[2020-01-23T19:47:57-0500] [ALPM] running '30-systemd-update.hook'...
[2020-01-23T19:47:57-0500] [ALPM] running 'cleanup.hook'...
[2020-01-23T19:47:57-0500] [ALPM-SCRIPTLET] ==> no candidate packages found for pruning
[2020-01-23T19:48:25-0500] [PACMAN] Running 'pacman -Rns intel-media-sdk'
[2020-01-23T19:48:38-0500] [ALPM] transaction started
[2020-01-23T19:48:38-0500] [ALPM] removed intel-media-sdk (19.4.0-4)
[2020-01-23T19:48:38-0500] [ALPM] removed intel-media-driver (19.4.0.r-1)
[2020-01-23T19:48:38-0500] [ALPM] removed intel-gmmlib (19.4.1-1)
[2020-01-23T19:48:38-0500] [ALPM] transaction completed
Offline