Skip to content

Instantly share code, notes, and snippets.

@patarok
Created January 19, 2026 15:40
Show Gist options
  • Select an option

  • Save patarok/594997f9e8e56b4b3a357a4289321d54 to your computer and use it in GitHub Desktop.

Select an option

Save patarok/594997f9e8e56b4b3a357a4289321d54 to your computer and use it in GitHub Desktop.
DaVinci Resolve 20.x installation helper for installing it on Wayland configured/based dists like PopOS 24.04 or Ubuntu 24.04
#!/bin/bash
set -e
# -------------------------
# Ask user what to do
# -------------------------
echo ""
echo "DaVinci Resolve setup"
echo "====================="
echo "1) INSTALL (run installer + patch)"
echo "2) PATCH (patch existing install only)"
echo ""
read -rp "Choose an option [1-2]: " MODE
if [[ "$MODE" != "1" && "$MODE" != "2" ]]; then
echo "Invalid choice. Aborting."
exit 1
fi
# -------------------------
# INSTALL mode
# -------------------------
if [[ "$MODE" == "1" ]]; then
INSTALLER=$(ls DaVinci_Resolve_2*.run 2>/dev/null | head -n 1)
if [[ -z "$INSTALLER" ]]; then
echo "ERROR: No DaVinci_Resolve_2*.run installer found in current directory."
exit 1
fi
echo ""
echo "Found installer: $INSTALLER"
echo "Running installer..."
echo ""
chmod +x "$INSTALLER"
SKIP_PACKAGE_CHECK=1 ./"$INSTALLER" -i
echo ""
echo "Installer finished."
echo ""
fi
# -------------------------
# Variables (PATCH logic)
# -------------------------
RESOLVE_DIR="/opt/resolve"
TMP_DIR="$(mktemp -d)"
DEBS=(
"http://es.archive.ubuntu.com/ubuntu/pool/main/p/pango1.0/libpango-1.0-0_1.50.6+ds-2ubuntu1_amd64.deb"
"http://es.archive.ubuntu.com/ubuntu/pool/main/p/pango1.0/libpangoft2-1.0-0_1.50.6+ds-2ubuntu1_amd64.deb"
"http://es.archive.ubuntu.com/ubuntu/pool/main/p/pango1.0/libpangocairo-1.0-0_1.50.6+ds-2ubuntu1_amd64.deb"
"http://es.archive.ubuntu.com/ubuntu/pool/main/g/gdk-pixbuf/libgdk-pixbuf-2.0-0_2.42.8+dfsg-1ubuntu0.4_amd64.deb"
)
mkdir -p "$RESOLVE_DIR/libs"
# -------------------------
# Download debs
# -------------------------
cd "$TMP_DIR"
echo "Downloading compatibility libraries..."
for url in "${DEBS[@]}"; do
wget -q --show-progress "$url"
done
# -------------------------
# Extract .deb files
# -------------------------
echo "Extracting libraries..."
mkdir -p "$TMP_DIR/extract"
for deb in *.deb; do
dpkg-deb -x "$deb" "$TMP_DIR/extract"
done
# -------------------------
# Copy .so files into Resolve
# -------------------------
echo "Patching Resolve libraries..."
cp -v "$TMP_DIR/extract/usr/lib/x86_64-linux-gnu/libpango"* "$RESOLVE_DIR/libs/"
cp -v "$TMP_DIR/extract/usr/lib/x86_64-linux-gnu/libgdk_pixbuf"* "$RESOLVE_DIR/libs/"
# -------------------------
# Create symlinks
# -------------------------
cd "$RESOLVE_DIR/libs"
ln -sf libpango-1.0.so.0 libpango-1.0.so
ln -sf libpangocairo-1.0.so.0 libpangocairo-1.0.so
ln -sf libpangoft2-1.0.so.0 libpangoft2-1.0.so
ln -sf libgdk_pixbuf-2.0.so.0 libgdk-pixbuf-2.0.so
# -------------------------
# Create launcher script
# -------------------------
echo "Creating launcher..."
cat > /usr/local/bin/davinci-resolve << 'EOF'
#!/bin/bash
export LD_LIBRARY_PATH=/opt/resolve/libs:$LD_LIBRARY_PATH
export QT_QPA_PLATFORM=xcb
export GDK_BACKEND=x11
export QT_AUTO_SCREEN_SCALE_FACTOR=1
export QT_SCALE_FACTOR=1
export GDK_SCALE=1
export GDK_DPI_SCALE=1
export QT_WAYLAND_DISABLE_WINDOWDECORATION=1
exec /opt/resolve/bin/resolve "$@"
EOF
chmod +x /usr/local/bin/davinci-resolve
# -------------------------
# Cleanup
# -------------------------
rm -rf "$TMP_DIR"
# -------------------------
# Done
# -------------------------
echo ""
echo "========================================="
echo "✓ DaVinci Resolve ready"
echo "========================================="
echo ""
echo "Run with:"
echo " davinci-resolve"
echo ""
echo "according to the level of mismatch in resolution,"
echo "you might want to change that via:"
echo "DaVinci Resolve > Preferences > (click tab ->)User > (select)UI Settings > "
echo "change the percentage value on --UI Display Scale-- at the very bottom"
echo ""
echo "========================================="
echo "! Tips for handling WindowMgr quirks:"
echo "========================================="
echo ""
echo "Use your Integrated Desktop environments shortcuts to resize and move windows."
echo "COSMIC Desktop Environment:"
echo ""
echo "SUPER + mouse left-click and drag:"
echo "move window"
echo ""
echo "SUPER + mouse right-click and drag:"
echo "resize window"
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment