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=

To install the repository on CentOS/RHEL:

yum-config-manager --add-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
$ rpm -ql mmdtsdec | grep bin
$ file /usr/bin/mmdtsdec
/usr/bin/mmdtsdec: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked, interpreter /lib/, for GNU/Linux 2.6.24, stripped

Registering MakeMKV to avoid expiration

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

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


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/ 
export LIBBDPLUS_PATH=/usr/lib64/
export LIBAACS_PATH=/usr/lib64/

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

ln -sf
ln -sf

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:


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
$ strings /usr/lib64/ | grep libcuda

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 

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.


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.


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. i’ve been using handbrake since fredora 18. I have it running on one server running FC20. On another server that i have upgraded to FC21 and then FC22 i can not get handbrake to generate a working Theora video file, i get no video and the file size is less than 20mb big. I can create a mp video files. I’ve tried reinstalling handbrake, i’ve also tried reinstalling the various lib packages it depends on. no luck. I’ve traced and don’t see any issues. Looking for some additional insights as to how to troubleshoot this.

    1. Hello, I’m literally swamped with apartment move and daily work. Have updated it today to 1.9.4, new build being pushed in a few hours.

  2. Hi, looking for handbrake for RHEL 7. Does this exist, or can some one give me pointers on building it from source?

    1. Hello, I will build 0.9.9 for it; I’m a bit swamped by daily stuff. 0.10.x requires newer GTK libraries than what RHEL 7 provides.

  3. You wrote that the command works for Fedora 22+.
    I have a fedora 20.
    Does this command works also for Fedora 20:
    dnf config-manager –add-repo=


    1. Fedora 20 will be available until the end of June, at which time it will go EOL and I will delete the relevant repositories. Command is the same but with yum:

      yum config-manager --add-repo=

  4. I’m using Fedora 22 and Handbrake 0.10.1 (x86_64). I’m trying to encode a DVD and as soon as the encoding process starts I get a “Segmentation fault (core dumped)” and the program closes inmediatly.

  5. I am running Fedora 22… trying to get this going. i have installed the RPMFusion repository. Any idea why i’m getting the below message?

    # dnf install –add-repo=
    Last metadata expiration check performed 1:54:10 ago on Tue May 26 11:46:45 2015.
    No package –add-repo= available.
    Error: no package matched: –add-repo=

    1. You’re using an EOL distribution. As you can see from the repository page and from the repository itself there is no Fedora 19 support.

        1. Well, thanks for letting me know, I’ve removed it 🙂
          Basically I track the current distributions (where possible) that are not EOL, that is, at the moment of writing:

          Fedora 20+
          CentOS/RHEL 5+

          Depending on the software, someone may be missing (there is no RPMFusion RHEL 7 for multimedia libraries, etc)

  6. Hello, I just followed the install instructions and it works great.
    However I cannot get MP4 in the ripping format, as I used to running an Ubuntu distro.
    Are there some smart workaround this ?


  7. Mine shows exactly what yours does too. I am wondering if this has to do with upgrading from Fedora 20 to 21 or something because HB used to work. Since I don’t use it all that often, I am not positive when it stopped working.

    Is there a way to trace when I run HandBrakeCLI what is producing the requirement for the .4 version?

  8. Is anyone else noticing large icons on the toolbar and a few other places for HandBrake on Fedora 21 x86_64? From what I can tell the source icons are in SVG and in inkscape the dimensions are set to 64×64. Maybe it’s not downsizing the icons for the toolbar? See

    1. Yes, me too. Will test a new build in the weekend with the latest commits and post it next week if it solves the issue. I’m currently off for the weekend. Thanks for notifying.

  9. Hi,
    I’ve been using handbrake for a couple of years now on fedora. I recently upgraded to fc21 and upgrade handbrake after that. I normally generate mkv using Theora and Vorbis. this stopped working after i upgrade HB. It generates a file that is only 10M and no video but some sound. If i choose some other type like mp4 it works fine. any ideals how i can debug this? I’ve tried different videos and it does the same for all of them.


    1. I just applied the lastest rpm update and i still can’t generate video using theora. The sound is fine, but the picture is black, makes for a very small mkv file. fc20 version still works and thankfully i didn’t upgrade all my servers at the same time. however until i can resolve this i can’t upgrade the last of my servers to fc21

      1. just upgrade my server to fc22 and still the same ole problem. i can’t generate mkv containers but others work fine. i still would like some ideals how to debug this since handbrake isnt’ reporting any issues in the logs. i have reinstalled the libraries before the upgrade and they were installed again as part of the upgrade to fc22. It is only working on fc20 for me.

  10. I could not get the gui to start on Fedora 20. Then I tried the CLI and found that a shared library that was missing is my problem. Installed libass and all is well. Thanks!

    Here is the message that the CLI spit out:

    HandBrakeCLI: error while loading shared libraries: cannot open shared object file: No such file or directory

    1. The library is linked by the main executable, so unless you forced the installation of HandBrake through rpm ignoring dependencies the library is already pulled in by HandBrake:

      $ rpm -q --requires HandBrake-cli | grep ass
      1. Precisely, its looking for but it installed and so isn’t finding it. I have the same issue on FC21.

        I had to create a symlink “ln -s /usr/lib64/ /usr/lib64/” so it would find the library but surely this should not necessary if packaged correctly for this distro?

          1. I am having the same issue, and so far have not been able to get by it. rpm -q –requires HandBrake-cli shows which is what is installed (libass-0.12.0-1.fc21.x86_64) but ghb and HandBrakeCLI both say they want

            I have the latest HandBrake release 0.10.1 also.

            yum whatprovides “*/” produces nothing.

          2. Don’t know where you are getting those packages, but the one I produce have the correct dependencies. is not in Fedora 21. All packages have correct requirements:

            $ rpm -qp --requires HandBrake-{gui,cli}-0.10.1-1.fc21.x86_64.rpm | grep
            $ ldd /usr/bin/{ghb,HandBrakeCLI} | grep libass
   => /lib64/ (0x0000003c50600000)
   => /lib64/ (0x0000003c50600000)

          1. SOLVED!
            strace HandBrakeCLI does indeed show it looking for

            ldd /usr/local/bin/HandBrakeCLI also lists libass.so4 which is where strace found the command. BINGO!

            The current bin files are in /usr/bin !

            SOMEONE left old executable files in /usr/local/bin. I removed ghb and HandBrakeCLI from /usr/local/bin and it all WORKS now.

  11. I have installed Fedora 21. When I load makemkv into fedora 21 I get this message. /usr/bin/makemkvcon: error while loading shared libraries: cannot open shared object file: No such file or directory

    Could it be an idea to get an ffmeg-compat2 as workaround fro makekvm?

    1. Hello, makemkvcon is linked to ffmpeg 2.4:

      $ ldd /usr/bin/makemkvcon | grep av => /lib64/ (0x00000033ece00000) => /lib64/ (0x00000037b8600000)

      You should not have that error. this means you have the package for another distribution installed. Correct version at the time of writing is:


      Can you do the following?

      yum distro-sync makemkv
      1. Same thing here, distro-sync didn’t do anything.

        $ ldd /usr/bin/makemkvcon | grep av => not found => not found
        $ rpm -qf /lib64/ /lib64/
        $ rpm -qf /usr/bin/makemkvcon

        There seems to be a disconnect between the current version of makemkv and ffmpeg-libs.

        1. Hello,

          there is something wrong with your system; your yum should complain every time you perform some operation about the missing dependencies. Can you reinstall the makemkv package (yum -y reinstall makemkv)? I have the same binary and it is linked to the correct libraries:

          $ ldd /usr/bin/makemkvcon | grep av
 => /lib64/ (0x0000003c43000000)
 => /lib64/ (0x0000003c44200000)
          $ rpm -qf /usr/bin/makemkvcon
          $ rpm -q ffmpeg-libs

          1. Okay, this is very strange, can you tell me the checksum of your version of makemkvcon?

            # yum -y reinstall makemkv
            Loaded plugins: fastestmirror, langpacks
            Loading mirror speeds from cached hostfile
            * fedora:
            * rpmfusion-free:
            * rpmfusion-free-updates:
            * rpmfusion-nonfree:
            * rpmfusion-nonfree-updates:
            * updates:
            Resolving Dependencies
            --> Running transaction check
            ---> Package makemkv.x86_64 0:1.9.1-1.fc21 will be reinstalled
            --> Finished Dependency Resolution

            Dependencies Resolved

            Package Arch Version Repository Size
            makemkv x86_64 1.9.1-1.fc21 fedora-HandBrake 3.5 M

            Transaction Summary
            Reinstall 1 Package

            Total size: 3.5 M
            Installed size: 30 M
            Downloading packages:
            Running transaction check
            Running transaction test
            Transaction test succeeded
            Running transaction (shutdown inhibited)
            Installing : makemkv-1.9.1-1.fc21.x86_64 1/1
            Verifying : makemkv-1.9.1-1.fc21.x86_64 1/1

            makemkv.x86_64 0:1.9.1-1.fc21

            # ldd /usr/bin/makemkvcon
   => (0x00007fff46b20000)
   => /lib/ (0x000000338fa00000)
   => /lib/ (0x0000003079400000)
   => /lib64/ (0x0000003317600000)
   => /lib64/ (0x0000003317200000)
   => /lib64/ (0x0000003317a00000)
   => /lib64/ (0x000000331ca00000)
   => /lib64/ (0x0000003319600000)
   => /lib64/ (0x0000003328c00000)
   => /lib64/ (0x0000003317e00000)
   => /lib64/ (0x000000331ce00000)
   => not found
   => not found
   => /lib64/ (0x0000003318200000)
   => /lib64/ (0x0000003318a00000)
            /lib64/ (0x0000003316e00000)
            # md5sum /usr/bin/makemkvcon
            b2d6140250ed34d626e34f77399031f4 /usr/bin/makemkvcon

          2. Doh! Found the problem, I had an old makemkv library in /usr/lib, removing that fixed the problem,

            # rm /usr/lib/

  12. On Fedora 20, trying to install Handbrake, I get this:

    --> Finished Dependency Resolution
    Error: Package: HandBrake-cli-0.10-10.svn6507.fc20.x86_64 (fedora-HandBrake)
    Error: Package: HandBrake-gui-0.10-10.svn6507.fc20.x86_64 (fedora-HandBrake)
    Error: Package: HandBrake-cli-0.10-10.svn6507.fc20.x86_64 (fedora-HandBrake)
    Error: Package: HandBrake-gui-0.10-10.svn6507.fc20.x86_64 (fedora-HandBrake)

    I’m new to Fedora and haven’t been able to find mp3lame or x264, (a page on dates back to 2004/2005…), where can I download them? Thanks!

    1. I see it in all repositories:

      $ find . -name "*makemkv*" | sort

      Which repository are you referring to?

  13. Anyone else having problems with sub-titles always being burn-in.

    * subtitle track 1, English (track 2, id 0x2) Picture [VOBSUB] -> Render/Burn-in

    Some update back around Aug, seems they’re no longer:

    * subtitle track 1, English (track 3, id 0x3) Picture [VOBSUB] -> Passthrough

  14. I am having the same issue as Hal. This is the issue I described in the repository thread.

    I wonder if recompiling libdvdnav from srpm would help?

  15. I am on Fedora 20 x64 and HandBrake GUI (svn6304) not longer works properly using dvdnav. It worked in the recent past. I cannot pinpoint exactly when it began failing. If ‘Use dvdnav (instead of libdvdread’ is selected under Preferences -> Advanced tab, HandBrake reads the DVD, reaches the last title in the disk and then spontaneously closes. No error message is displayed before closure. If ‘Use dvdnav (instead of libdvdread’ is *not* selected then the faiure behavior does not present and HandBrake performs normally.

    1. I can’t reproduce it here, all the DVDs I have tried are scanned succesfully with libdvdnav version 5. One thing you could try (I doubt it will solve any issue) is to downgrade libdvdnav to the bundled Fedora 20 version; but I doubt it will solve any issue.

      HandBrake developers left the flag to use libdvdread for a reason. 🙂

  16. The latest version from 8-6 is dumping the following on startup:

    ghb: Symbol `vpx_codec_vp9_dx_algo’ has different size in shared object, consider re-linking
    ghb: Symbol `vpx_codec_vp8_cx_algo’ has different size in shared object, consider re-linking

    When selecting a file to convert it crashes

  17. Same issue on Fedora 20 with the latest version from your repo.

    Apr 27 09:25:25 pepwul81385 kernel: [ 1411.593461] ghb[2822]: segfault at 18 ip 00007f85bee83c5c sp 00007f858d7fd940 error 4 in[7f85beabe000+6a1000]
    Apr 27 09:25:25 pepwul81385 kernel: ghb[2822]: segfault at 18 ip 00007f85bee83c5c sp 00007f858d7fd940 error 4 in[7f85beabe000+6a1000]

    Does this when starting to process a blu-ray rip .mkv file.

    Please email me with additional info you need.


    1. Also experiencing the same 55.39.101 segfault due to

      [1522295.520438] ghb[16604]: segfault at 18 ip 00007f077f1c6c5c sp 00007f0742d59900 error 4 in[7f077ee01000+6a1000]

      Thanks very much for maintaining this package!

  18. Thanks a bunch for maintaining the HandBrake package for Fedora users!

    I have Handbrake 0.9.9-12 on a Fedora 20 x86_64 system that I used with compiled MakeMKV (the latest version, forgot the number and typing this from my work computer). I have this particular blueray movie ripped in a folder that I am trying to encode with HandBrake with my default settings. The encode starts and continues up until 1.14%, stalls there and then crashes with segmentation fault. I tried running ghb -x from console, with essentially no useful additional information. I tried disabling libdvdnav from preferences, again with no change in behavior. On the other hand I can watch the movie without any problems up until 20% or so from the unencoded mkv file in the rip folder; therefore I don’t think the source mkv file is the problem. Do you have any suggestions or pointers for me?

    1. I am sorry to reply to my own post, but I downloaded the source code of HandBrake (6160 svn) today and compiled it. It does not crash anymore and does the job. Therefore, I think the current rpm package for Fedora 20 may be defective, probably not due to a packaging defect, but due to a problem in the code. This is a pure speculation on my part, since I am happy to admit that I don’t have a clue :). I just wanted to inform you all.


      1. I have had the same issue; my encode goes to 1% or so and crashes with a seg fault. It occurs on 5 different Blu-ray and DVD rips, so it looks like it is something in the 0.9.9-12 version and not a particular Blu-ray source. I am also on Fedora 20 x86_64 so it may be some interaction with Fedora 20 64 bit and the new build. I was also able to download the source code (6161 svn), compile it, and it works fine.

  19. I had the same problem as jfc. After updating and rebooting, I got “Aborted (core dumped)” when scanning a DVD. I fixed the issue by going to Preferences and unchecking “Use dvdnav” in the Advanced tab. Video is encoding without a crash. I’m on an AMD FX6300 machine (just in case this has something to do with SSE4.

    1. Hello, I’ve updated the builds (currently uploading). They contain a libdvdnav that has been updated with an HandBrake patch that has been accepted upstream and will be contained in libdvdnav 5.0.0.

      It fixed the crash for me on my only DVD where I could reproduce it. There is a fairly recent Debian bug (still unresolved) that seems to indicate the bug itself is in libdvdnav and not in HandBrake support for the library:

  20. The latest version of Handbrake from 3-14 is crashing here:

    0x0000003aeeb5cc15 in __memcmp_sse4_1 () from /lib64/
    (gdb) where
    #0 0x0000003aeeb5cc15 in __memcmp_sse4_1 () from /lib64/
    #1 0x00000000009d364e in x264_cqm_init ()
    #2 0x00000000009a0eb4 in x264_encoder_open_130 ()
    #3 0x000000000049f360 in encx264Init ()
    #4 0x00000000004989ef in work_func ()
    #5 0x00000000004a11ab in hb_thread_func ()
    #6 0x0000003aef207f33 in start_thread () from /lib64/
    #7 0x0000003aeeaf4ded in clone () from /lib64/

    1. Fixed in version 0.9.9-11, now in the repository. It was not related to the libdvdnav/libdvdread changes. Please let me know of any other issues.

  21. Hello

    and first of all a big, big thank you for your efforts to make the popular HandBrake available for Fedora-users in a very easy way. I’m using both, the cli- and the gui-version and HandBrake 0.9.9-9 was running fine on Fedora 20 (64bit). Updated yesterday to 0.9.9-10 and now I get a “segmentation fault” as soon as the encoding-process starts. The gui-version opens and load the video I want to encode, but when I hit the “start encoding”-button HandBrake crashes immediately.

    poll([{fd=4, events=POLLIN}, {fd=3, events=POLLIN}, {fd=12, events=POLLIN}, {fd=17, events=POLLIN}, {fd=14, events=POLLIN}], 5, 0) = 2 ([{fd=4, revents=POLLIN}, {fd=14, revents=POLLIN}])
    read(4, “\2”, 16) = 8
    write(4, “\1”, 8) = 8
    write(16, “[10:52:08] * video track\n”, 26) = 26
    write(18, “[10:52:08] * video track\n”, 26) = 26
    +++ killed by SIGSEGV +++
    Speicherzugriffsfehler (= Segmentation fault in english)

    If you need any further informations, please let me know and thanks again!

    1. This seems related to the latest libdvdnav/libdvdread change, but the crash happens also on some non-dvd source files. I will push an update ASAP (currently away from computer/internet). Thanks for reporting.

      1. The crash happens from the CLI as well if I select the Normal preset.

        HandBrakeCLI –preset “Normal” -i /share/DVDs/SHREK_2_US_16X9/title02.mkv -o ./title02.mkv


        [11:51:45] + loose anamorphic
        [11:51:45] + storage dimensions: 720 * 460, mod 2
        [11:51:45] + pixel aspect ratio: 32 / 27
        [11:51:45] + display dimensions: 853 * 460
        [11:51:45] + encoder: H.264 (x264)
        [11:51:45] + x264 preset: veryfast
        [11:51:45] + h264 profile: main
        [11:51:45] + h264 level: 4.0
        [11:51:45] + quality: 20.00 (RF)
        [11:51:45] * audio track 1
        [11:51:45] + decoder: English (AC3) (5.1 ch) (track 1, id 0x1)
        [11:51:45] + bitrate: 448 kbps, samplerate: 48000 Hz
        [11:51:45] + mixdown: Dolby Pro Logic II
        [11:51:45] + encoder: AAC (faac)
        [11:51:45] + bitrate: 160 kbps, samplerate: 48000 Hz
        [11:51:45] reader: first SCR 7470 id 0x0 DTS -2970
        [11:51:45] encx264: min-keyint: 24, keyint: 240
        [11:51:45] encx264: encoding with stored aspect 32/27
        [11:51:45] encx264: Encoding at constant RF 20.000000
        x264 [warning]: –psnr used with psy on: results will be invalid!
        x264 [warning]: –tune psnr should be used if attempting to benchmark psnr!
        x264 [info]: using SAR=32/27
        Segmentation fault (core dumped)

        1. Fixed in version 0.9.9-11, now in the repository. It was not related to the libdvdnav/libdvdread changes. Please let me know of any other issues.

  22. I updated to all the latest packages. I’m getting the SCSI error again. Anyone else notice this with the latest FC20 packages? Tried un-installing/re-installing makemkv but no luck.

    Happening on previously ok Blu-ray too.

  23. I have HandBrake-gui-0.9.9-7.fc19.i686, and the rpm is missing the post-install scripts to set up the icon cache, etc.:

    $ rpm -q --scripts HandBrake-gui
    (no output)
    1. Thanks for noticing, by mistake I’ve added the %post, %postun and %posttrans sections to the base package instead of the gui subpackage. Update coming!

        1. Thanks for pointing this out, I’ve added a note to the MakeMKV page. I don’t have a Blue Ray drive to test (next in the list for Christmas) so I was not aware of this bug. I use it mainly to rip DVDs. The bug though, is not in MakeMKV but instead in the kernel, so this has nothing to do with MakeMKV; if the kernel package is fixed, the binaries here will work as expected.

          1. Hello,

            please could you change the note on your Homepage. It’ a problem when
            building MakeMKV with a newer version of OpenSSL than openssl-1.0.1e-4.fc20.x86_64


            the problem can be solved by adding the following line above %configure

            %configure CPPFLAGS="%{optflags} -I%{_includedir}/ffmpeg"
          2. I have just tested it on my laptop and it is now working for me without any SCSI errors. Thanks a lot of fixing it. 🙂

  24. I have the libdvdcss2.x86_64 package from AtRPMs installed, per mjwired’s Personal Fedora Install Guide(s) at (I am on Fedora 20 release (beta?), he doesn’t have F20 guide up yet, but F19 with the right mods to commands works fine). The version in the AtRPMs repo is slightly later than you have, they have 1.2.13-7.fc20 vs your 1.2.13-2.fc20. However since their package is labelled ‘libdvdcss2’ and yours is ‘libdvdcss’ there is not a warning of conflict from yum until it tries to do the transaction test:

    Running transaction test
    Transaction check error:
    file /usr/lib64/ from install of libdvdcss-1.2.13-2.fc20.x86_64 conflicts with file from package libdvdcss2-1.2.13-7.fc20.x86_64

    Can you add in a satisfies requirement like an ‘or’ statement in a SPEC file? Maybe like this in Handbrake:

    Requires: libdvdcss >= 1.2.13 || libdvdcss2 >= 1.2.13

    I am not sure that would work, I have not had to do that before in my RPM builds. Or maybe you could do a provides in the libdvdcss package, since you appear to have the same codebase:

    Provides: libdvdcss libdvdcss2

    I am not sure this would work well either, it might just conflict with the other package in AtRPMs.

    1. I can add it, but to avoid disrupting other dependencies relationship I need to know if there are any dependencies on the libdvdcss2 package in ATrpms. Is it pulled in by any other package? For the moment, my suggestion is to remove the ATrpms’ package, I have put a dependency on libdvdcss inside HandBrake so it is able to read protected DVDs.

      1. Sorry for the late reply, life got in the way.

        I have uninstalled the libdvdcss2 from ATRPMs. I found that VLC was the main cause for it being installed, needed to play protected DVD content as you said. I installed the one from your repo, and VLC can use it to play the protected content. There is no specific dependency on the lib, if it is there VLC uses it. I suppose other system players use it too but I have not tested them.

        I now am installing Handbrake from the repo and notice the following (I uninstalled libdvdcss earlier in testing VLC):

         Package               Arch      Version           Repository           Size
         HandBrake-cli         x86_64    0.9.9-9.fc20      fedora-HandBrake    3.4 M
         HandBrake-gui         x86_64    0.9.9-9.fc20      fedora-HandBrake    3.9 M
         makemkv               x86_64    1.8.8-1.fc20      fedora-HandBrake    6.9 M
        Installing for dependencies:
         glibc                 i686      2.18-12.fc20      updates             4.2 M
         libdvdcss             x86_64    1.2.13-2.fc20     fedora-HandBrake     53 k
         libmkv                x86_64    fedora               26 k
         nss-softokn-freebl    i686      3.15.4-1.fc20     updates             183 k
        Transaction Summary
        Install  3 Packages (+4 Dependent packages)

        Why is a 32-bit GNU C Library needed? It appears in the dependencies that makemvk is calling for a lot of libs that state (GLIBC_2.0), …_2.1), and …_2.2). Not that I won’t install the 32-bit C libs, but it just seemed odd to me that a 64-bit labelled package would be calling a 32-bit LibC.

        1. Unfortunately the MakeMKV package contains a 32 bit binary (/usr/bin/mmdtsdec) that is required when extracting DTS audio, it is noted at the end of the installation section above. The current RPM packages do not allow to create subpackages with an i686 architecture, only a noarch package can be generated; so for now it’s bundled in the main package.

          I would need to disassemble the binary tarball, create two separate packages and create a dependency on the mmtdsdec.i686 package from the main MakeMKV package.

  25. I need some help, I have installed MakeMKV & Handbrake using repositories above following the instructions.
    When running MakeMKV on any Bluray disc I get the following error:

    MakeMKV v1.8.6 linux(x64-release) started
    Using direct disc access mode
    Evaluation version, 26 day(s) out of 30 remaining
    Error 'Scsi error - ILLEGAL REQUEST:COPY PROTECTION KEY EXCHANGE FAILURE - AUTHENTICATION FAILURE' occurred while issuing SCSI command A30..00200740100720..0D5C9837BD226116B946D9EA18B5B750187 to device 'SG:dev_11:0'
    Error 'Scsi error - ILLEGAL REQUEST:COPY PROTECTION KEY EXCHANGE FAILURE - AUTHENTICATION FAILURE' occurred while issuing SCSI command A30..00200740100720..0709C88BDAA671518E61B72D5D1634543AF to device 'SG:dev_11:0'
    Error 'Scsi error - ILLEGAL REQUEST:COPY PROTECTION KEY EXCHANGE FAILURE - AUTHENTICATION FAILURE' occurred while issuing SCSI command A30..00200740100720..0577967BE76973EF9641D4D0BF9B9B0698E to device 'SG:dev_11:0'
    Error 'Scsi error - ILLEGAL REQUEST:COPY PROTECTION KEY EXCHANGE FAILURE - AUTHENTICATION FAILURE' occurred while issuing SCSI command A30..00200740100720..0A93DCBDE2815D02756466F4B801507B131 to device 'SG:dev_11:0'
    Error 'Scsi error - ILLEGAL REQUEST:COPY PROTECTION KEY EXCHANGE FAILURE - AUTHENTICATION FAILURE' occurred while issuing SCSI command A30..00200740100720..091F2FD58EAFBF602DFC09C03E8DCD9E864 to device 'SG:dev_11:0'
    Error 'Scsi error - ILLEGAL REQUEST:COPY PROTECTION KEY EXCHANGE FAILURE - KEY NOT ESTABLISHED' occurred while issuing SCSI command AD010..080002400 to device 'SG:dev_11:0'
    Error 'Scsi error - ABORTED COMMAND:NO ADDITIONAL SENSE INFORMATION' occurred while issuing SCSI command AD010..080002400 to device 'SG:dev_11:0'

    I also have errors on VLC & Handbrake when trying to read any Bluray disc as well.
    I am running Fedora 20/Mate.
    MakeMKV/Handbrake & VLC all work 100% when using a normal DVD.
    Do you perhaps have any idea where to start looking for the problem?

    1. I’ve just discovered that I made a mistake in version 1.8.6 during packaging. The library links of MakeMKV when obsoleting libaacs should be like the following:

      lrwxrwxrwx. 1 root root     23 Nov 27 14:15 /usr/lib64/ -> /usr/lib64/
      lrwxrwxrwx. 1 root root     23 Nov 27 14:15 /usr/lib64/ -> /usr/lib64/
      -rwxr-xr-x. 1 root root  26896 Nov 27 14:15 /usr/lib64/
      -rwxr-xr-x. 1 root root 503136 Nov 27 14:15 /usr/lib64/
      -rwxr-xr-x. 1 root root  35056 Nov 27 14:15 /usr/lib64/

      I’m pushing an update in a few moments. In the meanwhile upstream has created an updated 1.8.6 to fix FFMpeg issues; so I’ll be pushing 1.8.6 also on Fedora 18, 19 and 20. Can you please make a test with the following rpm in Fedora 20?

      1. I am getting the following error:

        [root@danie-laptop danie]# rpm -q makemkv
        [root@danie-laptop danie]# makemkv
        Qt: Session management error: None of the authentication protocols specified are supported
      2. Now both 1.8.5 and the current beta key no longer work (sounds like it may take a day or two for a new beta key to be posted). Any update on the 1.8.6 build for Fedora 19?

          1. Ah, thanks for the info. Well, they posted a new beta key that’s good through the end of January, so I’m back working on 1.8.5. Thanks for building and packaging this! Very handy.

    1. I think you should read the repository page. I would say more carefully, but apparently you did not read it at all.

      – You have installed the Fedora repository on CentOS and this will never work; you have to install the EPEL repository. Have you looked at the path? “Fedora 6″…
      – Even if you install the repository on CentOS there’s a clear statement that the HandBrake GUI is not available on CentOS/RHEL 6.x due to graphical libraries being too old; only the command line interface is available.
      – As described in the page, the GUI is available for all supported Fedora releases:

    1. As you can see from their forum the update to 1.8.6 is severely limited, it requires ffmpeg 2.x which is only available in Fedora 20. There’s currently no way to make MakeMKV 1.8.6 work with FFMpeg 1.x.

      I’ve update the repository for Fedora 20 yesterday, until the issue is solved upstream you should just register MakeMKV with the current beta key that is provided directly by the software house:

  26. Unfortunately that’s by design. Even the 64 bit package contains a 32 bit binary from the non-OSS part of MakeMKV:

    $ rpm -qvl makemkv | grep bin
    -rwxr-xr-x    1 root    root                 25229512 Sep 19 12:42 /usr/bin/makemkv
    -rwxr-xr-x    1 root    root                  6545248 Sep 19 12:42 /usr/bin/makemkvcon
    -rwxr-xr-x    1 root    root                    63428 Sep 19 12:42 /usr/bin/mmdtsdec
    $ file /usr/bin/{makemkv,makemkvcon,mmdtsdec}
    /usr/bin/makemkv:    ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=0x7392512f3a8c8f426fba2882e55f0f41f714f82b, stripped
    /usr/bin/makemkvcon: ELF 64-bit LSB executable, x86-64, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, stripped
    /usr/bin/mmdtsdec:   ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.24, stripped
    $ tar -tzf makemkv-bin-1.8.5.tar.gz | grep bin

    I will make a note in the page.

  27. Something is weird with the 64-bit makemkv package for Fedora 19. It pulls in the 32-bit version of glibc:

    $ sudo yum install makemkv
    Loaded plugins: langpacks, show-leaves
    Resolving Dependencies
    --> Running transaction check
    ---> Package makemkv.x86_64 0:1.8.5-1.fc19 will be installed
    --> Processing Dependency: for package: makemkv-1.8.5-1.fc19.x86_64
    --> Processing Dependency: for package: makemkv-1.8.5-1.fc19.x86_64
    --> Processing Dependency: for package: makemkv-1.8.5-1.fc19.x86_64
    --> Processing Dependency: for package: makemkv-1.8.5-1.fc19.x86_64
    --> Processing Dependency: for package: makemkv-1.8.5-1.fc19.x86_64
    --> Processing Dependency: for package: makemkv-1.8.5-1.fc19.x86_64
    --> Processing Dependency: for package: makemkv-1.8.5-1.fc19.x86_64
    --> Running transaction check
    ---> Package glibc.i686 0:2.17-19.fc19 will be installed
    --> Processing Dependency: for package: glibc-2.17-19.fc19.i686
    --> Processing Dependency: for package: glibc-2.17-19.fc19.i686
    --> Running transaction check
    ---> Package nss-softokn-freebl.i686 0:3.15.2-2.fc19 will be installed
    --> Finished Dependency Resolution
    Dependencies Resolved
     Package                     Arch            Version                Repository                 Size
     makemkv                     x86_64          1.8.5-1.fc19           fedora-HandBrake          4.8 M
    Installing for dependencies:
     glibc                       i686            2.17-19.fc19           updates                   4.2 M
     nss-softokn-freebl          i686            3.15.2-2.fc19          updates                   176 k
    Transaction Summary
    Install  1 Package (+2 Dependent packages)

Leave a Reply