Multimedia – includes Nvidia driver, CUDA

This repository contains multimedia programs that I use on my systems. The full list is as follows:

  • HandBrake with supporting programs MakeMKV and libdvdcss
  • CUDA enabled FFMpeg with most of the possible options
  • CUDA enabled Blender
  • CDRtools in place of cdrkit for burning Blu-Rays and any other kind of disc
  • VLC and MPV media player, again compiled with most options enabled
  • Cryptocurrency miners, most notably ccminer with CUDA support and cpuminer for CPU only mining
  • GStreamer plugins with additional forbidden codecs and compilation options
  • Nvidia driver, CUDA with additional libraries and Video SDK components

None of these packages can be distributed inside the main Fedora repositories as they are presented here due to patent and licensing issues or simply because they are coupled with non open source software. This repository is NOT compatible with RPMFusion, nor it does attempt to replace it as I have no interest in adding any software out there.

For details on the Nvidia components, please read the relevant page for the Nvidia-only repository. The packages hosted in this repository are exactly the same.

This repository requires the EPEL repository to be enabled if you’re running CentOS/RHEL.

These packages try to comply as maximum to the Fedora Packaging Guidelines; which means they have debuginfo packages, default Fedora’s GCC compile time options (where possible) and standard locations for binaries, data and docs.

Supported Fedora/CentOS/RHEL distributions:

  • Fedora – x86_64
  • CentOS/RHEL 7 – x86_64

Not all distributions are on par regarding features and packages, and this is mostly true to CentOS/RHEL where not all the required libraries are available at the correct version. Let’s say most of the development goes on to the latest Fedora release due to it being my daily desktop, and there everything is supported.

Most of the desktop packages that ship with a menu icon and launcher are also available in Gnome Software, just type something in the search bar:

HandBrake, MakeMKV and libdvdcss

HandBrake HandBrake is a tool for converting video from nearly any format to a selection of modern, widely supported codecs. MakeMKV is a one-click solution to convert video into free and patents-unencumbered format that can be played everywhere. It converts the video clips from proprietary (and usually encrypted) disc into a set of MKV files, preserving most information but not changing it in any way. Additionally MakeMKV can instantly stream decrypt video without intermediate conversion and can decrypt Blue Ray discs and protected DVD discs. libdvdcss is a support library designed for accessing DVDs without having to bother about the decryption.HandBrake

By the combination of these 3 packages any video title can be ripped or transcoded without problems.

Additional libraries that are normally fetched during HandBrake compilation have been pre downloaded and are shipped in the source rpm. This to avoid unnatural behaviour when compiling packages with Fedora tools such as mock or Koji.

HandBrake is made of two separate packages; HandBrake-gui and HandBrake-cli. The former being the GTK main GUI interface, and the latter the command line program. MakeMKV contains both graphical and command line interfaces into one package.

Fedora and CentOS/RHEL 7 ship the latest HandBrake with the GTK 3 interface enabled, while CentOS/RHEL 6 version is at 0.9.8; as it is the last version available that still builds with GTK 2.20 as shipped in the distribution.

HandBrake Bundled libraries

Historically, HandBrake has always linked statically the libraries required by the program. Since version 0.9.9 there’s the option to have them as external libraries and link them to the main executable. This does not mean thought that they can be used straight from Fedora repositories; some have restrictive licenses, some are forked and some do not contain the required patches for HandBrake.

All the libraries that can be linked are now linked from the main repositories, while the rest is left as bundled. Still left as bundled libraries inside the build due to versioning/patches are the following modules (libav is a fork of ffmpeg):

  • CentOS/RHEL 6: faac, mp4v2, ffmpeg, libbluray, libdca
  • Fedora, CentOS/RHEL 7: libav (for UTF-8 subtitles detection)

Installing HandBrake/MakeMKV/libdvdcss

To install the repository on a supported Fedora distribution, run as root the following command:

dnf config-manager --add-repo=https://negativo17.org/repos/fedora-multimedia.repo

To install the repository on CentOS/RHEL:

yum-config-manager --add-repo=https://negativo17.org/repos/epel-multimedia.repo

Then, to install the HandBrake packages (as an example both the graphical interface and the command line tool), perform the following commands:

yum/dnf -y install HandBrake-gui HandBrake-cli

For MakeMKV:

yum/dnf -y install makemkv

For libdvdcss:

yum/dnf -y install libdvdcss

Please note that the 64 bit MakeMKV tarballs contain a 32 bit binary. The binary is required by the main MakeMKV program (makemkvcon) for proper operation and comes only in binary format. This means that the 64 bit MakeMKV package will pull in the 32 bit mmtdsdec and associated glibc packages; which in a normal 64 bit desktop system are not guaranteed to be installed:

$ rpm -q --whatrequires mmdtsdec
makemkv-1.10.6-1.fc25.x86_64
$ rpm -ql mmdtsdec | grep bin
/usr/bin/mmdtsdec
$ file /usr/bin/mmdtsdec
/usr/bin/mmdtsdec: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/ld-linux.so.2, for GNU/Linux 2.6.24, stripped

Registering MakeMKV to avoid expiration

Please use the provided beta registration key published by the developers:

http://www.makemkv.com/forum2/viewtopic.php?f=5&t=1053

After starting MakeMKV just press the “Register” button and paste the provided code.

makemkv_register

Playing protected Blu-Ray discs

Starting with version 1.8.5, MakeMKV comes with the libmmbd library. This library provides a simple API that any application can use to decrypt M2TS/SSIF files from a Blu-Ray disc. The library is licensed under the open-source LGPL license; although the way the library works, it launches a MakeMKV instance in background and communicates with MakeMKV in order to get decryption keys; so a working MakeMKV installation is required for the library to function. The libmmbd library is designed to be updated very infrequently – all the logic is inside MakeMKV (in makemkvcon), and libmmbd is just a proxy. The libmmbd source code is part of MakeMKV oss linux package.

Also, libmmbd emulates two popular open-source libraries, libaacs and libbdplus. What this means, that after a one-time setup, any application that uses libbluray/libaacs for decryption will be able to open a protected Blu-Ray disc, as long as MakeMKV is installed. Most notable application that uses libbluray is Videolan VLC player.

The libbluray library, starting from version 0.5.0 supports setting two environment variables to ease libmmbd loading, so the MakeMKV package already contains what’s required for the override (of course adjusted for 32/64 bit environments):

$ cat /etc/profile.d/makemkv.sh 
export LIBBDPLUS_PATH=/usr/lib64/libmmbd.so.0
export LIBAACS_PATH=/usr/lib64/libmmbd.so.0

This is equivalent to set an explicit library override in your library directory:

ln -sf libmmbd.so.0 libaacs.so.0
ln -sf libmmbd.so.0 libbdplus.so.0

For additional details see the original announcement and how to page on MakeMKV‘s forums.

To debug such a setup, you can use the variable MMBD_TRACE prepended to the command you want to run. For example, to decrypt and print information from a Blu-Ray disc:

MMBD_TRACE=1 bd_info /dev/sr0

Or to make sure MakeMKV is doing it’s part for VLC playing a Blu-Ray disc:

MMBD_TRACE=1 vlc

Fully fledged FFMpeg binaries

FFMPegIt started due to my personal usage with support for NVENC, the hardware encoding support for Nvidia video cards, but due to popular request the custom built FFMpeg package is available here and enables linking and support for all the codecs/encoders/decoders that would result in an unredistributable binary.

The following codecs/encoders/decoders/transports have been enabled, along with much more stuff:

  • VP8 and VP9 de/encoding
  • WebP encoding
  • AAC (Fraunhofer, LibVO and other variants) de/encoding
  • OpenAL 1.1 capture support
  • BluRay reading
  • AMR-WB de/encoding
  • AMR-NB de/encoding
  • RTMP[E] support
  • NVENC/CUDA (Nvidia H.264/265 GPU hardware encoder/decoder)
  • QSV (Intel Quick Sync Video H.264/265 CPU hardware encoder)
  • HE-AAC+ (3GPP AAC+ High Efficiency Advanced Audio Codec v2 encoder)
  • H.264/H.265 (through various meaning, x264, x264, OpenH264, Kvazaar)

This FFMPeg libraries are now tied to all the other multimedia libraries available in this repository. The support for Nvidia H.264/H.265 hardware encoding/decoding and Intel Quick Sync Video is enabled here as well and the required packages are now installed through the use of RPM hard dependencies if feasible.

To install the main FFMPeg binary and enable transcoding of practically everything, proceed as you would with a normal package:

yum/dnf install ffmpeg

Then after installing, you can see what options have been enabled at compile time by issuing one of the following commands:

ffmpeg -formats
ffmpeg -devices
ffmpeg -codecs
ffmpeg -decoders
ffmpeg -encoders

The idea is to have all the possible codecs/transports supported out of the box.

CUDA/FFMpeg enabled Blender

BlenderThe Blender packages contained herein enable all the possible build options including support for the RedCode image formats (for the old Red line of professional cameras), CUDA and FFMPeg.

Installing Blender works exactly like with the normal package from Fedora, except that the package will pull in all required libraries to enable FFMpeg support:

dnf install blender

If you have an Nvidia video card supported by the latest drivers and have the Nvidia repository enabled, you can install blender with the following command and get the benefit of using your GPU(s) for rendering.

dnf install blender-cuda nvidia-driver

This will pull in CUDA support for the installed Nvidia driver as well as the CUDA kernels for the various cards. Remember to manually load the nvidia-uvm module (or simply reboot) prior to starting Blender.

CUDA devices will then be selectable in the System pane of the User Preferences in the main Blender interface as depicted in the Screenshot below.

Screenshot from 2015-12-11 19-20-27

Plex Media Player

The Plex Media Player works as a standalone player and also as the main interface for an HTPC setup, where the “TV interface” starts as the main thing when you power up your system.

Plex Media Player uses MPV in the background, so any compilation option that was added to MPV, is now also part of Plex Media Player by using the same libraries that were already available in the multimedia repository.

To install it on Fedora, just perform the following commands:

dnf -y install plex-media-player

You will then find it along with the other applications in your menu. You will be greeted with the familiar Plex web interface, with the main difference being that the player is local through the MPV library.

If you are instead planning to do an HTPC installation, and would like to have Plex Media Player starting instead of the login screen the moment you boot the device, execute the following commands as root:

dnf install plex-media-player-session
systemctl set-default plex-media-player
echo "allowed_users = anybody" >> /etc/X11/Xwrapper.config

The first command installs the required files (services, targets and PolicyKit overrides). The second command instructs the system to load by default the Plex Media Player target; that is X immediately followed by the player itself. The third command allows the system to start the X server as the Plex Media Player user, otherwise only users logged in through a console or root can start it.

You will be greeted with the TV interface just after boot:

If you want to go back to your normal installation (let’s say Gnome), then revert back the changes (again type the following commands as root):

systemctl set-default graphical
sed -i -e '/allowed_users = anybody/d' /etc/X11/Xwrapper.config
rpm -e plex-media-player-session

CUDA enabled MPV

This has been already available for a long time, but with FFmpeg 3.3, CUDA dynamic support loading is enabled also in MPV, so the hard dependency on the CUDA library is gone, and the binaries load the library dynamically:

$ strings /usr/bin/mpv | grep libcuda
libcuda.so.1
$ strings /usr/lib64/libmpv.so.1.25.0 | grep libcuda
libcuda.so.1

So assuming you have the Nvidia driver already installed with the appropriate CUDA part, you can then play a video with the following command line:

mpv --hwdec=cuda /path/to/video.file

And then check with nvidia-smi or with the Nvidia control panel if the video engine is being utilized:

If you want to enable that by default, just make sure your configuration file has something like this inside:

$ cat ~/.config/mpv/mpv.conf 
#hwdec=vdpau
#vo=vdpau
hwdec=cuda

Apart from CUDA support, MPV as well has been built with all possible options enabled out of the box.

Sonarr, Radarr, Lidarr and Tautully

You can easily install Sonarr, Radarr, Lidarr and Tautulli. This allows you to populate and maintain automatically your TV Shows, Movies and Music libraries without effort for Plex consumption.

Tautulli is not particularly useful if you are not hosting Plex for third parties, but gives you anyway statistics and information in a nice GUI for consumption and also notifies you any time one of the other tools adds something to a library.

The packages are built from the upstream releases. Being Sonarr, Radarr and Lidarr built on different Mono versions and requiring a different minimum version, I assembled the packages from their Mono binaries tarballs. The plan is to make all of these available also for CentOS, so packaging needs to be relaxed. Tautulli as well bundles a lot of specific Python dependencies.

All of them come with proper System units and Firewalld rule definitions. So should be a breeze to enable them on the system.

# dnf -y install sonarr radarr lidarr tautulli
# for service in sonarr radarr lidarr tautulli; do
    systemctl start $service
    systemctl enable $service
    firewall-cmd --add-service=$service
    firewall-cmd --add-service=$service --permanent

Combine them with something like Transmission web UI and you’re done.

Spotifyd

There is a Spotifyd package, which allows you to turn any system into a Spotify client and/or Spotify Connect speaker. Without any configuration file it just works like a WiFi speaker support Spotify Connect, with a configuration file that contains a Spotify Premium username and password you have a fully connected client that you can control with the Spotify phone app like any other client.

If your computer or Plex server is always on, why not use it also as a WiFi speaker?

For example:

This list comes from my phone, and I’m in the same network of the laptop. Everything else is signed in with my account or has been playing something when I was close by, so it’s still logged in.

The version currently in the repositories is built to also support PulseAudio as a backend, as the plan is to run this on a fully fledged Fedora/CentOS/RHEL system. The binary release offered on the Github project is built with only Alsa as a backend as it requires a considerable less amount of libraries as dependencies; making it suitable for running on a barebone Raspberry Pi.

Bugs

Please open bugs to the relevant Github repository. The address for contacting me is in the packages’ changelog, otherwise leave a comment in the post, I’ll do my best to reply to everyone.

519 thoughts to “Multimedia – includes Nvidia driver, CUDA”

  1. Did we lose Plex Media Player support?
    Doesn’t look like the rpm for it is in the multimedia repo as of fc37

  2. When trying to install the displaylink package.
    It seems the dependency akmod-evdi package no longer is able to build.
    It complains: ‘cc1: error: code model kernel does not support PIC mode’

    Rob

  3. Hello, HandBrake-cli is not working.
    Talking about this version : Apr 15 03:43:16 Updated: HandBrake-cli-1.6.0-1.20220407gitd719d8a.el7.x86_64
    Please fix it asap!

    Thanks!

    1. The problem was on the OneVPL dispatcher, it requires one of the implementations to be present (Media SDK, OneVPL cpu or OneVPL Intel GPU). I’ve added the necessary dependencies to the OneVPL dispatcher.

      Next time please open an issue to https://github.com/negativo17/HandBrake, the comment section here is not always monitored.

  4. Hello,

    I just update the HandBrakeCLI to latest version (HandBrake-cli-1.6.0-1.20220407gitd719d8a.el7.x86_64.rpm) and it stuck when run cmd “HandBrakeCLI” in SSH. Can you check it?

    Regards,

    1. The problem was on the OneVPL dispatcher, it requires one of the implementations to be present (Media SDK, OneVPL cpu or OneVPL Intel GPU). I’ve added the necessary dependencies to the OneVPL dispatcher.

      Next time please open an issue to https://github.com/negativo17/HandBrake, the comment section here is not always monitored.

  5. A tiny version mismatch between libjpeg-turbo and libjpeg-turbo-devel?

    libjpeg-turbo.x86_64 1.5.3-7.el7 @epel-multimedia
    Available Packages
    libjpeg-turbo.i686 1.5.3-6.el7 epel-multimedia
    libjpeg-turbo-devel.i686 1.5.3-6.el7 epel-multimedia
    libjpeg-turbo-devel.x86_64 1.5.3-6.el7 epel-multimedia

  6. Somehow, I don’t think the MakeMKV package shouldn’t be obsoleting libbdplus.

    Error:
    Problem: problem with installed package makemkv-1.16.4-1.fc34.x86_64
    – installed package makemkv-1.16.4-1.fc34.x86_64 obsoletes libbdplus < 1.16.4-1.fc34 provided by libbdplus-0.1.2-11.fc34.x86_64
    – package makemkv-1.16.4-1.fc34.x86_64 obsoletes libbdplus < 1.16.4-1.fc34 provided by libbdplus-0.1.2-11.fc34.x86_64
    – conflicting requests

  7. I am not sure the right place to report this.

    I have the Nvidia bundle via the multimedia repository you provide (thank you!).

    I can’t put the laptop in hibernate or suspend and the message appears to be an error triggered by NVRM

    journalctl -r gives the following lines

    Aug 24 11:25:39 localhost.localdomain kernel: PM: Some devices failed to suspend, or early wake event detected
    Aug 24 11:25:39 localhost.localdomain kernel: nvidia 0000:01:00.0: PM: failed to suspend async: error -5
    Aug 24 11:25:39 localhost.localdomain kernel: PM: dpm_run_callback(): pci_pm_suspend+0x0/0x160 returns -5
    Aug 24 11:25:39 localhost.localdomain kernel: PM: pci_pm_suspend(): nv_pmops_suspend+0x0/0x20 [nvidia] returns -5
    Aug 24 11:25:39 localhost.localdomain kernel:
    NVRM: GPU 0000:01:00.0: PreserveVideoMemoryAllocations module parameter is set. System Power Management attempted without driver procfs suspend interface. Please refer to the ‘Configuring Power Ma…

    I get errors with either suspend or hibernate.

    Any suggestions including “redirrecting” this to Fedora or Nvidia?

    Thanks

    1. You should enable some systemd services, check nvidia services with: sudo systemctl list-unit-files|grep nvidia
      Then you should enable them with: sudo systemctl enable nvidia-resume

      1. Hi, not really, those are enabled by the preset:
        $ cat /usr/lib/systemd/system-preset/70-nvidia.preset

        Enable complete power management. From:

        file:///usr/share/doc/nvidia-driver/html/powermanagement.html

        enable nvidia-suspend.service
        enable nvidia-hibernate.service

        Resume is triggered by nvidia-sleep.sh:

        disable nvidia-resume.service

  8. Hello 🙂
    I have having issue with this repo on fedora 34

    gstreamer1-plugins-bad x86_64 1:1.18.4-2.fc34 fedora-multimedia 4.4 M
    replacing gstreamer1-plugin-openh264.x86_64 1.18.2-1.fc34
    replacing gstreamer1-plugins-bad-free.x86_64 1.19.1-3.1.18.4.fc34

    Sadly this gstreamer1-plugins-bad lack openh264 codec, but will remove the official one.
    I may have missed something, but when i “upgrade” the thumbnailer warn about missing pluging and the “cheese” software won’t start the webcam
    i don’t have a lot of repo, but i might have missed something

    repo id repo name
    code Visual Studio Code
    fedora Fedora 34 - x86_64
    fedora-cisco-openh264 Fedora 34 openh264 (From Cisco) - x86_64
    fedora-modular Fedora Modular 34 - x86_64
    fedora-multimedia negativo17 - Multimedia
    teamviewer TeamViewer - x86_64
    updates Fedora 34 - x86_64 - Updates
    updates-modular

    1. Hi, you can disable the repository fedora-cisco-openh264, but apart from that the package I’m providing for gstreamer1-plugins-bad contains all the other separate subpackages. For example:

      $ rpm -q --requires gstreamer1-plugins-bad | grep openh264
      libopenh264.so.6()(64bit)

      1. copy pasta since my last comment look to have been lost 🙂

        Thank you for taking the time to reply
        I have disable the cisco264 repo to avoid flapping pkg, but sadly this don’t seam to fix the issue
        For exemple, using totem thumbnailer either coredump, or don’t find a suitable module for h264 content
        using http://distribution.bbb3d.renderfarming.net/video/mp4/bbb_sunflower_2160p_60fps_normal.mp4
        totem-video-thumbnailer ./bbb_sunflower_2160p_60fps_normal.mp4 bbb_sunflower_2160p_60fps_normal.thumbnail --gst-debug-level=3 coredump.
        On mkv file with h264 video, using the same cmd, i get

        Could not create an element from avdec_h264

        0:00:00.109881409 67737 0x5582af0dae00 ERROR default totem-gst-helpers.c:61:totem_gst_message_print: message = Your GStreamer installation is missing a plug-in.
        0:00:00.109889694 67737 0x5582af0dae00 ERROR default totem-gst-helpers.c:62:totem_gst_message_print: domain = 2566 (gst-core-error-quark)
        0:00:00.109892710 67737 0x5582af0dae00 ERROR default totem-gst-helpers.c:64:totem_gst_message_print: code = 12
        0:00:00.109896437 67737 0x5582af0dae00 ERROR default totem-gst-helpers.c:65:totem_gst_message_print: debug = ../gst/playback/gsturidecodebin.c(1024): no_more_pads_full (): /GstPlayBin:play/GstURIDecodeBin:uridecodebin0:
        no suitable plugins found:
        ../gst/playback/gstdecodebin2.c(4719): gst_decode_bin_expose (): /GstPlayBin:play/GstURIDecodeBin:uridecodebin0/GstDecodeBin:decodebin0:

        And Cheese software also prompt ‘one or more needed GSTreamer elements are missing’
        This is why i assumed the codec was missing

        I can play the video just fine with vlc or mpv, but no thumbnail make it very hard to browse.

        dnf list --installed |grep 264
        mozilla-openh264.x86_64 1:2.1.1-1.fc34 @fedora-multimedia
        openh264-libs.x86_64 1:2.1.1-1.fc34 @fedora-multimedia
        x264-libs.x86_64 1:0.163-25.20210613git5db6aa6.fc34 @fedora-multimedia

        Did i do something wrong at some point ? if you have any pointer i would be happy to test them.
        This was a clean install of Fedora, and not an update.

        Thank !

  9. Thank you and keep up the wonderful work, I use it for both my Nvidia 1080 and for multimedia!

  10. Your repo and work have saved my sanity getting a NLE and Blender to work properly. Thank you ever so much!

  11. First of all, thank you for what you do. Now to my question: I’m missing mplayer (the one mpv was forked from), because I wanted to try it out as a command line music player that allegedly supports mpris.

  12. Just FYI this particular package is failing to install in f33 at the moment:

    “nothing provides libx264.so.160()(64bit) needed by gstreamer1-plugins-ugly-1:1.18.1-1.fc33.x86_64”

    Thanks!

  13. Hello,
    I just upgraded from F32 to F33 and while I have the multimedia repository installed, dnf still can’t install ffmpeg at all. “sudo dnf install ffmpeg” can’t find the related package.
    Did something changed that I missed ?

  14. Possible to redo Fedora Linux Plex Media Player using QT5-5-14? The current 2.58 does not work with the latest QT5. I posted to GitHub and Plex but got ignored. Downgrading to QT5-13-2-2-fc32 works. But then Makemkv, Handbrake, and VLC won’t work. Any idea when repo for FC33 will be posted? Thx for all the work you do!

    1. Hello, I’m doing it now, but plex-media-player has been declared obsolete and is no longer updated, so it’s just a matter of time before we need to remove it because of some other blocker.

  15. I noticed you added Ubiquiti UniFi – thank you very much! Version 5.12.72 is now available, if you could kindly bump the version 🙂 Also, please let me know if there’s a better place/way for me to make this sort of request (or assist, as I could probably take the spec file and help build a new one).

  16. Hi, your page and what you’re doing is a lifesaver (ULD, Spotify client, Blender).
    There’s one question though: am I the only person who can’t find spofityd package?

  17. I had commented earlier on an issue with missing audio when encoding with Handbrake after the last update. Not sure if I messed up or the comment hasn’t been moderated yet.
    I had tried to downgrade Handbrake to no avail, but I got rid of the error by downgrading ffmpeg-libs-4.2-1.el7.x86_64 to ffmpeg-libs-4.1.4-1.el7.x86_64 – the Handbrake version doesn’t matter.

    This is the error I got:
    [13:26:08] decavcodec: hb_audio_resample_update() failed
    [13:26:08] decavcodec: hb_audio_resample_update() failed
    Encoding: task 1 of 1, 0.21 %[SWR @ 0x7f0c10005580] Requested input sample rate 0 is invalid
    [13:26:08] decavcodec: hb_audio_resample_update() failed
    [SWR @ 0x7f0c10005580] Requested input sample rate 0 is invalid
    [13:26:08] decavcodec: hb_audio_resample_update() failed
    [SWR @ 0x7f0c10005580] Requested input sample rate 0 is invalid

  18. Hi. Looks like a new version of gpac-libs was pushed to epel-repo in the last day or two. This is causing some dependency problems with other packages in this repo. For example, x264 appears to still depend on epac-libs v0.7.x.

    1. Which branch? I disabled the dependency:

      $ rpm -q x264 
      x264-0.157-19.20190717git34c06d1.fc30.x86_64
      $ rpm -q x264 | grep gpac
      $ rpm -q --changelog x264 | head -5
      * Wed Sep 04 2019 Simone Caronni  - 1:0.157-19.20190717git34c06d1
      - Update to latest stable snapshot.
      - Disable GPAC.
      - Trim changelog.
      
      1. Hi. This is 7 Workstation branch. Here’s what I see:

        Error: Package: 1:x264-0.152-17.20171224gite9a5903.el7.x86_64 (@epel-multimedia)
        Requires: libgpac.so.7()(64bit)
        Removing: 1:gpac-libs-0.7.2-8.20190207git8b9f065.el7.x86_64 (@epel-multimedia)
        libgpac.so.7()(64bit)
        Updated By: 1:gpac-libs-0.8.0-1.el7.x86_64 (epel-multimedia)
        ~libgpac.so.8()(64bit)
        You could try using –skip-broken to work around the problem

        1. Update has been pushed. May I ask you what your use case is for the x264 command line encoder? I’m not seeing much value in providing Gpac support. Do you need it?

          1. Hi. Thanks for pushing the update. Honestly, I don’t use x264 often on this particular machine. Last time, I think, was to transcode some dashcam video into something easier to upload. Are you talking about removing x264’s dependency on Gpac or removing x264 entirely?

          2. Absolutely not, x264 will stay there. I just eliminated the dependency of the /usr/bin/x264 command line encoder on GPAC. I’m asking as normally people just use a more comprehensive encoder that is linked to the x264 libraries. My suggestion would be to use ffmpeg or HandBrake. Cheers.

  19. Hello slaanesh!

    First of all, I would like to thank you for your work in maintaining repo.

    I would like to draw your attention to a bug, I do not know nvidia driver or repo problem.
    Well, sorry if nvidia driver is a problem.

    So fedora 30 and 430.40 nvidia driver from your repo goes smoothly with HDMI / Display port audio.
    Upgrade to 435.21 nvidia driver, no HDMI / Display port audio and no lspci output audio driver for nvidia card.

    cat /proc/asound/cards

    nvidia 430.40 driver

    0 [PCH ]: HDA-Intel – HDA Intel PCH
    ¦ ¦ HDA Intel PCH at 0xf5120000 irq 52
    1 [NVidia ]: HDA-Intel – HDA NVidia
    ¦ ¦ HDA NVidia at 0xf7080000 irq 17
    2 [NVidia_1 ]: HDA-Intel – HDA NVidia
    ¦ ¦ HDA NVidia at 0xf5080000 irq 18

    nvidia 435.21 driver

    0 [PCH ]: HDA-Intel – HDA Intel PCH
    ¦ ¦ HDA Intel PCH at 0xf5120000 irq 52

    lspci output

    nvidia 430.40 driver

    01:00.0 VGA compatible controller: NVIDIA Corporation GP104 [GeForce GTX 1080] (rev a1)
    01:00.1 Audio device: NVIDIA Corporation GP104 High Definition Audio Controller (rev a1)
    02:00.0 VGA compatible controller: NVIDIA Corporation GP104 [GeForce GTX 1080] (rev a1)
    02:00.1 Audio device: NVIDIA Corporation GP104 High Definition Audio Controller (rev a1)

    nvidia 435.31 driver

    01:00.0 VGA compatible controller: NVIDIA Corporation GP104 [GeForce GTX 1080] (rev a1)
    02:00.0 VGA compatible controller: NVIDIA Corporation GP104 [GeForce GTX 1080] (rev a1)

    Thanks

  20. The current blender’s package (blender-2.79b-17.fc30.x86_64) seems broken on Fedora 30.
    I got the following error when launching it :
    blender: symbol lookup error: blender: undefined symbol: _ZTIN7Alembic3Abc3v107OObjectE

      1. Ok noted (and thanks for the fix).
        You should link your github repo somewhere here (maybe on the front page), so newcomers can easily find it.

    1. Works fine here, I have CUDA 10 installed (10.1 in the process of rebuilding) and I can use my GTX for rendering.

      1. Terribly sorry. It works now. Nothing changed, other than I rebooted one extra time (switched to Windows after posting that message). Though I’m sure I rebooted 2-3 times when trying to resolve the issue before.

        Thanks for your work, first time I have CUDA working under Linux 😀 All other solutions had failed. I wished I had found your website earlier

    1. Ah, I missed it. Thanks for pointing that out. I will add the option. An entry in Github is better, as it prevents me from forgetting about it.

  21. mpv doesn’t work with ffmpeg library installed using this repo, can you please provide mpv as well?

        1. MakeMKV now includes its own copy of ccextractor, so I forgot to build it also for Fedora. New build coming soon.

  22. Hi SLAANESH

    I don’t know which package it is related to specifically, but lets assume ffmpeg-libs.x86_64. I think its missing create symlink in /usr/lib64. While ffmpeg-libs.i686 creates libavcodec.so in /usr/lib, there is no libavcodec.so in /usr/lib64

    This is not a big deal normally, but when i tried to build a package against ffmpeg, linker was always complaining there is missing library.

    1. I know this is a really old message, but since it was never addressed, and for the benefit of any others who might come across it in a Google search or whatever: unversioned library .so files are located in -devel packages. The -libs packages include only the versioned files, e.g. libavcodec.so.58 and libavcodec.so.57.35.100. That’s standard for Fedora.

      To run something linked with ffmpeg libs, you need ffmpeg-libs.
      To build something that links with ffmpeg libs, you need ffmpeg-devel.

    1. It was actually a bug in modifyrepo_c which is now also in modifyrepo. Updated the build scripts to avoid compressing metadata. New sync soon.

      Thanks for notifying!

  23. Dear Slaanesh,

    since 2018-11-16 there seems to be something wrong with the naming of the libavdevice package in the multimedia repo: There’s a package named “libavdevice-4.1-1.fc29.x86_64.rpm” and another one “libavdevice-4.1-1.fc291.fc29.x86_64.rpm”. I guess that’s not intentional.

    Greets, Curtis

    PS: Thanks for your wonderful repository!

  24. Hi i am trying to install nvidia driver on an optimus laptop with fedora 28 KDE. After installing KDE resoultion is weird not 1920/1080 anymore. Dual Monitor setup. Anybody any idea to get this setup correctly? as long as i take nouveau driver on kde all good. if i use gnome with fedora no issue just installed the driver.

  25. Lately I’ve been having terrible (i.e. choppy) audio on MKV files when played with VLC (vlc-3.0.3-2.fc28.x86_64). If I run it from the command line with -vv option, I repeatedly see:
    [00007fc264ce47b0] faad decoder warning: PNS not allowed in DRM data stream
    [00007fc264ce47b0] faad decoder warning: PNS not allowed in DRM data stream
    [0000560619fec9c0] main audio output debug: inserting 14373 zeroes
    [00007fc264ce47b0] faad decoder warning: PNS not allowed in DRM data stream
    [00007fc264ce47b0] faad decoder warning: PNS not allowed in DRM data stream
    [0000560619fec9c0] main audio output debug: inserting 2063 zeroes
    [00007fc264ce47b0] faad decoder warning: PNS not allowed in DRM data stream

    However, it plays 100% in Totem.

    Does anyone have any ideas on what’s wrong?

  26. Hello, do you plan on packaging kdenlive? I think it’s a great editor but unfortunately I can’t get it to work without rpmfusion (which I don’t want because of incompatibilities with this repo). Thanks for reply

  27. Hello. I have disabled the epel-mutlimedia repo and want to remove all packages from it. Can you tell me the proper way to do it? When I try to remove them with yum I see tons of dependencies that I am not sure that must be removed along with those. Thank you in advance

    1. You can:
      – Remove the repository file
      – Now you can see which packages are orphans (those that do not come from a configured repository): package-cleanup --orphans
      – Sync packages from the main repositories (this should remove lots of the epel-multimedia ones): yum distro-sync
      – Remove the remaining leftovers: yum remove $(package-cleanup --orphans)

  28. Hi guys,

    the latest gvfs-mtp package breaks my system if I plug a mtp-enabled-phone via usb. I get selinux warnings and all RAM is consumed (gvfs-mtp takes up to 6GiB RES memory); I uninstalled gvfs mtp support for now. Hopefully the next build fixes these issues.

    1. Awesome :/
      Even if the main gvfs package has been rebuilt for an update to the libbluray library, the MTP part has not been touched, so you should probably report the bug upstream. Please use the version from the upstream build: gvfs-1.30.4-5.el7.src.rpm

      1. I feel stupid now. Everything with your packaging is just perfect. Let me say thanks for your great work.

        I had a different non-ABI comptabile Version (.so file) of libmtp in place … shame on me again :/

        Have a good day!

        C. Rieß

  29. Hi

    I end up with dependency errors when trying to install ffmpeg from epel-multimedia on a redhat workstation 7.5 beta install.

    Error: Package: gvfs-1.30.4-5.el7.x86_64 (@anaconda/7.5)
    Requires: libbluray.so.1()(64bit)
    Removing: libbluray-0.2.3-5.el7.x86_64 (@anaconda/7.5)
    libbluray.so.1()(64bit)
    Updated By: libbluray-1.0.2-2.el7.x86_64 (epel-multimedia)
    ~libbluray.so.2()(64bit)

    Any pointers to how this could be resolved? Yum suggest –skip-broken, but that skips the entire install.

    1. Eh, until RHEL 7.5 is released, your only option is a rebuild of gvfs, as I can not provide a rebuild gvfs package myself or I would break all existing RHEL 7.4 installations.

        1. Working on it. All the packages with the latest updates (FFmpeg 4, HandBrake 1.1 etc. are already built and will be pushed along 7.5 support.
          CentOS just released the CR repo for CentOS 7.4 this week.

    2. I get same error.

      Error: Package: gvfs-1.30.4-5.el7.x86_64 (@anaconda/7.5)
      Requires: libbluray.so.1()(64bit)
      Removing: libbluray-0.2.3-5.el7.x86_64 (@anaconda/7.5)
      libbluray.so.1()(64bit)
      Updated By: libbluray-1.0.2-2.el7.x86_64 (epel-multimedia)
      ~libbluray.so.2()(64bit)
      You could try using –skip-broken to work around the problem
      You could try running: rpm -Va –nofiles –nodigest

      1. Working on it. All the packages with the latest updates (FFmpeg 4, HandBrake 1.1 etc. are already built and will be pushed along 7.5 support.
        CentOS just released the CR repo for CentOS 7.4 this week.

      2. I am getting this same error trying to update 7.6

        –> Running transaction check
        —> Package gvfs.x86_64 0:1.36.2-1.el7 will be an update
        –> Processing Dependency: libbluray.so.1()(64bit) for package: gvfs-1.36.2-1.el7.x86_64
        —> Package kernel-devel.x86_64 0:3.10.0-862.9.1.el7 will be erased
        –> Finished Dependency Resolution
        Error: Package: gvfs-1.36.2-1.el7.x86_64 (rhel-7-workstation-rpms)
        Requires: libbluray.so.1()(64bit)
        Available: libbluray-0.2.3-5.el7.x86_64 (rhel-7-workstation-rpms)
        libbluray.so.1()(64bit)
        Installed: libbluray-1.0.2-2.el7.x86_64 (@epel-multimedia)
        ~libbluray.so.2()(64bit)
        You could try using –skip-broken to work around the problem
        You could try running: rpm -Va –nofiles –nodigest

        1. I will make some changes the moment CentOS 7.6 will come out to make sure this is not happening every release (i.e. every time RHEL is on the next point release and I’m still waiting on the CentOS one).

  30. Maybe adding a “priority=1” to the repo file is useful, as the fedora-multimedia repo replaces packages that are included in the base repositories (e.g. twolame-libs, libmp4v2, libdvbpsi, ..). Also, setting the priority avoids conflicts with the rpmfusion repo.

    1. Using the multimedia repository with RPMFusion is not supported. If you need to use RPMFusion, please remove the multimedia repository.

  31. Is there something wrong with the multimedia repo?, I’m getting the following error:
    Dependency Resolution Errors:

    Package: gstreamer-plugins-ugly-0.10.19-23.fc27.x86_64 (installed)
    Requires: libx264.so.148()(64bit)
    Removing: 1:x264-libs-0.148-12.20170521gitaaa9aa8.fc27.x86_64 (installed)
    libx264.so.148()(64bit)
    Updated By: 1:x264-libs-0.152-13.20171224gite9a5903.fc27.x86_64 (fedora-multimedia)
    ~libx264.so.152()(64bit)
    Available: x264-libs-0.148-22.20170521gitaaa9aa8.fc27.x86_64 (rpmfusion-free)
    libx264.so.148()(64bit)

      1. Right, I see the problem, the gstreamer-plugin-* packages where actually installed from rpmfusion, but the updates from yours. Somehow I’d ended up with both installed.

  32. Thank you for going through all the trouble to compile and distribute these programs. They are very useful and having them in an up-to-date form and repo is awesome.

    It looks like FFMPEG added Newtek’s NDI support (I did see SpeedHQ, but from what I understand that is different from NDI), but that option is not available in the compiled version. Would you consider adding support for NDI?

    Thank you for your time.

    1. There are some issues with the binary components that are downloaded through conan. I can’t fix them and so I can’t build a new build until those are fixed.

  33. I followed the guide on Fedora 27 (Blender + CUDA) and I’m always getting this error:

    “CUDA error at cuModuleLoad: Out of memory

    Refer to the Cycles GPU rendering documentation for possible solutions:
    https://docs.blender.org/manual/en/dev/render/cycles/gpu_rendering.html

    Failed loading CUDA kernel /usr/share/blender/scripts/addons/cycles/lib/kernel_sm_61.cubin.
    Writing: /tmp/blender.crash.txt
    Segmentation fault (Speicherabzug geschrieben)”

    Any idea what’s wrong? :/

    1. Can you paste the content of your /tmp/blender.crash.txt file? This should be enough to get a working CUDA installation of Blender, btw:

      dnf install nvidia-driver-cuda blender-cuda && reboot
      1. I got the same problem (although it says Failed to load […]kernel_sm_51.cubin). My blender.crash.txt says:

        # Blender 2.79 (sub 0), Commit date: 1970-01-01 00:00, Hash unknown
        bpy.context.scene.render.engine = 'CYCLES' # Property
        bpy.context.space_data.viewport_shade = 'RENDERED' # Property
        bpy.context.scene.cycles.device = 'GPU' # Property

        # backtrace
        blender(BLI_system_backtrace+0x33) [0x55d4544d3b73]
        blender(+0xb31fed) [0x55d453a75fed]
        /lib64/libc.so.6(+0x376f0) [0x7f96279346f0]
        /lib64/libc.so.6(+0xb4281) [0x7f96279b1281]
        /lib64/libcuda.so.1(+0x1d49ba) [0x7f95c98759ba]
        /lib64/libcuda.so.1(+0x1d4fee) [0x7f95c9875fee]
        /lib64/libcuda.so.1(+0xf3092) [0x7f95c9794092]
        /lib64/libcuda.so.1(cuModuleLoadData+0x5a) [0x7f95c98bf02a]
        blender(_ZN3ccl10CUDADevice12load_kernelsERKNS_23DeviceRequestedFeaturesE+0x384) [0x55d454a122e4]
        blender(_ZN3ccl7Session12load_kernelsEb+0x51d) [0x55d4549c6f9d]
        blender(_ZN3ccl7Session3runEv+0x38) [0x55d4549c93e8]
        blender(_ZN3ccl6thread3runEPv+0xe) [0x55d4553e96ee]
        /lib64/libpthread.so.0(+0x761b) [0x7f9627eeb61b]
        /lib64/libc.so.6(clone+0x3f) [0x7f9627a1491f]

        (Fresh Blender installation, GTX 960, latest Fedora kernel, etc.)

    1. There are some issues with the binary components that are downloaded through conan. I can’t fix them and so I can’t build a new build until those are fixed.

  34. Just curious, I noticed the F27 multimedia repo does not have the plex-media-player package anymore. Is this intentional or just never got around to it?

    Thanks, appreciate the packages!

Leave a Reply to philCancel reply