252 lines
7.9 KiB
Markdown
252 lines
7.9 KiB
Markdown
# DaVinci Resolve - Omarchy
|
|
|
|
## Video Guide
|
|
|
|
<p align="center">
|
|
<a href="https://youtu.be/VS7zUWMPsLY">
|
|
<img src="https://img.youtube.com/vi/VS7zUWMPsLY/0.jpg" width="700">
|
|
</a>
|
|
</p>
|
|
|
|
Install [DaVinci Resolve](https://www.blackmagicdesign.com/products/davinciresolve) on [Omarchy](https://omarchy.com) (Arch Linux + Hyprland) with NVIDIA GPU support.
|
|
|
|
Handles all the compatibility quirks of running Resolve on Arch Linux — library conflicts, XWayland setup, RPATH patching, and legacy library shims — so you don't have to.
|
|
|
|
## Requirements
|
|
|
|
- **OS**: [Omarchy](https://omarchy.com) (Arch Linux)
|
|
- **GPU**: NVIDIA with proprietary drivers installed and working
|
|
- **Disk space**: ~10GB free in ~/Downloads for extraction (temporary)
|
|
- **DaVinci Resolve ZIP**: Downloaded from Blackmagic's website
|
|
|
|
## Quick Start
|
|
|
|
1. **Download DaVinci Resolve** from [blackmagicdesign.com](https://www.blackmagicdesign.com/products/davinciresolve)
|
|
- Choose "DaVinci Resolve" (free) or "DaVinci Resolve Studio" (paid)
|
|
- Select **Linux** and download the ZIP file
|
|
- Save it to `~/Downloads/`
|
|
|
|
2. **Run the installer**:
|
|
```bash
|
|
git clone https://git.no-signal.uk/nosignal/DaVinci-Resolve-Omarchy.git
|
|
cd DaVinci-Resolve-Omarchy
|
|
chmod +x Omarchy_resolve_v2.sh
|
|
./Omarchy_resolve_v2.sh
|
|
```
|
|
|
|
3. **Launch Resolve** from your app menu or run `resolve-nvidia-open`
|
|
|
|
## What It Does
|
|
|
|
### 1. Installs Dependencies
|
|
|
|
**Build/extraction tools:**
|
|
|
|
| Package | Purpose |
|
|
|---------|---------|
|
|
| `unzip` | Extracts the Resolve ZIP archive |
|
|
| `patchelf` | Modifies library search paths (RPATH) in binaries |
|
|
| `libarchive` | Archive handling library |
|
|
| `desktop-file-utils` | App menu integration |
|
|
| `file` | Identifies ELF binaries for RPATH patching |
|
|
|
|
**Runtime dependencies:**
|
|
|
|
| Package | Purpose |
|
|
|---------|---------|
|
|
| `libxcrypt-compat` | Provides legacy `libcrypt.so.1` (Arch dropped it) |
|
|
| `ffmpeg4.4` | Older FFmpeg version that Resolve links against |
|
|
| `glu` | OpenGL Utility Library for 3D rendering |
|
|
| `gtk2` | GTK2 toolkit (some Resolve UI components use it) |
|
|
| `fuse2` | AppImage compatibility layer |
|
|
|
|
### 2. Extracts Resolve
|
|
|
|
The download is a ZIP containing a `.run` file (self-extracting AppImage). The script unpacks it in stages:
|
|
|
|
```
|
|
ZIP → .run file → squashfs-root (actual application files)
|
|
```
|
|
|
|
Temporary files are cleaned up automatically when the script finishes.
|
|
|
|
### 3. Handles Library Conflicts (ABI-Safe)
|
|
|
|
This is the tricky part. Resolve bundles its own libraries, but some conflict with Arch's newer versions:
|
|
|
|
| Library | Action | Why |
|
|
|---------|--------|-----|
|
|
| `libglib-2.0.so` | **Replace** with system | Stable C ABI, safe to swap |
|
|
| `libgio-2.0.so` | **Replace** with system | Stable C ABI, safe to swap |
|
|
| `libgmodule-2.0.so` | **Replace** with system | Stable C ABI, safe to swap |
|
|
| `libc++.so` | **Keep** bundled | C++ ABI mismatch causes crashes |
|
|
| `libc++abi.so` | **Keep** bundled | C++ ABI mismatch causes crashes |
|
|
|
|
### 4. Patches RPATH
|
|
|
|
Every ELF binary in Resolve gets its RPATH patched to point to `/opt/resolve/libs/` and subdirectories. Without this, binaries would look for libraries in the original AppImage paths that no longer exist.
|
|
|
|
### 5. Creates XWayland Wrapper
|
|
|
|
Resolve doesn't support native Wayland. The wrapper script (`resolve-nvidia-open`) forces XWayland mode by setting `QT_QPA_PLATFORM=xcb`, and also clears stale Qt lockfiles that can prevent Resolve from starting after a crash.
|
|
|
|
### 6. Desktop Integration
|
|
|
|
- Installs `.desktop` files for the app menu
|
|
- Installs icons at proper hicolor sizes
|
|
- Installs udev rules for Blackmagic hardware (capture cards, control panels)
|
|
- Points all launchers at the XWayland wrapper
|
|
|
|
## Files Installed
|
|
|
|
### Application
|
|
|
|
| Path | Purpose |
|
|
|------|---------|
|
|
| `/opt/resolve/` | Main application directory |
|
|
| `/opt/resolve/bin/resolve` | Resolve binary |
|
|
| `/opt/resolve/libs/` | Bundled libraries |
|
|
|
|
### Scripts
|
|
|
|
| Path | Purpose |
|
|
|------|---------|
|
|
| `/usr/local/bin/resolve-nvidia-open` | XWayland wrapper (main launcher) |
|
|
| `/usr/bin/davinci-resolve` | Convenience symlink to wrapper |
|
|
|
|
### Desktop Entries
|
|
|
|
| Path | Purpose |
|
|
|------|---------|
|
|
| `/usr/share/applications/DaVinciResolve.desktop` | System app menu entry |
|
|
| `~/.local/share/applications/davinci-resolve-wrapper.desktop` | User entry (takes priority) |
|
|
|
|
### Icons
|
|
|
|
| Path | Purpose |
|
|
|------|---------|
|
|
| `/usr/share/icons/hicolor/128x128/apps/davinci-resolve.png` | App icon |
|
|
|
|
### Hardware Support
|
|
|
|
| Path | Purpose |
|
|
|------|---------|
|
|
| `/usr/lib/udev/rules.d/99-BlackmagicDevices.rules` | Blackmagic capture cards |
|
|
| `/usr/lib/udev/rules.d/99-ResolveKeyboardHID.rules` | Resolve Editor Keyboard |
|
|
| `/usr/lib/udev/rules.d/99-DavinciPanel.rules` | DaVinci control panels |
|
|
|
|
## Configuration
|
|
|
|
### Full System Upgrade
|
|
|
|
By default, the script syncs the package database without upgrading. To include a full system upgrade:
|
|
|
|
```bash
|
|
RESOLVE_FULL_UPGRADE=1 ./Omarchy_resolve_v2.sh
|
|
```
|
|
|
|
### Hybrid GPU Laptops (Optimus)
|
|
|
|
If you have an Intel iGPU + NVIDIA dGPU, edit the wrapper to force Resolve onto the NVIDIA GPU:
|
|
|
|
```bash
|
|
sudo nano /usr/local/bin/resolve-nvidia-open
|
|
```
|
|
|
|
Uncomment these lines:
|
|
```bash
|
|
export __NV_PRIME_RENDER_OFFLOAD=1
|
|
export __GLX_VENDOR_LIBRARY_NAME=nvidia
|
|
```
|
|
|
|
## Troubleshooting
|
|
|
|
### Resolve won't start / crashes immediately
|
|
|
|
- Check logs: `~/.local/share/DaVinciResolve/logs/ResolveDebug.txt`
|
|
- Verify NVIDIA driver is working: `nvidia-smi`
|
|
- Try launching from terminal to see errors: `resolve-nvidia-open`
|
|
|
|
### "Cannot open display" error
|
|
|
|
- Make sure XWayland is enabled in Hyprland (it is by default on Omarchy)
|
|
- Check the wrapper is using xcb: `grep QT_QPA_PLATFORM /usr/local/bin/resolve-nvidia-open`
|
|
|
|
### Resolve says "single instance already running"
|
|
|
|
Stale lockfiles from a previous crash. The wrapper clears these automatically, but if it persists:
|
|
|
|
```bash
|
|
rm -f /tmp/qtsingleapp-DaVinci*
|
|
```
|
|
|
|
### Missing library errors
|
|
|
|
Re-run the installer — it will re-patch RPATH and re-check dependencies:
|
|
|
|
```bash
|
|
./Omarchy_resolve_v2.sh
|
|
```
|
|
|
|
### GPU not detected / OpenCL errors
|
|
|
|
- Ensure NVIDIA drivers are installed: `pacman -Qi nvidia-utils`
|
|
- Check GPU is visible: `nvidia-smi`
|
|
- Verify OpenCL: `pacman -S --needed opencl-nvidia`
|
|
|
|
## Updating Resolve
|
|
|
|
1. Download the new version ZIP from Blackmagic's website to `~/Downloads/`
|
|
2. Run the installer again — it automatically picks the newest ZIP:
|
|
|
|
```bash
|
|
./Omarchy_resolve_v2.sh
|
|
```
|
|
|
|
The previous installation at `/opt/resolve` will be replaced.
|
|
|
|
## Uninstalling
|
|
|
|
```bash
|
|
# Remove application
|
|
sudo rm -rf /opt/resolve
|
|
|
|
# Remove scripts
|
|
sudo rm -f /usr/local/bin/resolve-nvidia-open
|
|
sudo rm -f /usr/bin/davinci-resolve
|
|
|
|
# Remove desktop entries
|
|
sudo rm -f /usr/share/applications/DaVinciResolve.desktop
|
|
sudo rm -f /usr/share/applications/DaVinciControlPanelsSetup.desktop
|
|
sudo rm -f /usr/share/applications/blackmagicraw-player.desktop
|
|
sudo rm -f /usr/share/applications/blackmagicraw-speedtest.desktop
|
|
rm -f ~/.local/share/applications/davinci-resolve-wrapper.desktop
|
|
|
|
# Remove icons
|
|
sudo rm -f /usr/share/icons/hicolor/128x128/apps/davinci-resolve.png
|
|
sudo rm -f /usr/share/icons/hicolor/128x128/apps/davinci-resolve-panels-setup.png
|
|
sudo rm -f /usr/share/icons/hicolor/256x256/apps/blackmagicraw-player.png
|
|
sudo rm -f /usr/share/icons/hicolor/256x256/apps/blackmagicraw-speedtest.png
|
|
|
|
# Remove udev rules
|
|
sudo rm -f /usr/lib/udev/rules.d/99-BlackmagicDevices.rules
|
|
sudo rm -f /usr/lib/udev/rules.d/99-ResolveKeyboardHID.rules
|
|
sudo rm -f /usr/lib/udev/rules.d/99-DavinciPanel.rules
|
|
|
|
# Remove user data (WARNING: deletes all projects and settings)
|
|
rm -rf ~/.local/share/DaVinciResolve
|
|
|
|
# Update caches
|
|
sudo update-desktop-database
|
|
sudo gtk-update-icon-cache -f /usr/share/icons/hicolor
|
|
```
|
|
|
|
## Credits
|
|
|
|
- [Omarchy](https://omarchy.com) - The Arch Linux distribution this was built for
|
|
- [Blackmagic Design](https://www.blackmagicdesign.com/) - DaVinci Resolve
|
|
- [Hyprland](https://hyprland.org/) - Wayland compositor (XWayland support)
|
|
|
|
## License
|
|
|
|
This project is provided as-is for the Omarchy community.
|