DaVinci Resolve: Difference between revisions
SeniorMatt (talk | contribs) Updated the broken link. |
|||
| (12 intermediate revisions by 10 users not shown) | |||
| Line 1: | Line 1: | ||
[https://www.blackmagicdesign.com/products/davinciresolve Black Magic | [https://www.blackmagicdesign.com/products/davinciresolve Black Magic DaVinci Resolve] is a program for video editing, color effects and A/V post production. For FOSS alternatives you might want to look into [https://www.shotcut.org/ Shotcut] and [https://kdenlive.org/ Kdenlive]. | ||
== Installation == | == Installation == | ||
There are [https://github.com/NixOS/nixpkgs/blob/504dc57774510c1213a8a3a04d03048893d8edce/pkgs/by-name/da/davinci-resolve/package.nix#L37 two versions] of [https://www.blackmagicdesign.com/products/davinciresolve Black Magic | There are [https://github.com/NixOS/nixpkgs/blob/504dc57774510c1213a8a3a04d03048893d8edce/pkgs/by-name/da/davinci-resolve/package.nix#L37 two versions] of [https://www.blackmagicdesign.com/products/davinciresolve Black Magic DaVinci Resolve] on NixOS. | ||
* <code>davinci-resolve</code> (the free version) | * <code>davinci-resolve</code> (the free version) | ||
* <code>davinci-resolve-studio</code> (the paid version) | * <code>davinci-resolve-studio</code> (the paid version) | ||
For Linux, | For Linux, DaVinci Resolve Free has [https://www.reddit.com/r/davinciresolve/comments/y4ytkl/why_no_mp4h264_support_on_linux/ only partial h.264 and h.265 support due to licensing restrictions]. AAC audio is also not supported in the Free version. | ||
== Drivers == | == Drivers == | ||
| Line 15: | Line 15: | ||
=== AMD === | === AMD === | ||
There are multiple options to run | There are multiple options to run DaVinci Resolve with AMD cards, but it strongly depends on the generation of your AMD card. Also make sure to read the [[AMD_GPU|AMD GPU page]] (this wiki) and the [https://wiki.archlinux.org/title/DaVinci_Resolve DaVinci Resolve entry on Archwiki]. | ||
{| class="wikitable" | {| class="wikitable" | ||
|+ AMD GPU Compatibility with DaVinci Resolve on Linux | |+ AMD GPU Compatibility with DaVinci Resolve on Linux | ||
| Line 52: | Line 52: | ||
'''Here is a confirmed minimal | '''Here is a confirmed minimal configuration for amdgpu, radeonsi and OpenCL via Mesa (Rusticl):'''<syntaxhighlight lang="nix">{ | ||
config, | |||
lib, | |||
pkgs, | |||
... | |||
}: | |||
{ | { | ||
environment.systemPackages = with pkgs; [ | |||
davinci-resolve | |||
]; | |||
environment.variables = { | |||
RUSTICL_ENABLE = "radeonsi"; | |||
}; | }; | ||
hardware.graphics = { | |||
enable = true; | |||
extraPackages = with pkgs; [ | |||
mesa.opencl # Enables Rusticl (OpenCL) support | |||
]; | |||
}; | |||
}</syntaxhighlight> | |||
} | |||
</syntaxhighlight> | |||
=== Intel === | === Intel === | ||
DaVinci Resolve has partial support for Intel GPUs on Linux. Audio playback works on the Fairlight page, but the video timeline does not work. To add Intel support, add the | DaVinci Resolve has partial support for Intel GPUs on Linux. Audio playback works on the Fairlight page, but the video timeline does not work. To add Intel support, add one of the option to your <code>configuration.nix</code>: | ||
<syntaxhighlight lang="nix"> | <syntaxhighlight lang="nix"> | ||
hardware. | hardware.graphics = { | ||
enable = true; | enable = true; | ||
enable32Bit = true; | |||
extraPackages = with pkgs; [ | extraPackages = with pkgs; [ | ||
intel-compute-runtime | intel-compute-runtime # For Intel 12th Gen and newer | ||
intel-compute-runtime-legacy1 # For Intel Gen 8, 9, 11 | |||
]; | ]; | ||
}; | }; | ||
| Line 114: | Line 90: | ||
== X11 or Wayland == | == X11 or Wayland == | ||
Currently, DaVinci Resolve can not run on native Wayland. This is due to qtwayland version mismatch. See [https://github.com/NixOS/nixpkgs/issues/341634 nixpkgs issue] . | |||
If you want to maximize your chances you can try and start davinci in the following way to check for ROCM or Rusticl support | If you want to maximize your chances you can try and start davinci in the following way to check for ROCM or Rusticl support | ||
| Line 120: | Line 96: | ||
<code>ROC_ENABLE_PRE_VEGA=1 RUSTICL_ENABLE=amdgpu,amdgpu-pro,radv,radeon,radeonsi DRI_PRIME=1 QT_QPA_PLATFORM=xcb davinci-resolve</code> | <code>ROC_ENABLE_PRE_VEGA=1 RUSTICL_ENABLE=amdgpu,amdgpu-pro,radv,radeon,radeonsi DRI_PRIME=1 QT_QPA_PLATFORM=xcb davinci-resolve</code> | ||
== OpenFX Plugins == | |||
The usual install location <code>/usr/OFX/Plugins</code> is not available on NixOS. Fortunately, DaVinci Resolve supports loading OpenFX plugins from locations specified in <code>OFX_PLUGIN_PATH</code>. This environment variable can be configured comfortably by adding the following code listing to the system configuration:<syntaxhighlight lang="nixos"> | |||
environment.variables = { | |||
OFX_PLUGIN_PATH = lib.concatStringsSep ";" [ | |||
# specify plugin packages here | |||
]; | |||
}; | |||
</syntaxhighlight>Plugins usually contain a directory called <code>$PLUGINNAME.ofx.bundle</code> with a <code>.ofx</code> file somewhere inside of it. Since the coercion of a package to a string outputs its store location and the paths specified in the environment variable are traversed recursively, it is not necessary to specify the precise location of the ofx bundle in the nix store. | |||
== Troubleshooting == | == Troubleshooting == | ||
=== Resolve crashes/fails to start === | === Resolve crashes/fails to start === | ||
If it doesn't launch, and crashes when running <code>davinci-resolve</code>, then try running it as root. | If it doesn't launch, and crashes when running <code>davinci-resolve</code>, then try running it as root. | ||
| Line 130: | Line 112: | ||
If you can spot a line similar to <code>Cannot mix incompatible Qt library (5.15.12) with this library (5.15.2)</code>, and have configured QT options in your NixOS configuration (<code>qt.enable = true;</code>), try disabling them. | If you can spot a line similar to <code>Cannot mix incompatible Qt library (5.15.12) with this library (5.15.2)</code>, and have configured QT options in your NixOS configuration (<code>qt.enable = true;</code>), try disabling them. | ||
=== Resolve crashes on Edit/Fusion tab with Intel iGPU === | |||
If you are using <code>intel-compute-runtime-legacy1</code> and DaVinci Resolve crashes whenever you try to switch to Edit or Fusion tab, it indicates the issue with the latest package. If you want to learn more about how to pinning packages works you can read [[FAQ/Pinning Nixpkgs|this article]]. | |||
Here's the solution for [[NixOS system configuration#Defining NixOS as a flake|flake-based]] NixOS system: | |||
{{File|3=inputs = { | |||
nixpkgs-c5ae371f1.url = "github:nixos/nixpkgs/0c3fc1cd3494aa52a2c111d5f18a7689fd15ab83"; # Paste this nixpkgs commit to your Flake's inputs. | |||
}; | |||
outputs = { nixpkgs, ... }@inputs | |||
{ | |||
# Pass it to your configuration.nix via inputs. | |||
};|name=flake.nix|lang=Nix}}{{File|3={ inputs, ... }: | |||
{ | |||
# OpenCL support. | |||
hardware.graphics = { | |||
enable = true; | |||
enable32Bit = true; | |||
extraPackages = | |||
let | |||
pkgs = import inputs.nixpkgs-c5ae371f1 { | |||
system = "x86_64-linux"; | |||
config.allowUnfree = true; | |||
}; | |||
in | |||
[ | |||
pkgs.intel-compute-runtime-legacy1 # Use the latest driver commit that worked with DaVinci Resolve. | |||
]; | |||
}; | |||
}|name=configuration.nix|lang=Nix}} | |||
=== Cannot import video file === | === Cannot import video file === | ||
| Line 145: | Line 158: | ||
If DaVinci Resolve shows a popup asking to review GPU configuration in preferences, and if there is no GPU detected in "Memory and GPU" in preferences, you can try the following in your <code>configuration.nix</code>: | If DaVinci Resolve shows a popup asking to review GPU configuration in preferences, and if there is no GPU detected in "Memory and GPU" in preferences, you can try the following in your <code>configuration.nix</code>: | ||
<syntaxhighlight lang="nix"> | <syntaxhighlight lang="nix">hardware.graphics = { | ||
enable = true; | enable = true; | ||
amdgpu.opencl.enable = true; | |||
};</syntaxhighlight> | |||
}; | [[Category:Applications]] | ||
</syntaxhighlight> | |||