Multimedia – includes Nvidia driver, CUDA

This repository contains HandBrake with supporting programs MakeMKV and libdvdcss packages for Fedora distributions. Along with HandBrake, the same repository is used to host the CUDA and FFMpeg enabled Blender, a FFMPeg binary and Gstreamer plugins compiled with most of the possible options, Avidemux, VLC and others. I’m not able to provide separate repositories for them as either you have a full blown multimedia collection with each component strictly tied to each other, or you just have the plain Fedora repositories with no license/patent encumbered options.

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 requires that the EPEL repository be enabled if you’re running CentOS/RHEL 6.

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.

Nvidia driver, CUDA tools and libraries

The repository also contains the Nvidia driver, CUDA tools and libraries that are depicted in a separate page. You can avoid having the Nvidia repository installed if you are using this one.

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 ships 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 22: fdk-aac, x265
  • Fedora 23+, CentOS/RHEL 7: libav

The CentOS/RHEL 6 builds still bundle libbluray and ffmpeg, as the packages currently in EPEL 6 are too old.

Installing HandBrake/MakeMKV/libdvdcss

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

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

To install the repository on CentOS/RHEL:

yum-config-manager --add-repo=http://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 -y install HandBrake-gui HandBrake-cli

For MakeMKV:

yum -y install makemkv

For libdvdcss:

yum -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.9.7-1.fc23.x86_64
$ rpm -ql mmdtsdec
/usr/bin/mmdtsdec
/usr/share/doc/mmdtsdec
/usr/share/doc/mmdtsdec/eula_en_linux.txt
$ 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 VideoLan:

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 that drops in as a replacement for RPMFusion 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:

  • 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
  • OpenH264 de/encoding (H.264 Cisco variant)
  • OpenGL rendering
  • SSH transport
  • Fontconfig/fribidi text support
  • CDIO Audio CD support
  • NVENC (Nvidia H.264/265 GPU hardware encoding)
  • QSV (Intel Quick Sync Video H.264/265 CPU hardware de/encoding)
  • HE-AAC+ (3GPP AAC+ High Efficiency Advanced Audio Codec v2 encoder)
  • HEVC kvazaar (H.265)
  • CUDA CUVID H264/HEVC decoder
  • libnpp/CUDA-accelerated format conversion and scaling
  • VAAPI-accelerated format conversion and scaling
  • VAAPI-accelerated H.264/HEVC/MJPEG de/encoding

This sobstitutes the FFMPeg binaries that were provided as part of the CUDA enabled programs, as it is 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 weak dependencies.

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

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

To check for the hardware accelerated encoders/decoders:

$ for i in encoders decoders filters; do
     echo $i:; ffmpeg -hide_banner -${i} | egrep -i "Intel Quick Sync|cuvid|nvenc|cuda|npp"
done
encoders:
 V..... h264_nvenc           NVIDIA NVENC H.264 encoder (codec h264)
 V..... h264_qsv             H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (Intel Quick Sync Video acceleration) (codec h264)
 V..... nvenc                NVIDIA NVENC H.264 encoder (codec h264)
 V..... nvenc_h264           NVIDIA NVENC H.264 encoder (codec h264)
 V..... nvenc_hevc           NVIDIA NVENC hevc encoder (codec hevc)
 V..... hevc_nvenc           NVIDIA NVENC hevc encoder (codec hevc)
 V..... hevc_qsv             HEVC (Intel Quick Sync Video acceleration) (codec hevc)
 V..... mpeg2_qsv            MPEG-2 video (Intel Quick Sync Video acceleration) (codec mpeg2video)
decoders:
 V..... h263_cuvid           Nvidia CUVID H263 decoder (codec h263)
 V....D h264_qsv             H.264 / AVC / MPEG-4 AVC / MPEG-4 part 10 (Intel Quick Sync Video acceleration) (codec h264)
 V..... h264_cuvid           Nvidia CUVID H264 decoder (codec h264)
 V....D hevc_qsv             HEVC (Intel Quick Sync Video acceleration) (codec hevc)
 V..... hevc_cuvid           Nvidia CUVID HEVC decoder (codec hevc)
 V..... mjpeg_cuvid          Nvidia CUVID MJPEG decoder (codec mjpeg)
 V..... mpeg1_cuvid          Nvidia CUVID MPEG1VIDEO decoder (codec mpeg1video)
 V....D mpeg2_qsv            MPEG-2 video (Intel Quick Sync Video acceleration) (codec mpeg2video)
 V..... mpeg2_cuvid          Nvidia CUVID MPEG2VIDEO decoder (codec mpeg2video)
 V..... mpeg4_cuvid          Nvidia CUVID MPEG4 decoder (codec mpeg4)
 V..... vc1_qsv              VC-1 video (Intel Quick Sync Video acceleration) (codec vc1)
 V..... vc1_cuvid            Nvidia CUVID VC1 decoder (codec vc1)
 V..... vp8_cuvid            Nvidia CUVID VP8 decoder (codec vp8)
 V..... vp9_cuvid            Nvidia CUVID VP9 decoder (codec vp9)
filters:
 ... hwupload_cuda     V->V       Upload a system memory frame to a CUDA device.
 ... scale_npp         V->V       NVIDIA Performance Primitives video scaling and format conversion

The package has a different Epoch so it should not overwritten by other updates. The idea is to have all the possible codecs/transports supported out of the box, so also expect CIFS transport and other stuff, as soon as I have more time.

Please note that the ffmpeg binary works fine even without hardware acceleration. The CUDA library and the Intel Quick Sync Video libraries are directly linked in:

$ ldd /usr/lib64/libavfilter.so.6 | egrep -i "cuda|npp"
        libnppi.so.8.0 => /lib64/libnppi.so.8.0 (0x00007fec74393000)
        libcuda.so.1 => /lib64/libcuda.so.1 (0x00007fec72e5a000)
        libnppc.so.8.0 => /lib64/libnppc.so.8.0 (0x00007fec6c782000)
$ ldd /usr/lib64/libavcodec.so.57 | egrep -i "mfx|cuda|cuvid"
        libmfx.so.0 => /lib64/libmfx.so.0 (0x00007fa7e83bb000)
        libnvcuvid.so.1 => /lib64/libnvcuvid.so.1 (0x00007fa7e7805000)
        libcuda.so.1 => /lib64/libcuda.so.1 (0x00007fa7e6e0f000)

Gstreamer plugins and multimedia libraries

The Multimedia repository now provides GStreamer (1.0) plugins for Bad, Ugly, libAV and VA-API plugin bundles with all options enabled. These are split into the following GStreamer runtime packages:

  • gstreamer1-plugins-bad
  • gstreamer1-plugins-ugly
  • gstreamer1-plugins-vaapi
  • gstreamer1-plugins-libav (pulls in FFmpeg)
  • gstreamer1-plugins-bad-fluidsynth (pulls in the whole FluidSynth distribution)
  • gstreamer1-plugins-bad-nvenc (x86_64 only, pulls in the Nvidia binary driver)

They all have an Epoch of “1”, to avoid any upgrade issue. Like for FFMpeg, I’ve tried to enable all the supported plugins out of the box.

  • The bad package actually obsoletes the bad-free, bad-nonfree and openh264 Gstreamer plugin packages.
  • The ugly package actually obsoletes the mpg123 Gstreamer plugin package.

OpenH264 Firefox support

Fedora 24 has a new repository to enable OpenH264 decoding in Mozilla Firefox by enabling a specific repository. As described in the Wiki page, this is already available on newly installed systems.

The packages provided here conflict with the packages provided in the OpenH264 repository, so I’m now providing a custom build of the Mozilla integration along with FFMpeg and Gstreamer packages that allows me to enable more features and provide them as well for CentOS and Red Hat Enterprise Linux.

To install OpenH264 support for Firefox:

dnf/yum install mozilla-openh264

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

VLC on HiDPI displays

If you get icons too big on an HiDPI display and the fonts look distorted, try to disable QT’s honoring of DPI settings. A workaround is to start VLC like this:

env QT_AUTO_SCREEN_SCALE_FACTOR=0 vlc

or create an environment file as described here with the above variable:

echo "export QT_AUTO_SCREEN_SCALE_FACTOR=0" > /etc/profile.d/qt-hidpi.sh

Bugs

The address for contacting me is in the package’s changelog, otherwise leave a comment in the post, I’ll do my best to reply to everyone.

361 thoughts on “Multimedia – includes Nvidia driver, CUDA

  1. try to install vlc today, and of course it pulls both CUDA and nVIDIA software.. and those are the ones causing the download speed to go down to 10-20 kB/s. Just to let you know. Cheers

  2. Hello, I’m using the fedora-multimedia repository. It’s great, thanks for the hard work.
    The only very minor “problem” I found is that Corebird has been removed because of it’s dependency on gstreamer1-plugins-bad-free-gtk…it I try to reinstall it I have (edited)

    [root@bauniga ~] # dnf install corebird –allowerasing
    Installing:
    corebird x86_64 1.4.2-1.fc25 updates
    gstreamer1-plugins-bad-free x86_64 1.10.4-1.fc25 updates
    gstreamer1-plugins-bad-free-gtk x86_64 1.10.4-1.fc25 updates
    Removing:
    gstreamer1-plugins-bad x86_64 1:1.10.4-2.fc25 @fedora-multimedia gstreamer1-plugins-bad-fluidsynth x86_64 1:1.10.4-2.fc25 @fedora-multimedia

    Again, thanks!

  3. I’m using your repository since a few month and everything was fine. A few days ago I changed my hardware and now I can’t play H.264 videos anymore. The “new” mainboard is using a nvidia chipset (I know: bad idea 😉 ). The graphic card is a builtin GeForce 6150SE (series 6) with the latest (!) proprietary driver installled (NVIDIA-Linux-x86_64-304.135-kernel-4.10-patched.run). When I try to play a video with H.264 with vlc, I get the following error messages:

    $ vlc -v ~/Videos/Test.m4v
    VLC media player 3.0.0-git Vetinari (revision 2.2.0-git-11863-g9513f34)
    [0000564248fc71c8] core libvlc: VLC wird mit dem Standard-Interface ausgeführt. Benutzen Sie ‘cvlc’, um VLC ohne Interface zu verwenden.
    [00007ff4f4c01768] mp4 stream warning: unknown box type gmin (incompletely loaded)
    [00007ff4f4c01c38] mp4 demux warning: elst box found
    [00007ff4f4c01c38] mp4 demux warning: STTS table of 1 entries
    [00007ff4f4c01c38] mp4 demux warning: CTTS table of 169797 entries
    [00007ff4f4c01c38] mp4 demux warning: elst box found
    [00007ff4f4c01c38] mp4 demux warning: STTS table of 1 entries
    [00007ff4f4c01c38] mp4 demux warning: STTS table of 21 entries
    [00007ff4e8ebdf98] core decoder warning: cannot load module `/usr/lib64/vlc/plugins/codec/libavcodec_plugin.so’ (/lib64/libavutil.so.55: undefined symbol: vdp_device_create_x11)
    [00007ff4e928eab8] faad decoder warning: decoded zero sample

    (vlc:27097): GStreamer-WARNING **: Failed to load plugin ‘/usr/lib64/gstreamer-1.0/libgstlibav.so’: /lib64/libavutil.so.55: undefined symbol: vdp_device_create_x11

    (vlc:27097): GStreamer-WARNING **: Failed to load plugin ‘/usr/lib64/gstreamer-1.0/libgstlibav.so’: /lib64/libavutil.so.55: undefined symbol: vdp_device_create_x11
    [00007ff4e8ebdf98] gstdecode decoder error: Error from decodebin0: Ihrer Installation von GStreamer fehlt ein Plugin. (Simplified translation: Gstream is missing a plugin)
    [00007ff4e8ebdf98] core decoder error: buffer deadlock prevented

    $

    Of course, other players don’t work, too. Even mplayer gives a similar error messages (player: symbol lookup error: mplayer: undefined symbol: vdp_device_create_x11).

    As far as I understand my software installation all important packages have been installed from four repository (I named it fedora-HandBrake):

    $ dnf repo-pkgs fedora-HandBrake list installed
    Installed packages
    HandBrake-gui.x86_64 1.0.3-2.20170318gite4a9a3e.fc24 @fedora-HandBrake
    a52dec-libs.x86_64 0.7.4-20.fc24 @fedora-HandBrake
    aribb25.x86_64 0.2.7-1.fc24 @fedora-HandBrake
    asdcplib-libs.x86_64 2.7.19-3.fc24 @fedora-HandBrake
    avidemux-gui.x86_64 2.6.18-3.fc24 @fedora-HandBrake
    avidemux-libs.x86_64 2.6.18-3.fc24 @fedora-HandBrake
    cdda2wav.x86_64 10:3.02-a07.2.fc24 @fedora-HandBrake
    cdrecord.x86_64 10:3.02-a07.2.fc24 @fedora-HandBrake
    cdrtools-libs.x86_64 10:3.02-a07.2.fc24 @fedora-HandBrake
    cuda-npp.x86_64 1:8.0.61-1.fc24 @fedora-HandBrake
    faac.x86_64 1.28-7.fc24 @fedora-HandBrake
    faad2-libs.x86_64 1:2.7-8.fc24 @fedora-HandBrake
    ffmpeg.x86_64 1:3.2.4-2.fc24 @fedora-HandBrake
    ffmpeg-libs.x86_64 1:3.2.4-2.fc24 @fedora-HandBrake
    gstreamer1-libav.x86_64 1:1.8.3-3.fc24 @fedora-HandBrake
    gstreamer1-plugins-bad.x86_64 1:1.8.3-6.fc24 @fedora-HandBrake
    gstreamer1-plugins-bad-nvenc.x86_64 1:1.8.3-6.fc24 @fedora-HandBrake
    gstreamer1-plugins-ugly.x86_64 1:1.8.3-3.fc24 @fedora-HandBrake
    kvazaar-libs.x86_64 1.0.0-1.fc24 @fedora-HandBrake
    lame-libs.x86_64 3.99.5-5.fc24 @fedora-HandBrake
    libavdevice.x86_64 1:3.2.4-2.fc24 @fedora-HandBrake
    libde265.x86_64 1.0.2-3.503af19.fc24 @fedora-HandBrake
    libdvdcss.x86_64 1.4.0-1.fc24 @fedora-HandBrake
    libfdk-aac.x86_64 1:0.1.5-6.20160924gitcb57d89.fc24 @fedora-HandBrake
    libmimic.x86_64 1.0.4-9.fc24 @fedora-HandBrake
    libmms.x86_64 0.6.4-4.fc24 @fedora-HandBrake
    libmpeg2.x86_64 0.5.1-12.fc24 @fedora-HandBrake
    librtmp.x86_64 1:2.4-8.20151223gitfa8646d.fc24 @fedora-HandBrake
    libvo-aacenc.x86_64 0.1.3-1.fc24 @fedora-HandBrake
    live555-libs.x86_64 1:2016.11.06-2.fc24 @fedora-HandBrake
    mjpegtools-libs.x86_64 2.1.0-7.fc24 @fedora-HandBrake
    mkisofs.x86_64 10:3.02-a07.2.fc24 @fedora-HandBrake
    mpg123-libs.x86_64 1:1.23.8-2.fc24 @fedora-HandBrake
    nvidia-driver-cuda-libs.x86_64 2:378.13-6.fc24 @fedora-HandBrake
    opencore-amr.x86_64 0.1.3-4.fc24 @fedora-HandBrake
    openh264-libs.x86_64 1:1.6.0-2.fc24 @fedora-HandBrake
    twolame-libs.x86_64 0.3.13-5.fc24 @fedora-HandBrake
    vlc.x86_64 1:3.0.0-18.20170322git9513f34.fc24 @fedora-HandBrake
    vlc-core.x86_64 1:3.0.0-18.20170322git9513f34.fc24 @fedora-HandBrake
    vlc-extras.x86_64 1:3.0.0-18.20170322git9513f34.fc24 @fedora-HandBrake
    vo-amrwbenc.x86_64 0.1.3-3.fc24 @fedora-HandBrake
    x264-libs.x86_64 1:0.148-10.20170121git97eaef2.fc24 @fedora-HandBrake
    x265-libs.x86_64 1:2.3-1.fc24 @fedora-HandBrake
    xvidcore.x86_64 1.3.4-3.fc24 @fedora-HandBrake

    To be honest, I have now idea how to solve the problem. Do you have an idea?

    Best regards,
    Kelran

    1. I did some further readings and came to the conclusion that the problems is caused by ffmpeg and not by the nvidia driver (during the installation of the nividia driver some packages from negativo17’s repository have been updated, too.).

      Hence I removed all packages from negativo17’s repository and installed vlc, gstreamer1-plugins-ugly, gstreamer1-plugins-good, gstreamer1-plugins-base.x86_64 and gstreamer1-libav.x86_64 from the rpmfusion respositry. Now totem and vlc play my videos again. Unfortunately handbrake is lost. Another problem to solve …

      1. Good to hear. If yoy are using RPMFusion you can also find the old Nvidia drivers packaged in RPM format, so you don’t need to run the Nvidia executable (.run).
        Don’t know which distribution are you running, but HandBrake is available also in RPMFusion since Fedora 26 (next one):
        http://koji.rpmfusion.org/koji/packageinfo?packageID=490
        No UTF8 subtitles parsing though with the system ffmpeg.
        If you need those, just rebuild the RPMFusion’s HandBrake package with bundled libav enabled (look in the spec file).

    2. Well, Nvidia is fine, but since you’re changing hardware you might also want to go to an Nvidia chipset that is not already obsolete.

  4. Could you add OBS Studio to the multimedia repository as it goes well with the nvenc enabled ffmepg and the nvidia drivers as well. RPMFusion packages OBS but I’m going to assume there will be a package conflict if I have RPMFusion and the multimedia repository enabled at the same time.

  5. Handbrake. I am seeing a cosmetic problem either with its build or a missed dependency?

    Inside of handbrake, my prior experience with its GUI is that different icons were used for Open Source, Add To Queue, Start Encode, etc. and editing and deleting audio, sub, and queued items. After a Fedora 25 fresh install and your multimedia repo, they are all using the same icon that may be representing a photo or movie cell. It is a small thing to accidentally delete an audio track when you meant to edit it. You just add it. But it is an oddity.

    I wanted to also thank you for maintaining your repo. With your previous Handbrake repo, I dumped one of my three remaining Windows boxes. With the creation of your Multimedia repo and the discovery of the Asus ux330a, I dumped the second to last Windows box. Your repos are awesome!

      1. I am using your Nvidia driver 378.13 with GTX 770, but not experiencing any other visual oddities with other application like MakeMKV, Gimp, VirtualBox, etc. The driver seems to be fine. Only Handbrake seems to be misbehaving (misdisplaying :).

        Screenshot found here: https://ibb.co/gDogy5

        I am open to suggestions on digging deeper. Suggestions?

        1. I ran an dnf -u update today and saw four nVidia packages from your repo. After a reboot, Handbrake is displaying correctly.

          There were quite a few other drivers from the Fedora Updates repo, but I am going on the assumption you fixed it.

          Thank you!

          1. CORRECTION:

            There were quite a few other packages not drivers from the Fedora Updates repo..

            Again, thank you.

  6. Hi, I have installed both nvidia and multimedia repository.
    Since some days ago, when i update using dnf shows below messages

    Last metadata expiration check: 0:06:01 ago on Wed Mar 29 18:11:42 2017.
    Dependencies resolved.
    ================================================================================
    Package Arch Version Repository Size
    ================================================================================
    Skipping packages with broken dependencies:
    HandBrake-gui
    x86_64 1.0.3-2.20170318gite4a9a3e.fc25 fedora-multimedia 9.3 M
    ffmpeg x86_64 1:3.2.4-2.fc25 fedora-multimedia 1.5 M
    ffmpeg-libs x86_64 1:3.2.4-2.fc25 fedora-multimedia 6.2 M
    live555 x86_64 1:2016.11.06-2.fc25 fedora-multimedia 108 k
    vlc x86_64 1:3.0.0-18.20170322git9513f34.fc25 fedora-multimedia 1.5 M
    vlc-core x86_64 1:3.0.0-18.20170322git9513f34.fc25 fedora-multimedia 8.6 M
    vlc-extras x86_64 1:3.0.0-18.20170322git9513f34.fc25 fedora-multimedia 38 k
    x265-libs x86_64 1:2.3-1.fc25 fedora-multimedia 1.7 M

    Transaction Summary
    ================================================================================
    Skip 8 Packages

    I’m using Korora 25 distro which based on Fedora 25.
    Above package’s dependencies are broken.
    How can I resolve this?

    Thanks a lot for your work.

    1. I have resolved this issue by executing following command

      sudo dnf update x265-libs –best –allowerasing

      Sorry for bothering you 😉

  7. It seems that the a52dec-libs is now included in the main fedora repository. I get an error with `dnf update` on F25:

    Error: Transaction check error:
    file /usr/lib64/liba52.so.0.0.0 from install of liba52-0.7.4-25.fc25.x86_64 conflicts with file from package a52dec-libs-0.7.4-20.fc25.x86_64

    1. Thanks, I’ve noticed that. It has been built for all releases, so I’m removing the packages contained in my repository. Just remove the package and it will be pulled in again from the main Fedora repositories.

  8. Will the fedora-multimedia.repo conflict with my rpmfusion repos? I see a lot of the packages in fedora-multimedia are also in the rpmfusion repos? Will this cause any conflicts? If so how would I install handbrake without install the fedora-multimedia repo?

    1. It does. The other repositories do not, but the multimedia one conflicts with a lot of packages with RPMFusion.

  9. Fedora 25 error in dnf upgrade:

    Error: Transaction check error:
    file /usr/lib64/libGLX_indirect.so.0 from install of mesa-libGL-13.0.4-3.fc25.x86_64 conflicts with file from package nvidia-driver-libs-2:378.13-3.fc25.x86_64
    file /usr/lib/libGLX_indirect.so.0 from install of mesa-libGL-13.0.4-3.fc25.i686 conflicts with file from package nvidia-driver-libs-2:378.13-3.fc25.i686

  10. Thanks for the curated repositories. However, your repo and the gpg key are both served over http. Can you please at least make the gpg key https ?

    1. That’s the plan since a long time, but I’m terribly busy at the moment and my hosting provider sucks. Will try do to it this week.

  11. I have installed most recent drivers 378.13 out of repo negativo17.org in Korora 25.
    I want to test 3D acceleration/OpenGL-Integration for SPICE in virt-manager vers. 1.4 installed.
    https://www.heise.de/ix/meldung/Virtualisierung-mit-Linux-virt-manager-Version-1-4-erschienen-3244534.html
    According to http://blog.wikichoon.com/2016/06/virt-manager-140-release.html it is not sure that it works with proprietary driver. Is this true also for driver installed from negativo17.org? Will it be possible to use OpenGL-Integration for SPICE with your drivers? How to have OpenGL-Integration for SPICE in virt-manager with drivers from negativo17.org?
    Rgds AW

    http://forums.fedoraforum.org/showthread.php?t=310578

      1. It doesn’t work with virgl:spice GL passthrough.

        libvirtError: internal error: process exited while connecting to monitor: 2017-02-24T10:36:36.604664Z qemu-system-x86_64: egl: no drm render node available
        2017-02-24T10:36:36.604758Z qemu-system-x86_64: Failed to initialize EGL render node for SPICE GL

        See also

        https://bugzilla.redhat.com/show_bug.cgi?id=1337290

        I am not able to handle with “diff –git a/ui/egl-helpers.c b/ui/egl-helpers.c”

        We have to wait.

  12. i’ve installed handbrake gui only and it installed my about 180 mb of packages but when removing it it removed only handbrake gui that was about 19 mb…any idea on how to remove the other packages?

    1. If you want to remove everything coming from the repository just remove the repository configuration and do a dnf distro-sync. This should downgrade many packages and most of the stuff should actually be removed. Also rpm -qa --last | less and package-cleanup --orphans are your friends.

  13. HELP!!!

    I am having the dreaded “makemkvcon: error while loading shared libraries: libavcodec.so.54…” error on my f25 box, and no matter what I try (package download, makemkv build) I cannot get around it. There must be some package incompatibility on my system, but I just can’t figure out what it is. Can anyone help with a pointer to what is causing the package dependency collision? Thanks in advance — Andy

    1. Where are you getting the .54 library from? My packages are using libraries from the same repository.

      $ rpm -qf /usr/bin/makemkvcon
      makemkv-1.10.4-1.fc25.x86_64
      $ rpm -q --requires makemkv | grep libav
      libavcodec.so.57()(64bit)
      libavcodec.so.57(LIBAVCODEC_57)(64bit)
      libavutil.so.55()(64bit)
      libavutil.so.55(LIBAVUTIL_55)(64bit)

      Nothing requires libavcodec.so.54. I guess you have installed some other library from some other repository. libav maybe?

    2. Mmmh, that’s weird. So, the latest Fedora 25 build uses the new enhanced OutputClass that allows you to specify your device options inside it:

      $ cat /etc/X11/xorg.conf.d/10-nvidia.conf 
      Section "OutputClass"
          Identifier "nvidia"
          MatchDriver "nvidia-drm"
          Driver "nvidia"
          Option "AllowEmptyInitialConfiguration"
          Option "PrimaryGPU" "yes"
          Option "SLI" "Auto"
          Option "BaseMosaic" "on"
          ModulePath "/usr/lib64/nvidia/xorg"
      EndSection
      
      Section "OutputClass"
          Identifier "intel"
          MatchDriver "i915"
          Driver "modesetting"
      EndSection

      Since you’re using your own xorg.conf, can you try replacing the above file with this content:

      Section "Files"
      	ModulePath   "@LIBDIR@/nvidia/xorg"
      	ModulePath   "@LIBDIR@/xorg/modules"
      EndSection
       
      Section "Module"
          Disable "glamoregl"
      EndSection

      And check if it works? I don’t know about the other report you linked, as I don’t know what distribution/driver package they guy is running, but maybe there is something not supported by this configuration. It has been tested in single card, Optimus and SLI systems with 2 cards.

  14. Hi there,

    Could you also please provide an older version of libwebp which provides libwebp.so.4?

    Thank you again!

    Hans

    root@Host:/etc/yum.repos.d 294> yum install qt5-qtimageformats
    Resolving Dependencies
    –> Running transaction check
    —> Package qt5-qtimageformats.x86_64 0:5.6.1-10.el7 will be installed
    –> Processing Dependency: libwebp.so.4()(64bit) for package: qt5-qtimageformats-5.6.1-10.el7.x86_64

    Packages skipped because of dependency problems:
    qt5-qtimageformats-5.6.1-10.el7.x86_64 from base

    1. It looks like qt5-qtimageformats-5.6.1-10.el7 from [base] override the package you provide, which is 5.6.1-5. Bump the epoch?

  15. Not sure if you know — but installing makemkv on CentOS/RHEL 7 results with a dependency error:

    Loaded plugins: fastestmirror, langpacks
    Loading mirror speeds from cached hostfile
    * base: centos.mirror.constant.com
    * epel: mirror.cs.princeton.edu
    * extras: mirror.cc.columbia.edu
    * updates: linux.cc.lehigh.edu
    Resolving Dependencies
    –> Running transaction check
    —> Package makemkv.x86_64 0:1.10.4-1.el7 will be installed
    –> Processing Dependency: mmdtsdec = 1.10.4-1.el7 for package: makemkv-1.10.4-1.el7.x86_64
    –> Finished Dependency Resolution
    Error: Package: makemkv-1.10.4-1.el7.x86_64 (epel-multimedia)
    Requires: mmdtsdec = 1.10.4-1.el7
    Installed: mmdtsdec-1.10.3-1.el7.i686 (@epel-multimedia)
    mmdtsdec = 1.10.3-1.el7
    You could try using –skip-broken to work around the problem
    You could try running: rpm -Va –nofiles –nodigest

  16. Hi,

    I`m running F25 with Wayland on an Intel graphics chip. Since the last VLC update I get two VLC windows (one small with a Windows 95 style border) and a big one showing the video.

    [romal@chessur Videos]$ vlc bla.mkv
    VLC media player 3.0.0-git Vetinari (revision 2.2.0-git-10560-g8d997bc)
    [0000562aa68661c8] core libvlc: VLC wird mit dem Standard-Interface ausgeführt. Benutzen Sie ‘cvlc’, um VLC ohne Interface zu verwenden.
    QSocketNotifier: Can only be used with threads started with QThread
    [0000562aa6943228] qt interface error: unknown Qt platform: wayland

    Failed to open VDPAU backend libvdpau_nvidia.so: cannot open shared object file: No such file or directory
    [00007fdb383ac368] xcb_window window error: X server failure
    ^C
    ^C
    [romal@chessur Videos]$ ^C

    Any ideas ?

    Regards,
    Robert

    1. Uh, no idea. Can’t have yet Wayland here, unfortunately. Was it working fine before?

      Can you run it verbosely? (vlc -V 2 bla.mkv)

  17. Hi there,

    I get this error on CentOS 7:

    root@t7500:/etc/yum.repos.d 1037> yum install mjpegtools
    Loading mirror speeds from cached hostfile
    * base: repos.forethought.net
    * centosplus: repos.forethought.net
    * elrepo: repos.dfw.lax-noc.com
    * epel: mirror.compevo.com
    * epel-debuginfo: fedora-epel.mirror.lstn.net
    * extras: repos.forethought.net
    * fasttrack: repos.forethought.net
    * remi-safe: repo1.dal.innoscale.net
    * updates: repos.forethought.net
    Resolving Dependencies
    –> Running transaction check
    —> Package mjpegtools.x86_64 0:2.1.0-6.el7 will be installed
    –> Processing Dependency: mencoder for package: mjpegtools-2.1.0-6.el7.x86_64

    Packages skipped because of dependency problems:
    mjpegtools-2.1.0-6.el7.x86_64 from epel-multimedia

    Can you help?

    Thank you!

    Hans

      1. Thank you so much! Not just for the reply, but for all your work on this. It enables my home computer (RHEL7) to handle media effectively.

        FWIW, I managed to get by with .src.rpm files from rpmfusion. They compiled and installed without a hitch.

  18. I have a conflict with the x265-libs version in Fedora 24 (newest).

    Details:

    1. #dnf install HandBrake-gui HandBrake-cli

    Error: package HandBrake-gui-1.0-33.20161215gitd58a50a.fc24.i686
    requires libx265.so.95, but none of the providers can be installed

    2. Checking:

    #ls /usr/lib/libx265.so*

    /usr/lib/libx265.so.79

    i.e., the newest version in Fedora 24 is so.79

    3. just checking:

    #dnf list x265-libs*
    Last metadata expiration check… on Fri Dec 23 … 2016.

    Installed Packages

    x265-libs.i686 1.9-1.fc24 @rpmfusion-free
    Available Packages x265-libs.i686 1:2.1-2.fc24 fedora-multimedia

    ——
    Is there a way to resolve?

    Thank you, Max.

    1. I’m using a newer version in the repositories than what’s in RPMFusion, as I’m rebasing everything every time during releases.
      It all began like an overlay to RPMFusion, but now if you’re using these repositories you should not enable RPMFusion, and viceversa. I’m planning to remove compatibility entirely and just state that they are not compatible.

      1. Enterprise Linux 7: yum install vlc

        Resolving Dependencies
        –> Running transaction check
        —> Package vlc.x86_64 1:2.2.4-3.el7 will be installed
        –> Processing Dependency: vlc-core(x86-64) = 1:2.2.4-3.el7 for package: 1:vlc-2.2.4-3.el7.x86_64
        –> Processing Dependency: libvlccore.so.8()(64bit) for package: 1:vlc-2.2.4-3.el7.x86_64
        –> Running transaction check
        —> Package vlc-core.x86_64 1:2.2.4-3.el7 will be installed
        –> Processing Dependency: libx265.so.95()(64bit) for package: 1:vlc-core-2.2.4-3.el7.x86_64
        –> Finished Dependency Resolution
        Error: Package: 1:vlc-core-2.2.4-3.el7.x86_64 (epel-HandBrake)
        Requires: libx265.so.95()(64bit)

        Do you know which repos might be causing the problem?

        Thanks for your help!

    1. Sure, just remember it’s untested by me and it’s not compatible with the multimedia repository as newer drivers are already in there.

  19. Hi,

    I am unable to make this work to decrypt AACS Blurays. This is the kind of errors I get:

    MakeMKV v1.10.2 linux(x64-release) started
    Debug logging enabled, log will be saved as /home/kodi/MakeMKV_log.txt
    Backing up disc into folder “/home/kodi/Videos/backup/BATMAN FOREVER”
    Error ‘Scsi error – ILLEGAL REQUEST:COPY PROTECTION KEY EXCHANGE FAILURE – AUTHENTICATION FAILURE’ occurred while issuing SCSI command A40..002000800 to device ‘SG:dev_11:0’
    DEBUG: Code 0 at uA5w0Bqd=Ws}T7eI,E:121262647
    Error ‘Scsi error – ILLEGAL REQUEST:COPY PROTECTION KEY EXCHANGE FAILURE – AUTHENTICATION FAILURE’ occurred while issuing SCSI command A40..002000800 to device ‘SG:dev_11:0’
    DEBUG: Code 1 at uA5w0Bqd=Ws}T7eI,E:121262647
    Error ‘Scsi error – ILLEGAL REQUEST:COPY PROTECTION KEY EXCHANGE FAILURE – AUTHENTICATION

    Drive Information
    OS device name: /dev/sr0
    Current profile: BD-ROM
    Manufacturer: PIONEER
    Product: BD-RW BDR-205
    Revision: 1.02
    Serial number: JADL275856WL
    Firmware details: intf=SAT gen=1014 krnl=GENE main=GENE ver=0002
    Firmware date: 2009-08-25
    Highest AACS version: 61

    Disc Information
    Label: BATMAN FOREVER
    Timestamp: 2008-07-08 12:13:16
    Data capacity: 35.37 Gb
    Disc type: BD-ROM
    Number of layers: 2
    Channel bit length: 74,5 nm (25.0 GB max. per layer)

    Drive AACS version is now 61, but MakeMKV should support upto version 62 as I understand it. Any idea?

    At first I thought this was related to

    https://bugzilla.redhat.com/show_bug.cgi?id=1042715

    but it says here that MakeMKV on fedora is compiled with its own version of OpenSSL.

  20. Please, do you still suggest to install rpmfusion repos beside your multimedia one? I can’t see any mention in the instructions. Also: is anything affected by the new choice in Fedora 25 of including mp3 support

        1. You’re mixing up things. Why did you report about CUDA packages from Nvidia to HandBrake? What kind of answer would you expect?
          Anyway, CUDA packages are not pulled in unless you install cuda or cuda-devel and they have nothing to do with HandBrake.

          Having said that, if you plan to use CUDA on your system along with the multimedia repository you should read the documentation I wrote and use only the packages from there for both multimedia and CUDA purposes.

          http://negativo17.org/nvidia-driver/
          http://negativo17.org/HandBrake/

          1. Well, I expected to have only HandBrake in the fedora-HandBrake repository. It has worked great this far. But couple of weeks ago I needed to start working with Python Theano with GPU, and it needed cuda-packages, which I got by installing the nVidia cuda-repository.

            Everything was OK, until I did the usual “yum -y update” and the system got broken because it installed cuda-packages from fedora-HandBrake repository, which I did not expect. I think it also installed the incompatible akmod for nvidia? At least the /lib64/libGL.so* libraries went missing because the incompatible libglvnd package and GNOME refused to start.

            After 5 hours of debugging I found out what was the problem. It was abit difficult when only Linux console was working without X. So I quickly just wanted to report the problem and I thought at first fedora-HandBrake-repo was provided by HandBrake team, before I was corrected. If someone else hits this problem, it is useful if Google finds something about it, so I do not regret I posted it there in the HandBrake forum, where I also explained it is not a HandBrake bug.

            But, is it necessary to have cuda packages in http://negativo17.org/repos/HandBrake ? Couldn’t there be just own fedora-cuda-negativo17 repository for those?

            If I have time later, I may experiment how to get python Theano working with the cuda packages you provide, but right now I just cannot afford to fix something which already works.

          2. I have installed HandBrake-repositor, I do not even remember when, years ago? Do not actively follow what happens in negativo17 site and didn’t notice then months/years ago also cuda, ndvidia akmods and 3D-libraries are involved with fedora-HandBrake repository.

            So when system got broken, I was long puzzled what just happened, before I realized there had come incompatible packages from fedora-HandBrake, which I had forgotten long ago I had. Use HandBrake only seldom but would be nice to have it automatically updated.

            Maybe you expect, if someone installs HandBrake-repository, ze also monitors and follows regularly neativo17.org posts. My mistake then, sorry.

          3. Anyway, if you need Nvidia drivers (DKMS), CUDA and HandBrake, just add the repository and:

            dnf install nvidia-driver-cuda dkms-nvidia kernel-devel cuda-devel HandBrake-gui

            You should be good to go. If you have already the Nvidia CUDA repository installed, an upgrade should just succeed, if not please report at Github (https://github.com/negativo17/cuda).

            The only change you would require for your CUDA programs is that the headers are now at /usr/include/cuda and the CUDA_ROOT is at /usr. There’s an environment file in /etc/profile.d/ if you need adjustments.

  21. Hi, both your repos and your blog are pretty popular. For example this multimedia post has comments from back to 2013.. perhaps you would like to consider to invert the order of the comments by date, placing the newer on top? just saying

    1. So, the 340 driver repository is there but maintained only with feedback from users, as I don’t have any system supported by the 340 GPUs. That’s why is not advertised anywhere.
      I guess you should use that standalone.. or even better it’s time to retire it for good.

  22. Looks like this was the cause (also for the mpv error I mentioned in one of my previous comments). I’ve found the libOpenCL.so.1()(64bit) provides also in ocl-icd (I don’t have the slightest idea what it should do), installed it instead of the fglrx things and after restart all seems to work again.

    Thanks for help, Martin

    1. Exactly, ocl-icd is what should be installed in your system. Any other replacement should not provide libOpenCL.so.1.
      Assuming the “elrepo” repository is called “elrepo”, can you do the following and check if there is any leftover from ElRepo?

      package-cleanup --disablerepo=elrepo --orphans
  23. CentOS-7 here.

    I’m having trouble with anything GL based:
    # glxinfo
    name of display: :0.0
    Xlib: extension “GLX” missing on display “:0.0”.
    Xlib: extension “GLX” missing on display “:0.0”.
    Segmentation fault

    The problem is IMHO this (not libGL.so.1):
    # ldd /usr/bin/glxinfo
    linux-vdso.so.1 => (0x00007ffd181df000)
    libGL.so.1 => /usr/lib64/fglrx/libGL.so.1 (0x00007fc9fb6d8000)
    libX11.so.6 => /lib64/libX11.so.6 (0x00007fc9fb39a000)
    libc.so.6 => /lib64/libc.so.6 (0x00007fc9fafd7000)
    libpthread.so.0 => /lib64/libpthread.so.0 (0x00007fc9fadbb000)
    libXext.so.6 => /lib64/libXext.so.6 (0x00007fc9faba9000)
    libxcb.so.1 => /lib64/libxcb.so.1 (0x00007fc9fa986000)
    libdl.so.2 => /lib64/libdl.so.2 (0x00007fc9fa782000)
    /lib64/ld-linux-x86-64.so.2 (0x00007fc9fb907000)
    libXau.so.6 => /lib64/libXau.so.6 (0x00007fc9fa57e000)

    I do have an Intel card though. And I cannot remove the offending library, because of this:
    # rpm -e fglrx-x11-drv
    error: Failed dependencies:
    fglrx-x11-drv = 15.12 is needed by (installed) kmod-fglrx-15.12-3.el7.elrepo.x86_64
    libOpenCL.so.1()(64bit) is needed by (installed) ffmpeg-libs-1:2.8.8-3.el7.x86_64
    libOpenCL.so.1()(64bit) is needed by (installed) ffmpeg-1:2.8.8-3.el7.x86_64
    libOpenCL.so.1(OPENCL_1.0)(64bit) is needed by (installed) ffmpeg-libs-1:2.8.8-3.el7.x86_64
    libOpenCL.so.1(OPENCL_1.0)(64bit) is needed by (installed) ffmpeg-1:2.8.8-3.el7.x86_64

    Any pointers what should I do?

    Thanks,
    Martin

        1. It seems fglrx-x11-drv provides libOpenCL. It should not. You should try to force remove it:

          rpm -e --nodeps fglrx-x11-drv kmod-fglrx
  24. Just installed F25, tried to install handbrake, however DNF did not let me finish the install:

    rror: Transaction check error:
    file /usr/lib64/libBasicUsageEnvironment.so.1.0.0 from install of live555-libs-2016.07.19-1.fc25.x86_64 conflicts with file from package live555-2016.10.21-1.fc25.x86_64
    file /usr/lib64/libUsageEnvironment.so.3.1.0 from install of live555-libs-2016.07.19-1.fc25.x86_64 conflicts with file from package live555-2016.10.21-1.fc25.x86_64
    file /usr/lib64/libgroupsock.so.8 from install of live555-libs-2016.07.19-1.fc25.x86_64 conflicts with file from package live555-2016.10.21-1.fc25.x86_64

  25. Hello, I followed the instructions for install Cuda and Nvidia drivers from your Nvidia repo on Fedora 25. I’m now trying to use blender-cuda but it is unable to compile the cuda kernels:

    `read blend: /home/tbruno/Downloads/BMW27.blend
    skipping driver ‘100*power’, automatic scripts are disabled
    skipping driver ’90*brake’, automatic scripts are disabled
    skipping driver ‘-100*power’, automatic scripts are disabled
    skipping driver ‘-90*brake’, automatic scripts are disabled
    skipping driver ‘100*power’, automatic scripts are disabled
    skipping driver ‘-90*brake’, automatic scripts are disabled
    skipping driver ’90*brake’, automatic scripts are disabled
    skipping driver ‘-100*power’, automatic scripts are disabled
    Compiling CUDA kernel …
    “nvcc” -arch=sm_61 –cubin “/usr/share/blender/scripts/addons/cycles/kernel/kernels/cuda/kernel.cu” -o “/home/tbruno/.config/blender/2.78/cache/cycles_kernel_sm61_B7B007B83147D562416B0F226D786967.cubin” -m64 –ptxas-options=”-v” –use_fast_math -DNVCC -D__KERNEL_CUDA_VERSION__=80 -I”/usr/share/blender/scripts/addons/cycles/kernel”
    cc1plus: fatal error: cuda_runtime.h: No such file or directory
    compilation terminated.
    CUDA kernel compilation failed, see console for details.`

      1. yes, that is the blender-cuda that I am using from your repo. It turns out that I think cuda and cuda-devel from your fedora-nvidia isn’t working right. I tried to compile a small hello world cuda app and nvcc reports cuda_runtime.h cannot be found.

        1. As I said, please look at the various spec files or what is installed in your system:

          $ rpm -ql cuda-cudart-devel | grep cuda_runtime
          /usr/include/cuda/cuda_runtime.h
          /usr/include/cuda/cuda_runtime_api.h

          You’re simply assuming that headers are in /usr/include. If you look at the packages, all the headers you need are in /usr/include/cuda.

          https://github.com/negativo17/blender/blob/master/blender-2.78-cuda.patch#L20
          https://github.com/negativo17/ffmpeg/blob/master/ffmpeg.spec#L201

          1. I don’t understand your suggestion. All I have done is enabled all your repos and install the software from them. This is the blender-cuda package that you provide along with your fedora-nvidia repo. I just tried it on a clean fresh install of Fedora 25 and I hit the same issues. here is the full log of what I have done on this fresh install:


            [tbruno@localhost ~]$ sudo dnf config-manager --add-repo=http://negativo17.org/repos/fedora-handbrake.repo
            [tbruno@localhost ~]$ sudo dnf config-manager --add-repo=http://negativo17.org/repos/fedora-nvidia.repo
            [tbruno@localhost ~]$ sudo dnf groupinstall "C Development Tools and Libraries" "Development Tools"
            [tbruno@localhost ~]$ sudo dnf install nvidia-settings kernel-devel dkms-nvidia vulkan.i686 nvidia-driver-libs.i686
            [tbruno@localhost ~]$ sudo dnf install cuda-* nvidia-driver-cuda nvidia-driver-cuda-libs nvidia-driver-devel
            [tbruno@localhost ~]$ sudo reboot
            [tbruno@localhost ~]$ sudo dnf install blender-cuda
            [tbruno@localhost ~]$ rpm -ql cuda-cudart-devel | grep cuda_runtime
            /usr/include/cuda/cuda_runtime.h
            /usr/include/cuda/cuda_runtime_api.h
            [tbruno@localhost ~]$ blender

            trying to save userpref at /home/tbruno/.config/blender/2.78/config/userpref.blend ok
            read blend: /home/tbruno/Downloads/BMW27.blend
            skipping driver '100*power', automatic scripts are disabled
            skipping driver '-90*brake', automatic scripts are disabled
            skipping driver '-100*power', automatic scripts are disabled
            skipping driver '90*brake', automatic scripts are disabled
            skipping driver '-90*brake', automatic scripts are disabled
            skipping driver '100*power', automatic scripts are disabled
            skipping driver '90*brake', automatic scripts are disabled
            skipping driver '-100*power', automatic scripts are disabled
            Compiling CUDA kernel ...
            "nvcc" -arch=sm_61 --cubin "/usr/share/blender/scripts/addons/cycles/kernel/kernels/cuda/kernel.cu" -o "/home/tbruno/.config/blender/2.78/cache/cycles_kernel_sm61_B7B007B83147D562416B0F226D786967.cubin" -m64 --ptxas-options="-v" --use_fast_math -DNVCC -D__KERNEL_CUDA_VERSION__=80 -I"/usr/share/blender/scripts/addons/cycles/kernel"
            cc1plus: fatal error: cuda_runtime.h: No such file or directory
            compilation terminated.
            CUDA kernel compilation failed, see console for details.

          2. I had to do 2 things to get blender-cuda to work. Set a global

            export CPLUS_INCLUDE_PATH=.:/usr/include/cuda

            and I had to install scl’s devtoolset-4-gcc-c++ because Fedora 25’s gcc compiler is unable to produce cuda builds with this current version.

            I then had to run blender from that devtoolset-4 shell so blender could compile the cuda code.

          3. I’m personally not building anything. All I did was install your package and then I opened blender. I then went to File->User Preferences ->System->Compute Device (at the bottom left). and choose CUDA. Then I saved user settings, and opened BMW27.blend to do a benchmark and hit F12.

            After hitting F12 to render the scene Blender reports that the render failed and to check the console. I captured the console output and pasted it above.

            If you provided the kernels I have no idea why it thinks it needs to rebuild them. It would be super helpful if it didn’t! 🙂

          4. Ok, so the issue is that the Blender build is for CUDA 7.5 and not 8 and you are using an architecture (sm_xx*) that is not in the build. I’m struggling a bit to make Blender 2.78a compile with CUDA 8 and GCC, before resorting to gcc 5.x I would like to see if there are some compiler flags I can pass.

          5. I just read your blog post about blender and cuda 7.5. I am sorry to have wasted your time if this is the problem but I have a Nvidia GTX 1080.

          6. Hi, I just pushed another Blender 2.78a build with CUDA 8 enabled, that as such contains also the CUDA kernel for the GTX 1080.
            The trick was to compile only the CUDA kernels with Clang instead of GCC. This way you can have a supported CUDA 8 compiler that is already in Fedora as a build requirement. It also does not add any additional runtime requirements; unlike another GCC version used for both parts.

            It works for me, but can you make a test?
            In total you just need to install:

            nvidia-driver-cuda dkms-nvidia kernel-devel blender-cuda

            Make sure to reboot so the nvidia-uvm module is loaded.

          7. Could you give me a glimpse on how to build with CLANG, cpyrit-cuda (Cuda backend for pyrit password cracker) won’t compile on fedora25, so pyrit will be stuck on CPU not GPU.

            I’m gettinc several errors when trying to compile for cuda8+fedora25 with GCC, and cannot manage it to switch to CLANG-

          8. Sorry for my late reply. I was able to test this today and it worked great! Thanks for all the good work!

  26. Hi,

    thank you for this repository, it’s first one that has working vaapi for me 😉 Unfortunately, your mpv build has runtime deps on ffmpeg stuff (so dnf/yum upgrade does not notice api/abi changed), but that’s only a small issue. The more important one is that mpv crashes on me with opengl and opengl-hq video output and freezes the used terminal input. Any idea where this might come from?

    [vo/opengl/x11] X11 error: GLXBadContext
    [vo/opengl/x11] Type: 0, display: 0x7f998c373b00, resourceid: 7400003, serial: 37
    [vo/opengl/x11] Error code: a7, request code: 99, minor code: 5
    [vo/opengl] Could not set GLX context!
    [vo/opengl/x11] X11 error: GLXBadContext
    [vo/opengl/x11] Type: 0, display: 0x7f998c373b00, resourceid: 7400004, serial: 3b
    [vo/opengl/x11] Error code: a7, request code: 99, minor code: 5
    [vo/opengl] Could not set GLX context!
    [vo/opengl/x11] X11 error: GLXBadContext
    [vo/opengl/x11] Type: 0, display: 0x7f998c373b00, resourceid: 7400005, serial: 3f
    [vo/opengl/x11] Error code: a7, request code: 99, minor code: 5
    [vo/opengl] Could not set GLX context!
    [vo/opengl/x11] X11 error: GLXBadContext
    [vo/opengl/x11] Type: 0, display: 0x7f998c373b00, resourceid: 7400006, serial: 43
    [vo/opengl/x11] Error code: a7, request code: 99, minor code: 5
    [vo/opengl] Could not set GLX context!
    [vo/opengl/x11] X11 error: GLXBadContext
    [vo/opengl/x11] Type: 0, display: 0x7f998c373b00, resourceid: 7400006, serial: 44
    [vo/opengl/x11] Error code: a7, request code: 99, minor code: 4
    [vo/opengl/x11] X11 error: BadValue (integer parameter out of range for operation)
    [vo/opengl/x11] Type: 0, display: 0x7f998c373b00, resourceid: 0, serial: 45
    [vo/opengl/x11] Error code: 2, request code: 99, minor code: 3
    [vo/opengl/x11] X11 error: GLXBadContext
    [vo/opengl/x11] Type: 0, display: 0x7f998c373b00, resourceid: 7400007, serial: 47
    [vo/opengl/x11] Error code: a7, request code: 99, minor code: 5
    [vo/opengl] Could not set GLX context!
    X Error of failed request: GLXBadContext
    Major opcode of failed request: 153 (GLX)
    Minor opcode of failed request: 4 (X_GLXDestroyContext)
    Serial number of failed request: 72
    Current serial number in output stream: 7

    I’m on CentOS 7 and have also NUX Dextop repo enabled.

    Thanks

    1. I’m just uploading new builds and versions with quite a few changes, please test when they are available.
      I’m preparing the blog post now as it contains substantial differences.

  27. The avidemux conflict issue that MASHtm mentioned back on March 31, 2016 bears revisiting, I think. The problem is that the latest negativo17 x265-libs is incompatible with rpmfusion’s avidemux (whereas the previous x265-libs-1.9-1.fc24.x86_64 caused no rpmfusion conflicts), and as the rpmfusion x265-libs is incompatible with negativo17 packages there’s no dependency solution that eliminates all conflicts.

    So, on my F24 box with negativo17 installed, every upgrade run results in a bunch of skipped packages (ultimately due to having rpmfusion avidemux-qt installed) and I’m stuck at the previous negativo17 versions:

    % sudo dnf install HandBrake-gui --allowerasing
    Installing:
     HandBrake-gui x86_64 1.0-30.20161006git88807bb.fc24     fedora-HandBrake 9.1 M
     aribb25       x86_64 0.2.7-1.fc24                       fedora-HandBrake  36 k
     gstreamer1-plugins-bad
                   x86_64 1:1.8.3-2.fc24                     fedora-HandBrake 2.2 M
         replacing  gstreamer1-plugin-openh264.x86_64 1.6.1-2.fc24
         replacing  gstreamer1-plugins-bad-free.x86_64 1.8.3-1.fc24
         replacing  gstreamer1-plugins-bad-freeworld.x86_64 1.8.2-1.fc24
     kvazaar-libs  x86_64 0.8.3-1.fc24                       fedora-HandBrake 172 k
     libde265      x86_64 1.0.2-3.503af19.fc24               fedora-HandBrake 290 k
     libdvdcss     x86_64 1.4.0-1.fc24                       fedora-HandBrake  69 k
     libfdk-aac    x86_64 1:0.1.5-6.20160924gitcb57d89.fc24  fedora-HandBrake 389 k
     libmfx        x86_64 1.16-1.20160317git7adf2e4.fc24     updates           33 k
     libvo-aacenc  x86_64 0.1.3-1.fc24                       fedora-HandBrake  77 k
     qt5-qtwayland x86_64 5.6.1-1.fc24                       updates          561 k
     spandsp       x86_64 0.0.6-0.15.pre21.fc24              fedora           294 k
    Upgrading:
     ffmpeg        x86_64 1:3.1.5-1.fc24                     fedora-HandBrake 1.4 M
     ffmpeg-devel  x86_64 1:3.1.5-1.fc24                     fedora-HandBrake 708 k
     ffmpeg-libs   x86_64 1:3.1.5-1.fc24                     fedora-HandBrake 6.1 M
     libavdevice   x86_64 1:3.1.5-1.fc24                     fedora-HandBrake  65 k
     vlc           x86_64 1:3.0.0-8.20161012git756dbb7.fc24  fedora-HandBrake 1.4 M
     vlc-core      x86_64 1:3.0.0-8.20161012git756dbb7.fc24  fedora-HandBrake 8.6 M
     x265-devel    x86_64 1:2.1-2.fc24                       fedora-HandBrake  79 k
     x265-libs     x86_64 1:2.1-2.fc24                       fedora-HandBrake 1.6 M
    Removing:
     avidemux-qt   x86_64 2.6.12-6.fc24                      @rpmfusion-free-updates
                                                                              3.9 M

    Whereas, on my other box with rpmfusion avidemux installed but no negativo17, installing and enabling the fedora-HandBrake repo results in those same skipped packages on upgrade attempt, and because the versions currently installed are the rpmfusion packages, negativo17 HandBrake can’t be installed at all unless rpmfusion avidemux-qt is removed from the system:
    % sudo dnf install HandBrake-gui
    Last metadata expiration check: 0:21:04 ago on Sun Oct 30 19:41:48 2016.
    Error: package HandBrake-gui-1.0-30.20161006git88807bb.fc24.x86_64 requires libx
    265.so.95()(64bit), but none of the providers can be installed

    % sudo dnf install HandBrake-gui --allowerasing
    Installing:
     HandBrake-gui x86_64 1.0-30.20161006git88807bb.fc24     fedora-HandBrake 9.1 M
     aribb25       x86_64 0.2.7-1.fc24                       fedora-HandBrake  36 k
     gstreamer1-plugins-bad
                   x86_64 1:1.8.3-2.fc24                     fedora-HandBrake 2.2 M
         replacing  gstreamer1-plugin-openh264.x86_64 1.6.1-2.fc24
         replacing  gstreamer1-plugins-bad-free.x86_64 1.8.3-1.fc24
         replacing  gstreamer1-plugins-bad-freeworld.x86_64 1.8.2-1.fc24
     kvazaar-libs  x86_64 0.8.3-1.fc24                       fedora-HandBrake 172 k
     libde265      x86_64 1.0.2-3.503af19.fc24               fedora-HandBrake 290 k
     libdvdcss     x86_64 1.4.0-1.fc24                       fedora-HandBrake  69 k
     libfdk-aac    x86_64 1:0.1.5-6.20160924gitcb57d89.fc24  fedora-HandBrake 389 k
     libmfx        x86_64 1.16-1.20160317git7adf2e4.fc24     updates           33 k
     libvo-aacenc  x86_64 0.1.3-1.fc24                       fedora-HandBrake  77 k
     qt5-qtwayland x86_64 5.6.1-1.fc24                       updates          561 k
     spandsp       x86_64 0.0.6-0.15.pre21.fc24              fedora           294 k
    Upgrading:
     ffmpeg        x86_64 1:3.1.5-1.fc24                     fedora-HandBrake 1.4 M
     ffmpeg-devel  x86_64 1:3.1.5-1.fc24                     fedora-HandBrake 708 k
     ffmpeg-libs   x86_64 1:3.1.5-1.fc24                     fedora-HandBrake 6.1 M
     libavdevice   x86_64 1:3.1.5-1.fc24                     fedora-HandBrake  65 k
     vlc           x86_64 1:3.0.0-8.20161012git756dbb7.fc24  fedora-HandBrake 1.4 M
     vlc-core      x86_64 1:3.0.0-8.20161012git756dbb7.fc24  fedora-HandBrake 8.6 M
     x265-devel    x86_64 1:2.1-2.fc24                       fedora-HandBrake  79 k
     x265-libs     x86_64 1:2.1-2.fc24                       fedora-HandBrake 1.6 M
    Removing:
     avidemux-qt   x86_64 2.6.12-6.fc24                      @rpmfusion-free-updates
                                                                              3.9 M
    1. I’m just uploading new builds and versions with quite a few changes that include also an Avidemux build contains also support for NVENC and some other changes.
      I’m preparing the blog post now as it contains substantial differences. Please test when they are available.

  28. hi, you don’t provide instruction about how to install Gstreamer1.. is it on purpose because it gets pulled automatically or could you please provide a command for the newbies out there? Many thanks

    1. The instructions are in the Multimedia repository page. If you have them installed, they will get updated.
      They are pulled in as dependencies if other packages require them; but they are usually a leaf package.

Leave a Reply