Select Page

Using DaVinci Resolve 15 on Ubuntu

Default Experience

If you’re like me, you’ve been on a quest to find the best video editing software that you can run on your Ubuntu Linux PC build. If you’ve been in the video world for any amount of time, you’ll probably know that Resolve 15 is arguably one of the most robust tools in the industry. Here’s my experience on running DaVinci Resolve 15 on Ubuntu 18.04

After the initial install, everything seemed to have went fine, but when I clicked the new icon in my application tray… nothing happened. After a few more clicks, I uninstalled it and went on with my life. A few months later, DaVinci Resolve came up in conversation when talking about postproduction solutions for Linux. So I decided to give it another shot. Same issue.

Unfortunately, in Linux_Installation_Instructions.PDF there is literally nothing telling you that you should install dependencies. I ended up finding the required dependencies somewhere online.

Install Dependencies:

sudo apt install libssl1.0.0 ocl-icd-opencl-dev fakeroot

After that simple line in the terminal, Resolve fired right up in Ubuntu 18.04 On to the next hurdle: limited file type imports.

Convert footage using FFMPEG.

Only some file types work with Davinci Resolve 15. The ones I’ve tested that work are:

  • Apple ProRes (.mov)
  • Motion JPEG (.mov)

If you can afford the space, I’d choose Apple ProRes before anything else. Unfortunately I haven’t found a way to specify 4:2:2, 4:4:4, or HQ preferences. It’s just ProRes, and from the looks of it, it’s the highest quality possible. You may be able to change this with the -q value. Still testing this.

ffmpeg -i input.mov -vcodec prores -acodec pcm_s24le -max_muxing_queue_size 1024 output.mov

In my 10+ years as a video editing professional, I have never used the motion jpeg codec. However, after running a few tests, playback in Resolve 15 is flawless, and the file size is the same, if not slightly smaller than the original file. My original test file was a Panasonic .MTS file clip at 1.7GB. After the transcode to motion jpeg, the result was 1.6GB, and played perfectly inside Resolve.

The further I tested this transcode setting in ffmpeg, this reduced the file size just a little bit. The biggest clips were originally 4.3GB and the resulting files were hanging out around 2.3GB-2.7GB.

ffmpeg -i input.MTS -vcodec mjpeg -acodec pcm_s24le -max_muxing_queue_size 1024 output.mov

First Paid Project

The only way to truly test if this is a viable alternative to Adobe CC on Mac or Windows is to actually test it on a live project with a real deadline. This may have been unwise, but I found it to be thoroughly worth it. I tried the above ffmpeg commands, only to realize after exporting that the resulting transcodes were sub-par. Pixelated garbage in, pixelated garbage out. So this time I hit up Handbrake. This one got me. Handbrake is essentially ffmpeg under the hood, but it doesn’t offer all the options that the command line does. So my exports out of Handbrake looked great, but there was no audio supported. On Ubuntu, Davinci Resolve only supports PCM audio, and that’s the one thing you can’t kick out of Handbrake (at least from the options I have).

New Plan

The original exports from my ffmpeg commands above looked like garbage, but the audio (pcm_s24le) was supported and sounded fine. So I ended up exporting Mpeg4 video out of Handbrake with no audio. I synced those clips up with the existing PCM audio in Resolve, and everything looked and sounded awesome. Next objective, getting an H.264/AAC file out of the free version of Resolve.

Instead, I exported 20-30 minute bits of my 3 hour long timeline as Quicktime MOV files with MPEG4 codecs. They looked and sounded great, but were a touch big on the file size. Next. I just dropped them in order into Shotcut, and encoded the whole thing as H.264/ACC. Done. So for future reference, it probably wouldn’t hurt to just encode everything as Quicktime ProRes PCM, do my work in Resolve, then export QT ProRes PCM as an intermediate, then concatenate in Shotcut or Kdenlive. Kind of a wonky workaround for now, until I can afford the full version.

Notes about the free version of Resolve 15

The editing capabilities of the free version are quite nice, but they clamp down your options when it comes to exporting. First cheap shot: they don’t support H.264 encoding on export for Ubuntu. And at the time of this writing, DNxHD and DNxHR both cause Resolve to crash upon export. So without H.264 and DNxHD/HR… your export options become extremely limited. This is especially true if you have a long (3 hour) timeline that you need to deliver to a client. So is there a workaround? Fortunately there is one, but it requires a bit of hard drive space, extra time, and some FFMPEG knowledge. First, trying kicking out your timeline with these goofy settings:

I thought a Kakadu was a bird…

Here’s the gigantic and disheartening list of features that they hold back from the free version. Also, here’s another magic setting that seems even smaller than Kakadu:

Project Complete

I eventually exported the video in about 10 different sections, using MPEG4 encoded Quicktime MOV files. Decent quality, and decent file size. I ended up assembling all those color graded and sound-edited files in Shotcut and rendering the H.264 MP4 that I was looking to deliver in the first place. A super wonky workflow, but in hindsight, I think it will be worth picking up a copy of Lightworks for my edit work Resolve Studio for my color work, and cutting audio in Resolve’s Fairlight, or if Fairlight absolutely cannot handle the task at hand, I can always grab a copy of Ardour. Those softwares paired with Blender, Kritia, Inkscape, and GIMP, I don’t think there’s anything I’d be missing from Adobe CC that these platforms can’t provide.

Check out more articles

How to Generate a Ranger Config File

ranger --copy-config=all This will copy all the default config files from /usr/local/lib so you can make edits without messing anything up. Huge shout out to https://dquinton.github.io/debian-install/config/ranger.html for explaining this and so much more. Took me a...

First Open Source Contribution

Surprise! I genuinely did not plan on making my first ever open source contribution today. In fact, I didn't plan on a lot of things happening this week at all. I recently got an awesome opportunity to work on a site that is being hosted on a platform called Pantheon,...

How to Exclude Specific Posts and Pages from WP_QUERY

For the sake of having something to work with, let's suppose we've got the following query:In this query, inside the $args array, there's a special parameter that allows you to exclude specific posts and pages from the query. This parameter is called post__not_in and...

Configure SSH For Password-less Connections

Preamble I'm slightly embarrassed to admit this, but it was a long time before I figured out how amazing this little file is and how exactly to put it to good use. The file I'm talking about is the SSH config file. By default, when you first connect to a server via...

WordPress Site Stuck in Maintenance Mode

Plugin Error Code 500 During Update While I was updating a WordPress plugin locally, something happened on my local server to trigger a 500 error code as the plugin was updating. On the frontend, I refreshed the page and was greeted with "Briefly Unavailable for...

Creating a WordPress Plugin Downloader

How it Started I was recently tasked with the challenge of creating a WordPress theme generator. The idea being, instead of writing your style.css file from scratch, you'd be able to just answer a few simple questions about how you'd like your theme set up, and those...

Fix Audio on XFCE Chromebook

The Problem After moving from GalliumOS to Xubuntu, I noticed that playing YouTube videos on both Firefox and Chromium would result in decent playback for a few minutes, but suddenly the audio would turn into a solid beeping tone while the YouTube video displayed the...

Adjust Trackpad Sensitivity XFCE

xinput set-prop "Elan Touchpad" "Synaptics Finger" 1 1 1 What are the values 1 1 1? This sets the sensitivity as close to the original ChromeOS as possible. Larger numbers will decrease sensitivity of various aspects. I never looked into which individual value...

Fireworks (Short Film)

https://vimeo.com/395077249 About the film Year: 2020 Director/DP: Tim Searfoss Writers: Matt Jones, Tim Searfoss Sound Mix: Matt Jones

Hosting Multiple Sites Using LocalWP

I've done a write-up on hosting local WordPress sites before, but I definitely prefer this method over the previous one. If you've never tried hosting multiple sites using LocalWP, then I'd encourage you to check it out. I've had really bad issues with it in the past,...