Skip to content

Commit

Permalink
Update resolve guide
Browse files Browse the repository at this point in the history
  • Loading branch information
nalsai committed Sep 3, 2024
1 parent acd17a9 commit 1967d41
Show file tree
Hide file tree
Showing 2 changed files with 67 additions and 38 deletions.
102 changes: 64 additions & 38 deletions content/en/blog/resolve-fedora.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,67 @@
+++
title = "Run Resolve on Fedora or any Linux distro"
description = "How to successfully run DaVinci Resolve on Fedora 40 and any other Linux distro without errors."
title = "Run Resolve on any Linux distro"
description = "How to successfully run DaVinci Resolve on the latest Fedora version or any other Linux distro using distrobox."
tags = [
"Linux",
]
date = 2024-06-19
+++

Note: I only have experience with AMD GPUs. If you have an NVIDIA GPU, you may need some different steps.
Note: I only have experience with AMD GPUs. If you have an NVIDIA GPU, you need to install the NVIDIA OpenCL driver instead of `rocm-opencl` and may need some different steps.
{.alert .alert-info}

## Error: Outdated Library Dependencies

You can use distrobox to run DaVinci Resolve on any Linux distribution. It works like a Docker container with full desktop integration (based on Podman).
Fedora 38 as a base OS works fairly reliably, but you can also use Rocky Linux (the official supported distro).

```sh
# create a Fedora 38 container and enter it
distrobox create distrobox create --name resolve --image registry.fedoraproject.org/fedora:38
distrobox enter resolve

# install dependencies
sudo dnf install alsa-lib apr apr-util fontconfig freetype libglvnd-egl librsvg2 libXcursor libXi libXinerama libxkbcommon-x11 libXrandr libXrender libXtst mtdev pulseaudio-libs mesa-libGLU xcb-util-image xcb-util-keysyms xcb-util-renderutil xcb-util-wm mesa-libGL

# install runtime dependencies (rocm-opencl is only needed for AMD GPUs, for NVIDIA you need the NVIDIA OpenCL driver)
sudo dnf install alsa-plugins-pulseaudio libxcrypt-compat rocm-opencl

# run the DaVinci Resolve installer
chmod +x DaVinci_Resolve_Studio_19.0_Linux.run
./DaVinci_Resolve_Studio_19.0_Linux.run --appimage-extract
sudo SKIP_PACKAGE_CHECK=1 ./squashfs-root/AppRun

# navigate through the installation wizard and then proceed with the following steps

# apply workaround for outdated libraries
sudo mkdir /opt/resolve/libs/disabled
sudo mv /opt/resolve/libs/libglib* /opt/resolve/libs/disabled
sudo mv /opt/resolve/libs/libgio* /opt/resolve/libs/disabled
sudo mv /opt/resolve/libs/libgmodule* /opt/resolve/libs/disabled

# run DaVinci Resolve
/opt/resolve/bin/resolve

# export desktop files
distrobox-export --app resolve
```

Now you can run DaVinci Resolve from your desktop environment or from the terminal.

```sh
distrobox enter resolve
/opt/resolve/bin/resolve
```

---

## Errors and Workarounds

### Error: Outdated Library Dependencies

Error: `symbol lookup error: /lib64/lib*: undefined symbol: *`

DaVinci Resolve is bundled with outdated library dependencies. To run it on Fedora 39 and above, you need to disable the bundled libraries to use the system ones.
DaVinci Resolve is bundled with outdated library dependencies, which may not be compatible with your system libraries.
In this case, you can disable the bundled libraries to make it use the system libraries instead.

```sh
cd /opt/resolve/libs
Expand All @@ -23,7 +71,9 @@ sudo mv libgio* disabled
sudo mv libgmodule* disabled
```

## Error: GPU processing error -1
### Error: GPU processing error -1

(Experienced on Fedora 40)

Error:

Expand All @@ -35,49 +85,25 @@ Error:
Error: Failed to compile source (from CL or HIP source to LLVM IR).
```

This seems to be a bug with path resolution. You can fix it by creating a symlink.
This seems to be a bug with the path being resolved incorrectly. You can fix it by creating a symlink.

```sh
cd /usr/lib64/llvm17/bin/
sudo ln -s /usr/lib/clang/17/include/opencl-c-base.h
```

## How to reliably run DaVinci Resolve on other Distros
---

You can use distrobox to run DaVinci Resolve on any Linux distribution. It works like a Docker container with full desktop integration.
## How to get your media to be compatible

```sh
# fedora 38 doesn't need any workarounds, you can also use the latest fedora version with the workarounds or Rocky Linux, which is the official supported distro
distrobox create distrobox create --name resolve --image registry.fedoraproject.org/fedora:38
distrobox enter resolve

# install dependencies
sudo dnf install alsa-lib apr apr-util fontconfig freetype libglvnd-egl librsvg2 libXcursor libXi libXinerama libxkbcommon-x11 libXrandr libXrender libXtst mtdev pulseaudio-libs mesa-libGLU xcb-util-image xcb-util-keysyms xcb-util-renderutil xcb-util-wm

# install runtime dependencies (rocm-opencl is only needed for AMD GPUs, for NVIDIA you need the NVIDIA OpenCL driver)
sudo dnf install alsa-plugins-pulseaudio libxcrypt-compat rocm-opencl

# run the DaVinci Resolve installer
chmod +x DaVinci_Resolve_Studio_18.6.6_Linux.run
./DaVinci_Resolve_Studio_18.6.6_Linux.run --appimage-extract
sudo SKIP_PACKAGE_CHECK=1 ./squashfs-root/AppRun # on fedora 40, you need to add the SKIP_PACKAGE_CHECK=1 because the version of zlib in fedora 40 is too new

# run DaVinci Resolve
/opt/resolve/bin/resolve

# export desktop files
distrobox-export --app resolve
```

## How to get media to be compatible with the free version of DaVinci Resolve on Linux

You can encode your media to ProRes with PCM audio using ffmpeg. Note that the file size will be large.
If you use the free version of DaVinci Resolve, you may need to encode your media to ProRes with PCM audio for it to be compatible. (Note that the file size will be much larger than the original.)

```sh
ffmpeg -i in.mov -c:v prores_ks -profile:v 3 -qscale:v 9 -c:a pcm_s16le out.mov
```

## Sources
If you use the studio version, you may still need to encode audio but you should be able to use `-c:v copy` to keep the video stream as is. This will save time and disk space.

- <https://discussion.fedoraproject.org/t/howto-davinci-installation-up-to-f40/114020>
- <https://forum.blackmagicdesign.com/viewtopic.php?f=21&t=201680>
```sh
ffmpeg -i in.mov -c:v copy -c:a pcm_s16le out.mov
```
3 changes: 3 additions & 0 deletions hugo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,9 @@ DefaultContentLanguage = "en"
[markup.goldmark]
[markup.goldmark.renderer]
unsafe = true
[markup.goldmark.parser]
[markup.goldmark.parser.attribute]
block = true

[taxonomies]
tag = "tags"
Expand Down

0 comments on commit 1967d41

Please sign in to comment.