DaVinci Resolve: Difference between revisions
(delete a redundancy sentence →Application window misses title bar) |
(→Installation: add additional test information with link to bug report) |
||
(73 intermediate revisions by 21 users not shown) | |||
Line 4: | Line 4: | ||
[[zh-hans:DaVinci Resolve]] | [[zh-hans:DaVinci Resolve]] | ||
[[pl:DaVinci Resolve]] | [[pl:DaVinci Resolve]] | ||
[https://www.blackmagicdesign.com/products/davinciresolve/ Davinci Resolve] is a proprietary video | {{Related articles start}} | ||
{{Related|OpenCL}} | |||
{{Related articles end}} | |||
[https://www.blackmagicdesign.com/products/davinciresolve/ Davinci Resolve] is a proprietary video editing, color grading, color correction, visual effects, motion graphics and audio post-production application. | |||
== Installation == | == Installation == | ||
Both a limited free version and a paid (Studio) version are offered. | |||
For the free version, [[install]] {{AUR|davinci-resolve}} or {{AUR|davinci-resolve-beta}}. | |||
For the free version, [[install]] {{AUR|davinci-resolve}} or {{AUR|davinci-resolve-beta}}. | |||
For the Studio version, install {{AUR|davinci-resolve-studio}} or {{AUR|davinci-resolve-studio-beta}}. | For the Studio version, install {{AUR|davinci-resolve-studio}} or {{AUR|davinci-resolve-studio-beta}}. | ||
To run DaVinci Resolve, it is required to use suitable OpenGL and OpenCL drivers. Open-source OpenCL drivers are currently unsupported | To run DaVinci Resolve, it is required to use suitable OpenGL and OpenCL drivers. Open-source OpenCL drivers are currently unsupported, with the exception of {{Pkg|intel-compute-runtime}} as of 25/08/2023 (check [https://github.com/intel/compute-runtime/issues/659 this issue.] for instructions, you'll have to compile mesa and compute-runtime yourself, and export some envvars). | ||
{| class="wikitable" style="text-align:center" | {| class="wikitable" style="text-align:center" | ||
|+Table of OpenGL drivers | |+Table of OpenGL drivers | ||
|- | |- | ||
! GPU vendor !! | ! GPU vendor !! OpenGL driver !! Open Source !! Documentation !! Tested driver version !! Works with DaVinci Resolve !! Tested DR version !! Notes | ||
|- | |- | ||
! rowspan=" | ! rowspan="2" | AMD | ||
| {{Pkg|mesa}} || {{Yes}} || [[AMDGPU]] || 23.0.2-2 || {{Yes}} || 18.1.4-1 || On pre-Vega GPUs, if using opencl-amd and mesa, DR crashes, see [https://gitlab.freedesktop.org/mesa/mesa/-/issues/6256 this] bug report. You can instead use rocm with {{ic|1=ROC_ENABLE_PRE_VEGA=1}} or use opencl-amd with progl. | |||
Tested with Radeon RX 580. | |||
Tested with Radeon PRO W6600. | |||
|- | |- | ||
| {{AUR|amdgpu-pro-oglp}} || {{No}} || [[AMDGPU PRO]] || 21.10_1247438-1 || {{Yes}} || 17.1.1 || This is required if using ORCA legacy OpenCL driver. Requires running Resolve with the {{ic|progl}} wrapper script. See [[AMDGPU PRO#Using proprietary OpenGL|documentation]] and the [https://github.com/Ashark/archlinux-amdgpu-pro driver github] for usage. | |||
|- | |- | ||
! Intel | ! Intel | ||
| {{Pkg|mesa}} || {{Yes}} || [[Intel graphics]] || 23.1.6 || {{Yes}} || 18.5.1 || Works without issues. | |||
|- | |- | ||
! rowspan="2" | NVIDIA | ! rowspan="2" | NVIDIA | ||
| {{Pkg|mesa}} || {{Yes}} || [[Nouveau]] || || {{No}} || || | |||
|- | |- | ||
| {{Pkg|nvidia-utils}} || {{No}} || [[NVIDIA]] || 460.32.03-1 || {{Yes}} || 17.0b6-1 || Tested on optimus laptop using nvidia-xrun. | |||
|- | |- | ||
|} | |} | ||
Line 40: | Line 46: | ||
{| class="wikitable" style="text-align:center" | {| class="wikitable" style="text-align:center" | ||
|+Table of tested [[OpenCL]] drivers | |+Table of tested [[OpenCL]] drivers | ||
! GPU Vendor !! OpenCL driver !! Tested driver version !! Works with DR !! Tested DR version !! Comment | ! GPU Vendor !! OpenCL driver !! Open Source !! Tested driver version !! Works with DR !! Tested DR version !! Comment | ||
|- | |- | ||
!Neutral | !rowspan="3" | Neutral | ||
|{{Pkg|opencl-mesa}} || | |{{Pkg|opencl-rusticl-mesa}} || {{Yes}} || 1:23.3.2-2 || {{Yes}} || 18.6.4-1 || This only works if {{Pkg|opencl-clover-mesa}} is not installed, otherwise DR will use Clover instead of rusticl. Recent kernel versions have [https://github.com/ROCm/ROCm/issues/2596 an issue with ROCm], but 6.1 LTS works. | ||
Tested with RX 6800M. | |||
|- | |- | ||
|{{Pkg|opencl-rusticl-mesa}}/{{Pkg|opencl-rusticl-mesa}} || {{Yes}} || 22.0.0-1 || {{No}} || 17.4.5-1 || DR behaves like with intel-compute-runtime (likely same cause). Launches normally, can open a project. But unable to start playing the timeline (even without video tracks) in the Cut and in the Edit pages. However in the Fairlight page it is able to play timeline. | |||
| {{ | |||
DR requires OpenCL 1.2. Mesa [https://www.phoronix.com/scan.php?page=news_item&px=Mesa-20.3-OpenCL-1.2-Clover supports OpenCL 1.2], despite [https://gitlab.freedesktop.org/mesa/mesa/-/issues/4452 reporting it as OpenCL 1.1]. [https://www.phoronix.com/forums/forum/linux-graphics-x-org-drivers/opengl-vulkan-mesa-gallium3d/1211540-opencl-1-2-support-merged-for-mesa-s-gallium3d-clover-while-opencl-3-0-is-being-tackled?p=1211802#post1211802 Overriding] OpenCL version with {{ic|1=CLOVER_PLATFORM_VERSION_OVERRIDE=1.2 CLOVER_DEVICE_VERSION_OVERRIDE=1.2 CLOVER_DEVICE_CLC_VERSION_OVERRIDE=1.2}} does not change the situation. | |||
Tested with RX580. | |||
|- | |- | ||
|mesa-tkg-git || {{Yes}} || 24.0.0_devel.180705.fdbb5d58983-1 || {{Yes}} || 18.6 || DR works with rusticl now that [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21305 MR 21305] has been merged (commit [https://gitlab.freedesktop.org/mesa/mesa/-/commit/0a072bb31c0aa99ba6f8348e0e601053b643a584 0a072bb3]). | |||
|{{ | |||
Tested with RX 7600 using {{ic|1=RUSTICL_ENABLE=radeonsi}}. | |||
|- | |- | ||
|{{AUR| | !rowspan="3" | AMD | ||
| {{AUR|opencl-amd}} || {{Y|Mixed pro and open components}} || 1:5.6.0-2 || {{Yes}} || 18.5b || There is no currently AUR package with only repackaged rocm drivers from Ubuntu (this opencl-amd packages both rocm and orca). On GFX8 (RX 580 and others), the ORCA legacy driver is used by default, which itself currently requires the AMDGPU-PRO OpenGL drivers to work (see above). | |||
Tested with Radeon Pro W6600 (works, even with mesa) | |||
Tested with Radeon RX 580 (works, currently only with progl). | |||
Tested with Radeon RX 5700 XT (with mesa) | |||
Addresses crashing (encounted with rocm-opencl-runtime package) when attempting to perform color correction on the color page. Tested with Radeon 7900XT. | |||
|- | |- | ||
|{{ | | {{Pkg|rocm-opencl-runtime}} || {{Yes}} || 5.4.3-1 || {{Yes}} || 18.1.4-1 || For GPUs older than GFX9/Vega use variable {{ic|1=ROC_ENABLE_PRE_VEGA=1}}; works with Mesa OpenGL | ||
Tested with Radeon Pro W6600 | |||
Tested with AMD RX580. Color correction may result in crashing (did for Radeon )7900XT), consider using opencl-amd 5.6.0-2. | |||
|- | |- | ||
|{{AUR|intel-opencl-runtime}} || 1:18.1.0.013-2 || {{No}} || || Core dumped | | {{AUR|opencl-legacy-amdgpu-pro}} || {{No}} || 22.10.1_1401426-1 || {{G|Yes, for GPUs older than Vega}} || 17.4.6-2 || Note that this is simply the {{AUR|opencl-amd}} package without the ROCm drivers. | ||
Requires the AMDGPU-PRO OpenGL drivers to work. | |||
Tested with Radeon RX580. | |||
|- | |||
!rowspan="5"|Intel | |||
|{{Pkg|intel-compute-runtime}} || {{Yes}} || [https://github.com/smunaut/compute-runtime/tree/clgl custom] || {{Yes}} || 18.5.1 || Works with patches, described in [https://github.com/intel/compute-runtime/issues/659 this issue.] | |||
|- | |||
|mesa [https://gitlab.freedesktop.org/mesa/mesa/-/merge_requests/21305 with the cl-gl sharing MR applied] || {{Yes}} || 23.3.0 with MR applied || {{Yes}} || 18.6 || Works with {{ic|1=RUSTICL_ENABLE=iris}} exported as an environment variable | |||
|- | |||
|{{AUR|beignet}} || {{Yes}} || 1.3.2+12+gfc5f430c-2 || {{No}} || || Core dumped | |||
|- | |||
|{{AUR|intel-opencl}} || {{No}} || 5.0.r63503-2 || {{No}} || || Core dumped | |||
|- | |||
|{{AUR|intel-opencl-runtime}} || {{No}} || 1:18.1.0.013-2 || {{No}} || || Core dumped | |||
|- | |- | ||
!Nvidia | !Nvidia | ||
|{{Pkg|opencl-nvidia}} || 460.32.03-1 || {{Yes}} || || Suitable, but working on cuda instead? | |{{Pkg|opencl-nvidia}} || {{No}} || 460.32.03-1 || {{Yes}} || || Suitable, but working on cuda instead? | ||
|} | |} | ||
=== DaVinci Resolve Checker === | === DaVinci Resolve Checker === | ||
You can run [https://github.com/Ashark/davinci-resolve-checker davinci-resolve-checker] script, which will tell you if your configuration is suitable for running DR. In good configurations it should output: | You can run [https://github.com/Ashark/davinci-resolve-checker davinci-resolve-checker] script, which will tell you if your configuration is suitable for running DR (doesn't work for Intel iGPUs - says OpenCL driver is unsupported, though you can make it work). In good configurations it should output: | ||
All seems good. You should be able to run DaVinci Resolve successfully. | |||
All seems good. You should be able to run DaVinci Resolve successfully. | |||
=== BlackMagic Design Cards === | === BlackMagic Design Cards === | ||
Line 74: | Line 115: | ||
=== Decrease installation time === | === Decrease installation time === | ||
Compression of | Compression of the Davinci Resolve package takes a significant amount of time because the binary is quite large. You can instruct makepkg to use a [[Makepkg#Use other compression algorithms|different compression algorithm]], which in this case disables compression altogether, speeding up the process tremendously. | ||
PKGEXT='.pkg.tar' | |||
=== Using application in portable way === | === Using application in portable way === | ||
Line 92: | Line 132: | ||
The application uses very strange bindings of keyboard modifiers for zooming and scrolling timeline. Original behavior is the following: | The application uses very strange bindings of keyboard modifiers for zooming and scrolling timeline. Original behavior is the following: | ||
* shift + wheel = height of tracks | * shift + wheel = height of tracks | ||
* ctrl + wheel = scroll timeline | * ctrl + wheel = scroll timeline | ||
Line 97: | Line 138: | ||
* no modifiers + wheel = vertical scroll | * no modifiers + wheel = vertical scroll | ||
It is impossible to remap this from application, see [https://forum.blackmagicdesign.com/viewtopic.php?f=21&t=74515]. | It is impossible to remap this from application, see [https://forum.blackmagicdesign.com/viewtopic.php?f=21&t=74515]. | ||
A workaround (working in X11 and Wayland) is to use [[Input remap utilities#evsieve|evsieve]]. Replace {{ic|/dev/input/event3}} and {{ic|/dev/input/event5}} with your keyboard and mouse events in the following command: | |||
{{bc|1= | |||
# evsieve --input /dev/input/event3 grab --input /dev/input/event5 grab \ | |||
--hook key:leftalt:1 toggle=alt:2 \ | |||
--hook key:leftalt:0 toggle=alt:1 \ | |||
--hook key:leftctrl:1 toggle=ctrl:2 \ | |||
--hook key:leftctrl:0 toggle=ctrl:1 \ | |||
--toggle rel:wheel @alt-up @alt-down id=alt \ | |||
--map yield rel:wheel@alt-down key:leftalt:0 key:leftctrl:1 key:leftctrl:2 rel:wheel key:leftctrl:0 key:leftalt:1 \ | |||
--toggle rel:wheel @ctrl-up @ctrl-down id=ctrl \ | |||
--map yield rel:wheel@ctrl-down key:leftctrl:0 key:leftalt:1 key:leftalt:2 rel:wheel key:leftalt:0 key:leftctrl:1 \ | |||
--block rel:wheel_hi_res \ | |||
--print @alt-down @alt-up @ctrl-down @ctrl-up \ | |||
--output create-link=/dev/input/by-id/merged-virtual-KM name="merged virtual KM" | |||
}} | |||
Another workaround (working in X11 (and Xwayland), is worse and sometimes skips events) of this problem, you can use [[IMWheel]] utility. It can remap modifiers only for the application described by regular expression. | |||
Use the following config: | Use the following config: | ||
Line 130: | Line 190: | ||
Shift_L, Down, Control_L{{!}}Button5 | Shift_L, Down, Control_L{{!}}Button5 | ||
}} | }} | ||
=== Prevent prompt returning before full exit === | |||
When you exit application, the terminal prompt is returned to you, but suddenly the terminal is polluted with "Socket disconnected" message. To prevent this, pipe output of main process via {{ic|cat}}. See [https://unix.stackexchange.com/a/698155 here] for explanation. | |||
== Troubleshooting == | == Troubleshooting == | ||
=== Logs | === Logs === | ||
DaVinci Resolve creates log file {{ic| | DaVinci Resolve creates the log file {{ic|~/.local/share/DaVinciResolve/logs/ResolveDebug.txt}} at every launch. Inspecting it can help diagnose problems. | ||
=== Application window misses title bar === | === Application window misses title bar === | ||
Line 142: | Line 206: | ||
You can manually create a file describing needed window rule: | You can manually create a file describing needed window rule: | ||
{{hc|1=DaVinci_Resolve_main_window_always_with_titlebar_and_frame.kwinrule|2= | {{hc|1=DaVinci_Resolve_main_window_always_with_titlebar_and_frame.kwinrule|2= | ||
[DaVinci Resolve main window always with titlebar and frame] | [DaVinci Resolve main window always with titlebar and frame] | ||
Line 154: | Line 219: | ||
wmclassmatch=1 | wmclassmatch=1 | ||
}} | }} | ||
Then go to ''System Settings > Window Management > Window Rules'' and import this file. | Then go to ''System Settings > Window Management > Window Rules'' and import this file. | ||
=== Mp4 clips are not working === | === Mp4 clips are not working === | ||
In DR Free the MP4 containers are not supported. Their preview image is shown as blank. And AAC audio stream (mp4 uses that format) is not supported. When you place that clip | In DR Free the MP4 containers are not supported. Their preview image is shown as blank. And AAC audio stream (mp4 uses that format) is not supported. When you place that clip to timeline, it will be just an audio clip with silence. | ||
In DR Studio the mp4 videos are supported, but AAC decoding is still not supported. When you place your mp4 clip to timeline, you will get the normal video track, and the audio track will be silent. | In DR Studio the mp4 videos are supported, but AAC decoding is still not supported. When you place your mp4 clip to timeline, you will get the normal video track, and the audio track will be silent. | ||
Line 165: | Line 231: | ||
You need to convert your video file to another format. Transcoding command may look like this: | You need to convert your video file to another format. Transcoding command may look like this: | ||
ffmpeg -i input.mp4 -c:v dnxhd -profile:v dnxhr_hq -pix_fmt yuv422p -c:a pcm_s16le -f mov output.mov | |||
$ ffmpeg -i input.mp4 -c:v dnxhd -profile:v dnxhr_hq -pix_fmt yuv422p -c:a pcm_s16le -f mov output.mov | |||
You can automate this task using [[incron]]. It will automatically convert files appeared in specified folder. See setup example on [https://passthroughpo.st/painless-linux-video-production-part-3-organization-and-workflow/#:~:text=Auto%2DTranscode%20Your%20Footage this article]. Another alternative is to write a resolve script for that purpose. See documentation for Resolve Scripting (linked in the see also section) for more information. | You can automate this task using [[incron]]. It will automatically convert files appeared in specified folder. See setup example on [https://passthroughpo.st/painless-linux-video-production-part-3-organization-and-workflow/#:~:text=Auto%2DTranscode%20Your%20Footage this article]. Another alternative is to write a resolve script for that purpose. See documentation for Resolve Scripting (linked in the see also section) for more information. | ||
Line 175: | Line 242: | ||
You can use [https://gitlab.com/AndrewShark/davinci-resolve-scripts/-/blob/main/mp4%20audio%20compounder.py mp4 audio compounder.py] resolve script by Andrew Shark, which automates this routine. | You can use [https://gitlab.com/AndrewShark/davinci-resolve-scripts/-/blob/main/mp4%20audio%20compounder.py mp4 audio compounder.py] resolve script by Andrew Shark, which automates this routine. | ||
In [[#See also]] section in pdf document of supported codecs, mp3 is listed as supported. For some reason, integrating mp3 audio to mov file is not playing. Tested with DR 17.1 and DR studio 17.4.3. | |||
{{Expansion|Need retest with version 18.}} | |||
=== HiDPI === | === HiDPI === | ||
To enable compatibility with high-resolution displays, set the following environment variables accordingly: | To enable compatibility with high-resolution displays, set the following [[environment variables]] accordingly:[https://forum.blackmagicdesign.com/viewtopic.php?f=21&t=84614&p=469009&hilit=hidpi#wrapper] | ||
QT_DEVICE_PIXEL_RATIO=2 | |||
QT_AUTO_SCREEN_SCALE_FACTOR=true | |||
You can change UI scaling in settings: Preferences (ctrl + ,) > User tab > UI settings > UI Display Scale. | |||
=== Wine version === | === Wine version === | ||
Some plugins are available for Windows, but not available for Linux, so you may want to use Davinci Resolve via wine. Also, wine version could potentially workaround the linux-only problem of mp4 format issues. Wine 6.5 brings [https://www.phoronix.com/scan.php?page=news_item&px=Wine-6.5-Released OpenCL 1.2 support], which is [https://www.newsshooter.com/2020/11/13/blackmagic-design-davinci-resolve-17-1-released/ required] for DR. Unfortunately, there was no success to start DR via wine. See test results [https://appdb.winehq.org/objectManager.php?sClass=application&iId=17141 here]. In 17.4.1 DR cannot see the list of available gpus (wine 6.21). Probably, need some hack to make wine present gpus to applications. | Some plugins are available for Windows, but not available for Linux, so you may want to use Davinci Resolve via wine. Also, wine version could potentially workaround the linux-only problem of mp4 format issues. Wine 6.5 brings [https://www.phoronix.com/scan.php?page=news_item&px=Wine-6.5-Released OpenCL 1.2 support], which is [https://www.newsshooter.com/2020/11/13/blackmagic-design-davinci-resolve-17-1-released/ required] for DR. Unfortunately, there was no success to start DR via wine. | ||
See test results [https://appdb.winehq.org/objectManager.php?sClass=application&iId=17141 here]. In 17.4.1 DR cannot see the list of available gpus (wine 6.21). Probably, need some hack to make wine present gpus to applications. In dr 18.5b1 with wine 8.7-1 I get the rocm error (5.4.3-1) that is filed [https://github.com/RadeonOpenCompute/ROCm-OpenCL-Runtime/issues/158#issuecomment-1529782323 here]. | |||
=== Wrong OpenCL Version === | === Wrong OpenCL Version === | ||
Line 195: | Line 265: | ||
If you have installed nvidia-440xx make sure to install opencl-nvidia-440xx as well. | If you have installed nvidia-440xx make sure to install opencl-nvidia-440xx as well. | ||
A possible error message: | A possible error message: | ||
{{hc|~/.local/share/DaVinciResolve/logs/LogArchive/ResolveDebug_C1.txt| | {{hc|~/.local/share/DaVinciResolve/logs/LogArchive/ResolveDebug_C1.txt| | ||
... | ... | ||
Line 202: | Line 273: | ||
=== Get back to Onboarding screen === | === Get back to Onboarding screen === | ||
If you are experimenting with driver installation, you may want to start from the welcome tour and onboarding screen, which checks your system and graphics card. You can achieve that by removing configs | If you are experimenting with driver installation, you may want to start from the welcome tour and onboarding screen, which checks your system and graphics card. You can achieve that by removing configs directory: | ||
rm -r $HOME/.local/share/DaVinciResolve/configs | rm -r $HOME/.local/share/DaVinciResolve/configs | ||
Line 212: | Line 283: | ||
=== No audio during video preview === | === No audio during video preview === | ||
DaVinci interfaces the ALSA directly, so you need to redirect it to use PulseAudio by creating {{ic|asound.conf}} in {{ic|/etc/}} with the following content: | DaVinci interfaces the ALSA directly, so if you use pulseaudio you need to [[install]] {{Pkg|pulseaudio-alsa}}. Alternatively you can redirect it to use PulseAudio yourself by creating {{ic|asound.conf}} in {{ic|/etc/}} with the following content: | ||
{{hc|/etc/asound.conf| | {{hc|/etc/asound.conf| | ||
pcm.!default pulse | pcm.!default pulse | ||
Line 221: | Line 293: | ||
"The GPU failed to perform image processing because of an error. Error Code: 999." | "The GPU failed to perform image processing because of an error. Error Code: 999." | ||
If nvidia gpu is used in on-demand mode, you have to explicitly demand it. To enable set the following environment variables: | If the nvidia gpu is used in on-demand mode, you have to explicitly demand it. To enable set the following [[environment variables]]: | ||
__NV_PRIME_RENDER_OFFLOAD=1 | |||
__GLX_VENDOR_LIBRARY_NAME=nvidia | |||
=== Silent crash related to libcrypto.so.1.0.0 === | === Silent crash related to libcrypto.so.1.0.0 === | ||
DaVinci Resolve is not starting in graphical mode. | |||
In the console, this error is thrown: | |||
$ /opt/resolve/bin/resolve | |||
bin/resolve: error while loading shared libraries: libcrypt.so.1: cannot open shared object file: No such file or directory | |||
You need to [[install]] {{Pkg|libxcrypt-compat}}. | |||
=== Missing Workflow Integrations menu === | === Missing Workflow Integrations menu === | ||
Line 269: | Line 324: | ||
sudo ln -s $HOME/.pyenv/versions/3.6.11/lib/libpython3.so /usr/local/lib/libpython3.6.so | sudo ln -s $HOME/.pyenv/versions/3.6.11/lib/libpython3.so /usr/local/lib/libpython3.6.so | ||
In DR 18 they [https://forum.blackmagicdesign.com/viewtopic.php?f=21&t=158557#:~:text=support%20for%20all%20modern%20and%20future%20python%203%20versions%20for%20scripting say] that all python 3 versions are supported. | |||
=== Kill hanged process === | === Kill hanged process === | ||
If dr hanged, fails to release a terminal when you press ctrl + c (to send sigint), and when its window is not shown and you cannot open dr again (it is saying another instance is already running), you can still fix it. Open task manager (ctrl + esc in KDE), then search for process named "GUI", then kill it (send signal 9). Now you can start dr normally. | If dr hanged, fails to release a terminal when you press ctrl + c (to send sigint), and when its window is not shown and you cannot open dr again (it is saying another instance is already running), you can still fix it. Open task manager (ctrl + esc in KDE), then search for process named "GUI", then kill it (send signal 9). Now you can start dr normally. | ||
=== Use Dolphin instead of Qt File Picker === | |||
Unfortunately, DR does not support XDG desktop portals yet. See [https://forum.blackmagicdesign.com/viewtopic.php?f=33&t=149142] for feature request. As a workaround, you can use Andrew Shark's script [https://gitlab.com/AndrewShark/davinci-resolve-scripts/-/blob/main/import%20media%20via%20dolphin.py Import Media via Dolphin]. | |||
=== Unable to start (onetbb/log4cxx) === | |||
The switch to {{Pkg|onetbb}} is causing a hang with the following message: | |||
{{hc|/opt/resolve/bin/resolve|2= | |||
... | |||
ActCCMessage Already in Table: Code= c005, Mode= 13, Level= 1, CmdKey= -1, Option= 0 | |||
ActCCMessage Already in Table: Code= c006, Mode= 13, Level= 1, CmdKey= -1, Option= 0 | |||
ActCCMessage Already in Table: Code= c007, Mode= 13, Level= 1, CmdKey= -1, Option= 0 | |||
ActCCMessage Already in Table: Code= 2282, Mode= 0, Level= 0, CmdKey= 8, Option= 0 | |||
PnlMsgActionStringAdapter Already in Table: Code= 615e, Mode= 0, Level= 0, CmdKey= -1, Option= 0 | |||
log4cxx: No appender could be found for logger (BtCommon). | |||
log4cxx: Please initialize the log4cxx system properly. | |||
... | |||
}} | |||
One suggested workaround is to temporarily rename {{ic|/opt/intel/oneapi/compiler/2023.0.0/linux/lib/libOpenCL.so}} to something else, or to replace {{Pkg|onetbb}} with {{AUR|tbb2020}}. | |||
See the [https://forum.blackmagicdesign.com/viewtopic.php?f=21&t=177985 tbb is replaced by onetbb and resolve cannot start on linux] forum post for further discussion. | |||
=== Unable to start (libpango/glib) === | |||
Due to [https://unix.stackexchange.com/questions/743572/fedora-38-davinci-resolve-no-longer-opens-after-updating-from-fedora-37-to-38 the way Resolve handles libraries], starting the software may fail if the system libraries differ too much from the ones resolve ships. | |||
/opt/resolve/bin/resolve: symbol lookup error: /usr/lib64/libpango-1.0.so.0: undefined symbol: g_string_free_and_steal | |||
To circumvent it you can force Resolve to use the systems' version instead: | |||
$ LD_PRELOAD="/usr/lib64/libglib-2.0.so" /opt/resolve/bin/resolve | |||
Resolve may fail to launch on the first try, but it will work on subsequent attempts. | |||
== See also == | == See also == | ||
* [https://forum.blackmagicdesign.com/viewtopic.php?f=21&t=56878&p=456990#p456924 Post] on Davinci Resolve forum with tested configurations. | * [https://forum.blackmagicdesign.com/viewtopic.php?f=21&t=56878&p=456990#p456924 Post] on Davinci Resolve forum with tested configurations. | ||
* PDF with list of [https://documents.blackmagicdesign.com/SupportNotes/ | * PDF with list of [https://documents.blackmagicdesign.com/SupportNotes/DaVinci_Resolve_18_Supported_Codec_List.pdf Supported Formats and Codecs] for DR 18 | ||
* [https://www.blackmagicdesign.com/support/family/davinci-resolve-and-fusion Here] you can check if BMD released a document for a newer version, see in the Latest Support Notes column. Also, it lists the whats new notes for each release. | * [https://www.blackmagicdesign.com/support/family/davinci-resolve-and-fusion Here] you can check if BMD released a document for a newer version, see in the Latest Support Notes column. Also, it lists the whats new notes for each release. | ||
* [https://resolvedevdoc.readthedocs.io/en/latest/ ResolveDevDoc] - unofficial documentation for scripting. Formatted with readthedocs and is prettier to read and search than in original txt file. | * [https://resolvedevdoc.readthedocs.io/en/latest/ ResolveDevDoc] - unofficial documentation for scripting. Formatted with readthedocs and is prettier to read and search than in original txt file. | ||
* [https://github.com/pedrolabonia/pydavinci pydavinci] - a reworked resolve scripting api |
Latest revision as of 08:12, 10 January 2024
Davinci Resolve is a proprietary video editing, color grading, color correction, visual effects, motion graphics and audio post-production application.
Installation
Both a limited free version and a paid (Studio) version are offered.
For the free version, install davinci-resolveAUR or davinci-resolve-betaAUR.
For the Studio version, install davinci-resolve-studioAUR or davinci-resolve-studio-betaAUR.
To run DaVinci Resolve, it is required to use suitable OpenGL and OpenCL drivers. Open-source OpenCL drivers are currently unsupported, with the exception of intel-compute-runtime as of 25/08/2023 (check this issue. for instructions, you'll have to compile mesa and compute-runtime yourself, and export some envvars).
GPU vendor | OpenGL driver | Open Source | Documentation | Tested driver version | Works with DaVinci Resolve | Tested DR version | Notes |
---|---|---|---|---|---|---|---|
AMD | mesa | Yes | AMDGPU | 23.0.2-2 | Yes | 18.1.4-1 | On pre-Vega GPUs, if using opencl-amd and mesa, DR crashes, see this bug report. You can instead use rocm with ROC_ENABLE_PRE_VEGA=1 or use opencl-amd with progl.
Tested with Radeon RX 580. Tested with Radeon PRO W6600. |
amdgpu-pro-oglpAUR | No | AMDGPU PRO | 21.10_1247438-1 | Yes | 17.1.1 | This is required if using ORCA legacy OpenCL driver. Requires running Resolve with the progl wrapper script. See documentation and the driver github for usage.
| |
Intel | mesa | Yes | Intel graphics | 23.1.6 | Yes | 18.5.1 | Works without issues. |
NVIDIA | mesa | Yes | Nouveau | No | |||
nvidia-utils | No | NVIDIA | 460.32.03-1 | Yes | 17.0b6-1 | Tested on optimus laptop using nvidia-xrun. |
GPU Vendor | OpenCL driver | Open Source | Tested driver version | Works with DR | Tested DR version | Comment |
---|---|---|---|---|---|---|
Neutral | opencl-rusticl-mesa | Yes | 1:23.3.2-2 | Yes | 18.6.4-1 | This only works if opencl-clover-mesa is not installed, otherwise DR will use Clover instead of rusticl. Recent kernel versions have an issue with ROCm, but 6.1 LTS works.
Tested with RX 6800M. |
opencl-rusticl-mesa/opencl-rusticl-mesa | Yes | 22.0.0-1 | No | 17.4.5-1 | DR behaves like with intel-compute-runtime (likely same cause). Launches normally, can open a project. But unable to start playing the timeline (even without video tracks) in the Cut and in the Edit pages. However in the Fairlight page it is able to play timeline.
DR requires OpenCL 1.2. Mesa supports OpenCL 1.2, despite reporting it as OpenCL 1.1. Overriding OpenCL version with Tested with RX580. | |
mesa-tkg-git | Yes | 24.0.0_devel.180705.fdbb5d58983-1 | Yes | 18.6 | DR works with rusticl now that MR 21305 has been merged (commit 0a072bb3).
Tested with RX 7600 using | |
AMD | opencl-amdAUR | Mixed pro and open components | 1:5.6.0-2 | Yes | 18.5b | There is no currently AUR package with only repackaged rocm drivers from Ubuntu (this opencl-amd packages both rocm and orca). On GFX8 (RX 580 and others), the ORCA legacy driver is used by default, which itself currently requires the AMDGPU-PRO OpenGL drivers to work (see above).
Tested with Radeon Pro W6600 (works, even with mesa) Tested with Radeon RX 580 (works, currently only with progl). Tested with Radeon RX 5700 XT (with mesa) Addresses crashing (encounted with rocm-opencl-runtime package) when attempting to perform color correction on the color page. Tested with Radeon 7900XT. |
rocm-opencl-runtime | Yes | 5.4.3-1 | Yes | 18.1.4-1 | For GPUs older than GFX9/Vega use variable ROC_ENABLE_PRE_VEGA=1 ; works with Mesa OpenGL
Tested with Radeon Pro W6600 Tested with AMD RX580. Color correction may result in crashing (did for Radeon )7900XT), consider using opencl-amd 5.6.0-2. | |
opencl-legacy-amdgpu-proAUR | No | 22.10.1_1401426-1 | Yes, for GPUs older than Vega | 17.4.6-2 | Note that this is simply the opencl-amdAUR package without the ROCm drivers.
Requires the AMDGPU-PRO OpenGL drivers to work. Tested with Radeon RX580. | |
Intel | intel-compute-runtime | Yes | custom | Yes | 18.5.1 | Works with patches, described in this issue. |
mesa with the cl-gl sharing MR applied | Yes | 23.3.0 with MR applied | Yes | 18.6 | Works with RUSTICL_ENABLE=iris exported as an environment variable
| |
beignetAUR | Yes | 1.3.2+12+gfc5f430c-2 | No | Core dumped | ||
intel-openclAUR | No | 5.0.r63503-2 | No | Core dumped | ||
intel-opencl-runtimeAUR | No | 1:18.1.0.013-2 | No | Core dumped | ||
Nvidia | opencl-nvidia | No | 460.32.03-1 | Yes | Suitable, but working on cuda instead? |
DaVinci Resolve Checker
You can run davinci-resolve-checker script, which will tell you if your configuration is suitable for running DR (doesn't work for Intel iGPUs - says OpenCL driver is unsupported, though you can make it work). In good configurations it should output:
All seems good. You should be able to run DaVinci Resolve successfully.
BlackMagic Design Cards
If using DeckLink, UltraStudio or Intensity cards for video capture and playback, install Desktop Video Software with decklinkAUR package.
Tips and tricks
Decrease installation time
Compression of the Davinci Resolve package takes a significant amount of time because the binary is quite large. You can instruct makepkg to use a different compression algorithm, which in this case disables compression altogether, speeding up the process tremendously.
PKGEXT='.pkg.tar'
Using application in portable way
There may be reasons you may want to not install davinci resolve package to the system. For example, you do not want such big package to take space in system partition. Or you want to quickly switch between different versions of application: free and studio, current and previous versions. To do this, just unpack the contents of the needed versions package in the directory you want, and directly run the opt/resolve/bin/resolve from that directory.
Automating with scripts
DR supports scripting. Free version support launching the scripts only from within dr itself, while with Studio version you can also invoke scripts externally. To allow it, go to Preferences -> System -> General -> External scripting using. You can choose: None (similarly to Free version, only from within dr), Local (allow invokes from local host), and Network (allow invokes from remote host).
The documentation can be found in Help -> Documentation -> Developer.
Remap keyboard modifiers used with mouse wheel for scroll and zoom
The application uses very strange bindings of keyboard modifiers for zooming and scrolling timeline. Original behavior is the following:
- shift + wheel = height of tracks
- ctrl + wheel = scroll timeline
- alt + wheel = zoom timeline
- no modifiers + wheel = vertical scroll
It is impossible to remap this from application, see [1].
A workaround (working in X11 and Wayland) is to use evsieve. Replace /dev/input/event3
and /dev/input/event5
with your keyboard and mouse events in the following command:
# evsieve --input /dev/input/event3 grab --input /dev/input/event5 grab \ --hook key:leftalt:1 toggle=alt:2 \ --hook key:leftalt:0 toggle=alt:1 \ --hook key:leftctrl:1 toggle=ctrl:2 \ --hook key:leftctrl:0 toggle=ctrl:1 \ --toggle rel:wheel @alt-up @alt-down id=alt \ --map yield rel:wheel@alt-down key:leftalt:0 key:leftctrl:1 key:leftctrl:2 rel:wheel key:leftctrl:0 key:leftalt:1 \ --toggle rel:wheel @ctrl-up @ctrl-down id=ctrl \ --map yield rel:wheel@ctrl-down key:leftctrl:0 key:leftalt:1 key:leftalt:2 rel:wheel key:leftalt:0 key:leftctrl:1 \ --block rel:wheel_hi_res \ --print @alt-down @alt-up @ctrl-down @ctrl-up \ --output create-link=/dev/input/by-id/merged-virtual-KM name="merged virtual KM"
Another workaround (working in X11 (and Xwayland), is worse and sometimes skips events) of this problem, you can use IMWheel utility. It can remap modifiers only for the application described by regular expression.
Use the following config:
~/.imwheelrc
"^resolve" # just wheel for scroll None, Up, Control_L|Button4 None, Down, Control_L|Button5 # crtl wheel for zoom Control_L, Up, Alt_L|Button4 Control_L, Down, Alt_L|Button5 # alt wheel for track height Alt_L, Up, Shift_L|Button4 Alt_L, Down, Shift_L|Button5
Alternatively, use the following blocks:
~/.imwheelrc
"^resolve" # just wheel for zoom None, Up, Alt_L|Button4 None, Down, Alt_L|Button5 # shift wheel for scroll Shift_L, Up, Control_L|Button4 Shift_L, Down, Control_L|Button5
Prevent prompt returning before full exit
When you exit application, the terminal prompt is returned to you, but suddenly the terminal is polluted with "Socket disconnected" message. To prevent this, pipe output of main process via cat
. See here for explanation.
Troubleshooting
Logs
DaVinci Resolve creates the log file ~/.local/share/DaVinciResolve/logs/ResolveDebug.txt
at every launch. Inspecting it can help diagnose problems.
Application window misses title bar
There is a workaround for KDE - a window rule to force enable title bar. See [2]
You can manually create a file describing needed window rule:
DaVinci_Resolve_main_window_always_with_titlebar_and_frame.kwinrule
[DaVinci Resolve main window always with titlebar and frame] Description=DaVinci Resolve main window always with titlebar and frame clientmachinematch=0 noborder=false noborderrule=2 titlematch=0 types=1 wmclass=resolve wmclasscomplete=false wmclassmatch=1
Then go to System Settings > Window Management > Window Rules and import this file.
Mp4 clips are not working
In DR Free the MP4 containers are not supported. Their preview image is shown as blank. And AAC audio stream (mp4 uses that format) is not supported. When you place that clip to timeline, it will be just an audio clip with silence.
In DR Studio the mp4 videos are supported, but AAC decoding is still not supported. When you place your mp4 clip to timeline, you will get the normal video track, and the audio track will be silent.
Workaround for DR Free
You need to convert your video file to another format. Transcoding command may look like this:
$ ffmpeg -i input.mp4 -c:v dnxhd -profile:v dnxhr_hq -pix_fmt yuv422p -c:a pcm_s16le -f mov output.mov
You can automate this task using incron. It will automatically convert files appeared in specified folder. See setup example on this article. Another alternative is to write a resolve script for that purpose. See documentation for Resolve Scripting (linked in the see also section) for more information.
Workaround for DR Studio
You need to extract the audio from mp4 clips and convert it to mp3 (takes less space than wav and is supported, see below). Then you can import it and make a compound clip with video track.
You can use mp4 audio compounder.py resolve script by Andrew Shark, which automates this routine.
In #See also section in pdf document of supported codecs, mp3 is listed as supported. For some reason, integrating mp3 audio to mov file is not playing. Tested with DR 17.1 and DR studio 17.4.3.
HiDPI
To enable compatibility with high-resolution displays, set the following environment variables accordingly:[3]
QT_DEVICE_PIXEL_RATIO=2 QT_AUTO_SCREEN_SCALE_FACTOR=true
You can change UI scaling in settings: Preferences (ctrl + ,) > User tab > UI settings > UI Display Scale.
Wine version
Some plugins are available for Windows, but not available for Linux, so you may want to use Davinci Resolve via wine. Also, wine version could potentially workaround the linux-only problem of mp4 format issues. Wine 6.5 brings OpenCL 1.2 support, which is required for DR. Unfortunately, there was no success to start DR via wine. See test results here. In 17.4.1 DR cannot see the list of available gpus (wine 6.21). Probably, need some hack to make wine present gpus to applications. In dr 18.5b1 with wine 8.7-1 I get the rocm error (5.4.3-1) that is filed here.
Wrong OpenCL Version
If the application simply is not starting, even after showing installer and "tour" successfully your OpenCL Version may not match your NVIDIA driver. If you have installed nvidia-440xx make sure to install opencl-nvidia-440xx as well. A possible error message:
~/.local/share/DaVinciResolve/logs/LogArchive/ResolveDebug_C1.txt
... OpenCL error -1001: 'Unspecified Error', GPUPropertiesUtilUnix.cpp:338 ...
Get back to Onboarding screen
If you are experimenting with driver installation, you may want to start from the welcome tour and onboarding screen, which checks your system and graphics card. You can achieve that by removing configs directory:
rm -r $HOME/.local/share/DaVinciResolve/configs
Full screen preview function missing
This function is only available in the studio version. It is in menu Workspace > Video Clean Feed.
No audio during video preview
DaVinci interfaces the ALSA directly, so if you use pulseaudio you need to install pulseaudio-alsa. Alternatively you can redirect it to use PulseAudio yourself by creating asound.conf
in /etc/
with the following content:
/etc/asound.conf
pcm.!default pulse ctl.!default pulse
Error code 999 on intel/nvidia hybrid graphic card
"The GPU failed to perform image processing because of an error. Error Code: 999."
If the nvidia gpu is used in on-demand mode, you have to explicitly demand it. To enable set the following environment variables:
__NV_PRIME_RENDER_OFFLOAD=1 __GLX_VENDOR_LIBRARY_NAME=nvidia
DaVinci Resolve is not starting in graphical mode. In the console, this error is thrown:
$ /opt/resolve/bin/resolve bin/resolve: error while loading shared libraries: libcrypt.so.1: cannot open shared object file: No such file or directory
You need to install libxcrypt-compat.
In DR Studio for Windows and Mac OS there is Workspace -> Workflow Integrations menu. Workflow Integration plugins are written in JavaScript (electron applications). As noted in documentation (you can reach it in Help -> Documentation -> Developer), Linux currently is not supported (checked in 17.4.3). They say Integration Scripts are supported in Linux, this is most probably a mistake, because they did not provided a path where to put them and still the menu is missing (it is that same Workspace -> Workflow Integrations).
Python 3.6 not found
When going to Workspace -> Console -> Py3 the error window appears saying "Python 3.6 not found".
One solution is the following (from this question):
env PYTHON_CONFIGURE_OPTS="--enable-shared" pyenv install 3.6.11 sudo ln -s $HOME/.pyenv/versions/3.6.11/lib/python3.6 /usr/local/lib/python3.6 sudo ln -s $HOME/.pyenv/versions/3.6.11/lib/libpython3.so /usr/local/lib/libpython3.6.so
In DR 18 they say that all python 3 versions are supported.
Kill hanged process
If dr hanged, fails to release a terminal when you press ctrl + c (to send sigint), and when its window is not shown and you cannot open dr again (it is saying another instance is already running), you can still fix it. Open task manager (ctrl + esc in KDE), then search for process named "GUI", then kill it (send signal 9). Now you can start dr normally.
Use Dolphin instead of Qt File Picker
Unfortunately, DR does not support XDG desktop portals yet. See [4] for feature request. As a workaround, you can use Andrew Shark's script Import Media via Dolphin.
Unable to start (onetbb/log4cxx)
The switch to onetbb is causing a hang with the following message:
/opt/resolve/bin/resolve
... ActCCMessage Already in Table: Code= c005, Mode= 13, Level= 1, CmdKey= -1, Option= 0 ActCCMessage Already in Table: Code= c006, Mode= 13, Level= 1, CmdKey= -1, Option= 0 ActCCMessage Already in Table: Code= c007, Mode= 13, Level= 1, CmdKey= -1, Option= 0 ActCCMessage Already in Table: Code= 2282, Mode= 0, Level= 0, CmdKey= 8, Option= 0 PnlMsgActionStringAdapter Already in Table: Code= 615e, Mode= 0, Level= 0, CmdKey= -1, Option= 0 log4cxx: No appender could be found for logger (BtCommon). log4cxx: Please initialize the log4cxx system properly. ...
One suggested workaround is to temporarily rename /opt/intel/oneapi/compiler/2023.0.0/linux/lib/libOpenCL.so
to something else, or to replace onetbb with tbb2020AUR.
See the tbb is replaced by onetbb and resolve cannot start on linux forum post for further discussion.
Unable to start (libpango/glib)
Due to the way Resolve handles libraries, starting the software may fail if the system libraries differ too much from the ones resolve ships.
/opt/resolve/bin/resolve: symbol lookup error: /usr/lib64/libpango-1.0.so.0: undefined symbol: g_string_free_and_steal
To circumvent it you can force Resolve to use the systems' version instead:
$ LD_PRELOAD="/usr/lib64/libglib-2.0.so" /opt/resolve/bin/resolve
Resolve may fail to launch on the first try, but it will work on subsequent attempts.
See also
- Post on Davinci Resolve forum with tested configurations.
- PDF with list of Supported Formats and Codecs for DR 18
- Here you can check if BMD released a document for a newer version, see in the Latest Support Notes column. Also, it lists the whats new notes for each release.
- ResolveDevDoc - unofficial documentation for scripting. Formatted with readthedocs and is prettier to read and search than in original txt file.
- pydavinci - a reworked resolve scripting api