A guide on how to install DaVinci Resolve on CentOS Linux

Project maintained by sethgoldin Hosted on GitHub Pages — Theme by mattgraham

How to install DaVinci Resolve on CentOS

Here are some notes on how to install DaVinci Resolve on CentOS 7.6. Though Blackmagic Design distributes a build of CentOS that’s pre-installed with DaVinci Resolve and some other software required for DaVinci Resolve to run, Blackmagic Design’s build can’t be used to create a bootable USB drive—it can only be used to create a DVD. Upstream builds of “generic” CentOS straight from the CentOS project suffer no such limitation.

Because software is constantly changing, this document is hosted on GitHub Pages. If you find something wrong or outdated, please do open a pull request.

These particular notes were originally worked out from installations to multiple HP Z8 G4 workstations with single GTX 1080 Ti cards installed, but the information should be useful for other x86_64 systems as well.

  1. Create a bootable USB drive
    1. On Windows:
      1. Download DVD ISO
      2. Verify the download
      3. Download and use Rufus to create the bootable USB drive
    2. On Mac or Linux:
      1. Download DVD ISO
      2. Verify the download
      3. Use dd to create the bootable USB drive
  2. UEFI settings
    1. Set to boot to a USB drive first
    2. Disable Secure Boot and disable Legacy BIOS mode
  3. Install CentOS from USB
    1. Include only GNOME Desktop
    2. Set up DHCP
    3. Set password for root account and create just one administrator account
    4. It’s possible that the CentOS installer will not show a mouse or will display windows strangely. It might be necessary to install via the “simple graphical interface” under the “rescue” GRUB option. Later, once system is installed with the GUI up and running, you’ll want to set GNOME to start automatically at boot.
  4. CentOS’s installation interacts with HP’s UEFI in such a way as to change the boot order, so reboot, and you’ll boot to the M.2 SSD with the fresh installation
    1. Reboot and you’ll boot into the M.2 SSD with the fresh installation
    2. Accept the CentOS license
    3. You can then safely eject the USB installation disk
  5. Install CentOS updates and reboot
  6. Install the kernel source:

    $ sudo yum install "kernel-devel-uname-r == $(uname -r)"

  7. Install EPEL

    $ sudo yum install

  8. Install DKMS

    $ sudo yum install dkms

  9. Install ELRepo
    1. Import the GPG key:

      $ sudo rpm --import

    2. Install for CentOS 7:

      $ sudo rpm -Uvh

  10. Installing EPEL should have downloaded and installed gcc, but just in case, make sure:

    $ sudo yum install gcc

  11. Install NVIDIA driver from ElRepo:

    $ sudo yum install kmod-nvidia-390xx.x86_64

    Then, reboot.

  12. Download and install the latest DeckLink driver

    1. Download the latest driver from the Blackmagic Design website
    2. Become the root user:

      $ su -

      When prompted, enter your root user’s password.

    3. If you already have an older DeckLink driver installed, uninstall it:

      # rpm -qa | grep desktopvideo | xargs rpm -e

    4. If GNOME didn’t uncompress it for you already, uncompress the downloaded driver package:

      # tar xvfz /path/to/downloaded/driver/location/Blackmagic_Desktop_Video_Linux_<driver_version>.tar.gz

    5. cd into the rpm folder, since this is CentOS

      # cd /Blackmagic_Desktop_Video_Linux_<driver_version>/rpm/<yourarchitecture>

    6. Install the latest Desktop Video driver, GUI, and Media Express. Type:

      1. # rpm -ivh desktopvideo-<driver_version>.x86_64.rpm

      2. # rpm -ivh desktopvideo-gui-<driver_version>.x86_64.rpm

      3. # rpm -ivh mediaexpress-<version>.x86_64.rpm

        1. The installer might fail and tell you that you mediaexpress needs, so install libGLU and try again:

          # yum install mesa-libGLU

    7. After the installation completes, you should see the terminal prompt. Reboot.
    8. After the machine has rebooted, open a Terminal shell again
    9. Become the root user again:

      $ su -

      When prompted, please enter your root user’s password

    10. You might need to update the firmware on your DeckLink card. Type:

      # BlackmagicFirmwareUpdater update 0

    11. If a firmware update was applied, reboot the machine after it completes. If no firmware update was required, a reboot is not necessary.
  13. Install DaVinci Resolve
    1. Download and extract (if you have a DaVinci Resolve license dongle or key) or from the Blackmagic Design website.
    2. Double-click the .run file to use the GUI installer
    3. Resolve might not launch after the installation–if you run it via the command-line from /opt/resolve/bin/, you can look for clues as to why it might not be able to launch. If some program is missing, try figuring out what Resolve needs and install via yum.
  14. [OPTIONAL] Install and configure PostgreSQL 9.5. If you just want to use a local disk database, you’re all set. However, if you want use a local PostgreSQL database, or if you want to use this particular workstation as a PostgreSQL server for other Resolve workstations on your network, follow the additional steps below.
    1. Install the repository RPM:

      $ sudo yum install yum install

    2. Install the client packages:

      $ sudo yum install postgresql95

    3. Install the server packages:

      $ sudo yum install postgresql95-server

    4. Initialize the database and enable automatic start:

       $ sudo /usr/pgsql-9.5/bin/postgresql95-setup initdb
       $ sudo systemctl enable postgresql-9.5
       $ sudo systemctl start postgresql-9.5
    5. Set up a static IP address:
      1. Run either $ ifconfig a or $ ip ato view the name of the connected ethernet device.
      2. vi into /etc/sysconfig/network-scripts/ifcfg-<yourinterfacename>.
      3. Modify the specific parameters:

         # Here, after the =, you can enter whatever you had previously with DHCP, since we know that the address assigned via DHCP worked
         # Here's the subnet mask. Mine is, but your network might be different
         # This one is going to depend on your particular router. Check your router
         # This will depend on your ISP. Since mine is Comcast, I use
         # Disable IPv6
         # Activate on Boot
      4. Restart the network service for these changes to take effect.

        $ sudo systemctl restart network

      5. Configure PostgreSQL for sharing by configuring the pg_hba.conf file:
        1. Become the postgres superuser:

          $ sudo su - postgres

        2. From /var/lib/pgsql/, cd into /var/lib/pgsql/9.5/data:

          # cd 9.5/data/

          If you check # pwd, you’ll see that you’re in /var/lib/pgsql/9.5/data.

        3. Make a copy of pg_hba.conf, just in case anything goes wrong:

          # cp pg_hba.conf pg_hba.conf.backup

        4. vi into pg_hba.conf and modify it so as to enable sharing by adding in this line to the very bottom of the file:

          host all all <your workstation's static IP>/24 md5

      6. Modify postgresql.conf to allow incoming TCP/IP sockets:

        1. vi into /var/lib/pgsql/9.5/data/postgresql.conf
        2. Scroll all the way to the bottom, and add the uncommented line:

          listen_addresses = '*'

      7. Assign a default password of DaVinci to the postgres user account
        1. Enter the psql shell:

          # psql

        2. Create a password for the user postgres by entering:


        3. Enter DaVinci. The psql shell will prompt you to reenter the password to confirm that you’ve typed it correctly.
        4. You can then exit the psql shell by entering \q.
        5. You can then exit from being the postgres superuser and get back to your regular user account by entering exit.
      8. Disable and stop the default CentOS firewall:

         $ sudo systemctl disable firewalld
         $ sudo systemctl stop firewalld

        Reboot the system.

      9. Verify that the PostgreSQL server is running properly:
        1. Enter:

          cat /etc/services | grep 5432

        You should see:

         postgres     5432/tcp     postgresql     # POSTGRES
         postgres     5432/udp     postgresql     # POSTGRES

        This means that PostgreSQL is good to go through port 5432.

      10. You can also check:

        $ netstat -tulpn | grep 5432

        Which should show that is good to go for TCP.

      11. Enter:

        $ service postgresql-9.5 status

        Here you’ll see some information about how TCP connections are listening through port 5432, with IPv4 IP addresses:

         ```tcp     0     0*     LISTEN```
    6. If you’re going to be performing serious work with PostgreSQL databases, make sure that you back up and optimize the databases regularly, which can be done automatically.