Created
January 19, 2026 15:40
-
-
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
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| #!/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