ayakael.net/davinci-resolve/index.html
forgejo-actions[bot] 0a5fc7a2cb
All checks were successful
/ deploy (push) Successful in 32s
davinci-resolve: add fedora guide
2025-01-12 20:32:21 +00:00

277 lines
10 KiB
HTML

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" class="h-100">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<!-- The above 3 meta tags *must* come first in the head; any other head content must come *after* these tags -->
<title>Davinci Resolve Workstation - Ayakael</title>
<!-- cargo-culted from https://realfavicongenerator.net/ -->
<!-- for the record: it is absolutely ridiculous that new browsers
*and* operating systems each want their own little precious
snowflake just for a frigging icon -->
<link rel="apple-touch-icon" sizes="180x180" href="../apple-touch-icon.png">
<link rel="icon" type="image/png" sizes="32x32" href="../favicon-32x32.png">
<link rel="icon" type="image/png" sizes="16x16" href="../favicon-16x16.png">
<link rel="manifest" href="../site.webmanifest">
<meta name="msapplication-TileColor" content="#da532c">
<meta name="theme-color" content="#ffffff">
<!-- ikiwiki CSS -->
<link href="../css/style.css" rel="stylesheet" />
<!-- Bootstrap core CSS -->
<!-- those checksums can be verified with: shasum -b -a 384 $file | xxd -r -p | base64 -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/css/bootstrap.min.css" rel="stylesheet" integrity="sha384-rbsA2VBKQhggwzxH7pPCaAqO46MgnOM80zW1RWuH61DGLwZJEdK2Kadq2F9CUG65" crossorigin="anonymous">
<!-- Custom styles for this template -->
<link href="../css/bootstrap.local.css" rel="stylesheet" />
<!-- Custom styles for derivatives -->
<link rel="stylesheet" href="../css/local.css" type="text/css" />
</head>
<body class="d-flex flex-column h-100">
<header>
<nav class="navbar fixed-top navbar-expand-lg navbar-light bg-light border">
<div class="container-fluid">
<a class="navbar-brand me-auto" href="../">
<img alt="Ayakael" src="../favicon.png" width="48" height="48" />
</a>
<button class="navbar-toggler collapsed" type="button" data-bs-toggle="collapse" data-bs-target="#navbar" aria-controls="navbarScroll" aria-expanded="false" aria-label="Toggle navigation">
<span class="navbar-toggler-icon"></span>
</button>
<div id="navbar" class="collapse navbar-collapse">
<!-- the anchors force ikiwiki to use a tags instead of spans. hopefully. -->
<ul class="navbar-nav nav-link align-items-center ms-auto">
<li><a href="../index.en.html">Home</a></li>
<li><a href="https://ayakael.net/forge/">Forge</a></li>
<li><a href="../contact/index.en.html">Contact</a></li>
</ul>
<ul class="navbar-nav nav-link align-items-center ms-auto">
</ul>
</div>
</div>
</nav>
</header>
<main class="flex-shrink-0">
<div class="container" id="content">
<h1>Davinci Resolve Workstation</h1>
<hr>
<p>I do my editing on Davinci Resolve. Since I am trying to get editing and gaming
off of Windows, I created a Davinci Resolve workstation that is based on Rocky
Linux 8, the OS Davinci officially supports. While Davinci can be installed on
other distros, it doesn't work on my <span class="createlink">distro of choice</span>, thus
might as well create a dedicated VM for it. Since my <span class="createlink">workstation</span> uses
Proxmox, I can easily use different distros.</p>
<p>This guide thus documents my installation process.</p>
<h2>1) Install Rocky Linux 8.6</h2>
<p>You can download the <a href="https://downloads.blackmagicdesign.com/DaVinciResolve/DaVinci-Resolve-Linux-RockyLinux_8.6.iso">BlackMagic's
ISO</a>
for easier installation</p>
<ul>
<li>Upgrade to latest packages
<code>
sudo dnf update
</code></li>
<li>Enable networking</li>
</ul>
<p>By default, wired networking is not automatically turned on.</p>
<h2>2) Install <code>amdgpu-pro</code></h2>
<ul>
<li>Remove <code>nomodeset</code> and <code>rdblacklist=nouveau</code> in grub config in
<code>/etc/default/grub</code> and <code>/boot/grub2/grubenv</code></li>
</ul>
<p><code>
sudo dnf install http://repo.radeon.com/amdgpu-install/6.3/rhel/8.10/amdgpu-install-6.3.60300-1.el8.noarch.rpm
sudo amdgpu-install --usecase=workstation --vulkan=pro --opencl=rocr
</code></p>
<ul>
<li>Add user to <code>video</code> and <code>render</code> group:
<code>
sudo usermod -a -G render
sudo usermod -a -G video
</code></li>
</ul>
<h2>3) Install Davince Resolve Studio 19</h2>
<ul>
<li><p>Install <code>xcb-util-cursor</code>:
<code>
sudo dnf install epel-release
sudo dnf install xcb-util-cursor
</code></p></li>
<li><p>Download Davinci Resolve Studio 19 by going to <a href="https://www.blackmagicdesign.com/support/family/davinci-resolve-and-fusion">support
center</a>,
clicking the desired version, and finally <code>Downlod only</code></p></li>
<li>Extract and run the installer</li>
<li>Apply crack (confirmed working with version 19.1.2)
<code>
sudo perl -pi -e 's/\x00\x85\xc0\x74\x7b\xe8/\x00\x85\xc0\xEB\x7b\xe8/g' /opt/resolve/bin/resolve
</code></li>
</ul>
<h2>4) Install <code>awesome</code> window manager</h2>
<p>I only care for tiling window managers. Unfortunately, my manager of choice
<code>awesome</code> is not available on Rocky Linux 8. I thus have to compile it myself,
which involces compiling its build dependencies.</p>
<p>Compiling awesome on Rocky Linux 8.10 requires the following dependencies (in order of build):
* lua
* lua-markdown
* lua-lgi
* lua-filesystem
* lua-ldoc
* lua-penlight
* xapian-xire
* doxygen (note: this ought to be fc29 version)
* libxdg-basedir
* xcb-util
* xcb-util-wm
* xcb-util-keysymx
* xorg-x11-util-macros
* xcb-util-xrm
* libxkb
* xcb-util-image
* xcb-util-renderutil</p>
<p>To build these, you have to go through various iterations of fetching
source RPMs from <a href="https://archive.fedoraproject.org/pub/archive/fedora/linux/releases/28/Everything/source/tree/Packages">fedora 28 src repo</a>,
installing the builddeps and finally rebuilding using <code>rpbbuild</code>. Thus,
for lua, you would:
<code>
wget https://archive.fedoraproject.org/pub/archive/fedora/linux/releases/28/Everything/source/tree/Packages/l/lua-5.3.4-10.fc28.src.rpm
sudo dnf builddep lua-*.src.rpm --nobest --refresh
rpmbuild --rebuild lua-.src.rpm
</code></p>
<p>To facilitate installing the built dependencies, you can use <code>createrepo</code> to
create a repo in <code>/home/user/rpmbuild</code> and pointing a new dnf repo to this
folder.</p>
<p>Specific notes:
* doxygen src rpm should come Fedora 29
* lua-ldoc and lua-penlight depend on each other, thus you will need to
temporarily activate the fc28 repo by adding this in
<code>/etc/yum.repos.d/fedora.repo</code>
<code>
[fedora]
name=Fedora 28 - x86_64
metalink=https://mirrors.fedoraproject.org/metalink?repo=fedora-28&amp;arch=x86_64
enabled=1
gpgcheck=0
</code>
Make sure to disable it after getting lua-ldoc or lua-penlight built.</p>
<p>After building all of your dependencies, clean-up everything by rolling back to
the transaction before you started installing build dependencies. Use <code>dnf
history info &lt;transaction no&gt;</code> to find that number and then <code>dnf history
rollback &lt;transaction no&gt;</code></p>
<p>Once everything is rolledback, you can install awesome and <em>just</em> it's runtime
dependencies, and then refer to archlinux's
<a href="https://aur.archlinux.org/cgit/aur.git/tree/PKGBUILD?h=awesome-gnome">awesome-gnome</a>
package or the <a href="http://web.archive.org/web/20160205182002/http://awesome.naquadah.org/wiki/Quickly_Setting_up_Awesome_with_Gnome">wiki article it is based
on</a>
to integrate awesome in gnome.</p>
<h2>5) Install git-annex standalone</h2>
<p>I use git-annex to store my footage. Indeed, there isn't a git-annex package, but it is easy to install git-annex
standalone by following <a href="https://git-annex.branchable.com/install/rpm_standalone/">upstream's guide</a></p>
<h2>Other options</h2>
<p>I mentionned above that there were other ways to install Davinci on Linux
without having to use Rocky Linux. Here are a few:
* <a href="https://github.com/zelikos/davincibox">via distrobox</a>
* <a href="https://github.com/flolu/davinci-resolve-linux">on debian</a>
* <a href="https://wiki.archlinux.org/title/DaVinci_Resolve">on arch</a>
* <a href="https://github.com/H3rz3n/How-install-DaVinci-Resolve-in-Fedora-Linux">on fedora</a></p>
<!-- legacy Ikiwiki comments.pm section -->
<!-- Mastodon comments -->
<div class="pagedate text-muted">
<span class="created">Created <time datetime="2025-01-12T20:32:12Z" class="dt-published">Sun Jan 12 20:32:12 2025</time>.</span>
<span class="edited">
Edited <time datetime="2025-01-12T20:32:12Z">Sun Jan 12 20:32:12 2025</time>.
</span>
</div>
</div> <!-- /container -->
</main>
<footer class="footer mt-auto bg-light py-2" role="contentinfo">
<div class="container">
<div class="row text-muted">
<div class="col-sm">
Copyleft © 2024 ayakael <a href="../meta/license/">CC-BY-SA</a>
</div>
<div class="col-sm text-sm-end">
Powered by <a href="http://ikiwiki.info/">ikiwiki</a>.
</div>
</div>
</div>
</footer>
<!-- Bootstrap core JavaScript
================================================== -->
<!-- Placed at the end of the document so the pages load faster -->
<script src="https://cdn.jsdelivr.net/npm/@popperjs/core@2.11.6/dist/umd/popper.min.js" integrity="sha384-oBqDVmMz9ATKxIep9tiCxS/Z9fNfEXiDAYTujMAeBAsjFuCZSmKbSSUnQlmh/jp3" crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.2.3/dist/js/bootstrap.bundle.min.js" integrity="sha384-kenU1KFdBIe4zVF0s0G1M5b4hcpxyD9F7jL+jjXkk+Q2h455rYXK/7HAuoJl+0I4" crossorigin="anonymous"></script>
<!-- TODO: Find other ways to setup analytics
<script data-goatcounter="https://analytics.anarc.at/count" async src="//analytics.anarc.at/count.js"></script>
<noscript>
<img src="https://analytics.anarc.at/count?p=davinci-resolve&t=Davinci%20Resolve%20Workstation" alt="tracking pixel to count visitors when Javascript is disabled" />
</noscript>
-->
</body>
</html>