User Tools

Site Tools


davinci

This is an old revision of the document!


Download, install The program requires a registration (to show the download link). DaVinci Resolve (version 19) weighs 2.8 GB, and it's a single .run file. As the very first thing, you may need to make it executable to be able to actually run it. Open a terminal window, and then:

chmod +x DaVinci_Resolve_Studio_19.0_Linux.run

Next, run the program with sudo (since it defaults to /opt), and with the -i flag, so it asks you questions. For example, to invoke the installer in the current working directory:

sudo ./DaVinci_Resolve_Studio_19.0_Linux.run -i

In my case, DaVinci Resolve complained about missing packages

You can list these in a command-line window, and (try to) install them:

sudo apt install libapr1 libaprutil1 libasound2 libglib2.0-0

Ubuntu 24.04 will tell you that there's no libasound2 package available, but it will install the other three. Now, seemingly, you're stuck, but not really. We need to tell the DaVinci Resolve installer to skip library checks, because it will keep prompting, even if you have all of them installed:

sudo SKIP_PACKAGE_CHECK=1 ./DaVinci_Resolve_Studio_19.0_Linux.run -i

Now, the program will ask a few small questions, and install just fine.

Try to run, fail (due to conflicting libraries) If you attempt to start the program, you won't succeed. You will get a shared library error:

/opt/resolve/bin/resolve
/opt/resolve/bin/resolve: symbol lookup error: /lib/x86_64-linux-gnu/libpango-1.0.so.0: undefined symbol: g_once_init_leave_pointer

The exact error may be slightly different, but it boils down to the following: DaVinci Resolve uses a lot of libraries from its own path, under /opt/resolve/libs, but not all. And these libraries are not necessarily compatible, version for version, symbol for symbol, with what Ubuntu 24.04 has.

To work around this issue, you will need to move a few libraries so that DaVinci Resolve defaults to the system versions instead of its own set. The simplest thing is to create a folder and move all of the libraries and their symbolic links yonder, e.g.:

sudo mkdir /opt/resolve/libs/unneeded

And then:

sudo mv /opt/resolve/libs/libgio* /opt/resolve/libs/unneeded/
sudo mv /opt/resolve/libs/libglib* /opt/resolve/libs/unneeded/
sudo mv /opt/resolve/libs/libgmodule* /opt/resolve/libs/unneeded/

The final list will be (inside the unneeded folder):

libgio-2.0.so -> libgio-2.0.so.0*
libgio-2.0.so.0 -> libgio-2.0.so.0.6800.4*
libgio-2.0.so.0.6800.4*
libglib-2.0.so -> libglib-2.0.so.0*
libglib-2.0.so.0 -> libglib-2.0.so.0.6800.4*
libglib-2.0.so.0.6800.4*
libgmodule-2.0.so -> libgmodule-2.0.so.0*
libgmodule-2.0.so.0 -> libgmodule-2.0.so.0.6800.4*
libgmodule-2.0.so.0.6800.4*

Indeed, you can check, with LDD, what the resolve binary now uses. Purposefully, just for the libg values:

ldd resolve | grep libg
libgpudetect.so => /opt/resolve/bin/./../libs/libgpudetect.so (0x000072ea50385000)
libglib-2.0.so.0 => /lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x000072ea4ded0000)
libgobject-2.0.so.0 => /opt/resolve/bin/./../libs/libgobject-2.0.so.0 (0x000072ea36e00000)
libgstreamer-1.0.so.0 => /opt/resolve/bin/./../libs/libgstreamer-1.0.so.0 (0x000072ea4dab1000)
libgstsdp-1.0.so.0 => /opt/resolve/bin/./../libs/libgstsdp-1.0.so.0 (0x000072ea4e66d000)

You can see that it wants to link to libraries from its libs sub-folder, except libglib-2.0.so.0, which comes from the system path (as we've just moved the files away). Now, the program will start correctly on your system.

davinci.1761219086.txt.gz · Last modified: (external edit)

Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki