Linux for Video Editors
Set up GPU drivers, DaVinci Resolve workarounds, Kdenlive, OBS with PipeWire capture, and OpenTimelineIO on Linux for a professional video editing workflow.
Before you start
- ▸A dedicated GPU (NVIDIA Turing+ or AMD RDNA2+ recommended for Resolve GPU acceleration)
- ▸sudo/root access for driver and software installation
- ▸FFmpeg installed for media transcoding (apt/dnf/pacman install ffmpeg)
- ▸Python 3.9+ available for OpenTimelineIO virtual environment
Professional video editing on Linux has crossed a threshold from "possible with patience" to "genuinely viable" over the past few years. DaVinci Resolve 18+ ships native Linux builds, Kdenlive has matured into a full-featured NLE, and OBS Studio remains the gold standard for capture and streaming across every platform. What holds editors back isn't the tools—it's misconfigured GPU drivers, missed codec libraries, and Wayland surprises. This guide cuts through those friction points so you can spend time editing, not debugging.
GPU Drivers: Getting It Right First
Every application covered here leans heavily on GPU compute. Get drivers wrong and you'll face crashes in Resolve, dropped frames in OBS, and sluggish rendering everywhere.
NVIDIA
Use the proprietary driver. On Wayland sessions DaVinci Resolve additionally requires the nvidia-drm modeset=1 kernel parameter.
# Debian/Ubuntu — install the recommended proprietary driver
sudo ubuntu-drivers install
# or pin a specific series
sudo apt install nvidia-driver-535 nvidia-cuda-toolkit
# Fedora / RHEL / Rocky — enable RPM Fusion first, then:
sudo dnf install akmod-nvidia xorg-x11-drv-nvidia-cuda
# Wait for the kmod to build before rebooting (~1–2 min after install)
# Arch
sudo pacman -S nvidia nvidia-utils cuda
Enable DRM kernel mode-setting so Wayland compositors and Resolve can negotiate the display properly:
# Add to GRUB_CMDLINE_LINUX in /etc/default/grub, then update grub
sudo sed -i 's/GRUB_CMDLINE_LINUX="/GRUB_CMDLINE_LINUX="nvidia-drm.modeset=1 /' /etc/default/grub
sudo update-grub # Debian/Ubuntu
# sudo grub2-mkconfig -o /boot/grub2/grub.cfg # Fedora/Rocky
AMD
AMD GPUs use the open-source amdgpu kernel driver (in-tree since 4.15) plus Mesa for OpenGL/Vulkan and ROCm for GPU compute. Resolve 18 officially supports ROCm on RDNA2+ cards.
# Ubuntu 22.04/24.04 — install ROCm via AMD's repo
wget https://repo.radeon.com/amdgpu-install/6.1/ubuntu/jammy/amdgpu-install_6.1.60100-1_all.deb
sudo apt install ./amdgpu-install_6.1.60100-1_all.deb
sudo amdgpu-install --usecase=rocm,graphics
# Add your user to the render and video groups
sudo usermod -aG render,video $USER
# Log out and back in for group membership to take effect
Verify GPU acceleration
# NVIDIA
nvidia-smi
# AMD — check ROCm sees the GPU
rocm-smi --showproductname
DaVinci Resolve: Installation and Workarounds
Resolve is distributed as a .run installer from Blackmagic's site—no package manager involved. It requires specific library versions and has known friction with Wayland and certain codec paths.
Install dependencies before running the installer
# Debian/Ubuntu
sudo apt install libssl3 libglib2.0-0 libxcb-cursor0 libxcb-icccm4 \
libxcb-image0 libxcb-keysyms1 libxcb-randr0 libxcb-render-util0 \
libxcb-xinerama0 libfuse2 ocl-icd-opencl-dev libapr1
# Fedora 39+
sudo dnf install openssl-libs mesa-libOpenCL apr xcb-util-cursor \
xcb-util-image xcb-util-keysyms xcb-util-renderutil libxcb fuse-libs
Run the installer
chmod +x DaVinci_Resolve_18.6_Linux.run
sudo ./DaVinci_Resolve_18.6_Linux.run -i
The installer places Resolve under /opt/resolve/. A systemd-compatible desktop entry is created at /usr/share/applications/com.blackmagicdesign.resolve.desktop.
Wayland workaround
Resolve 18.x renders its UI via Qt with XWayland. It will launch under a Wayland session but expects an X11 socket. If the window is blank or crashes on open, force XWayland explicitly:
# Launch from terminal with forced X11 backend
QT_QPA_PLATFORM=xcb /opt/resolve/bin/resolve
To make this permanent, edit the desktop entry:
sudo sed -i 's|Exec=.*|Exec=env QT_QPA_PLATFORM=xcb /opt/resolve/bin/resolve|' \
/usr/share/applications/com.blackmagicdesign.resolve.desktop
H.264/H.265 decode (free vs. Studio)
The free version of Resolve does not include hardware-accelerated H.264/H.265 decode on Linux. Transcode delivery media to DNxHR or ProRes (using FFmpeg) before import to maintain smooth playback:
# Transcode H.264 source to DNxHR HQ for Resolve ingest
ffmpeg -i source.mp4 -c:v dnxhd -profile:v dnxhr_hq -pix_fmt yuv422p \
-c:a pcm_s16le output.mov
Kdenlive
Kdenlive is a KDE-native NLE backed by MLT Framework. It's the most practical open-source timeline editor for daily professional use and handles Wayland natively on KDE Plasma 6.
# Ubuntu/Debian — Flatpak gives the most current stable build
flatpak install flathub org.kde.kdenlive
# Fedora
sudo dnf install kdenlive
# Arch
sudo pacman -S kdenlive
Enable hardware-accelerated rendering in Settings → Configure Kdenlive → Playback. Select GPU processing (OpenGL) and point the render profile at your GPU encoder (NVENC for NVIDIA, VAAPI for AMD/Intel).
VAAPI render profile (AMD/Intel)
# Verify VAAPI device is accessible
vainfo --display drm --device /dev/dri/renderD128
In Kdenlive's render dialog, use a custom FFmpeg profile with -vcodec h264_vaapi -vaapi_device /dev/dri/renderD128 for hardware-accelerated export.
OBS Studio
OBS is best installed from its official PPA or Flatpak to get the current plugin ecosystem.
# Ubuntu — official PPA
sudo add-apt-repository ppa:obsproject/obs-studio
sudo apt update && sudo apt install obs-studio
# Fedora
sudo dnf install obs-studio
# Arch
sudo pacman -S obs-studio
Wayland screen capture
Under Wayland, OBS 29+ uses the PipeWire screen capture portal. Ensure these are present:
# Debian/Ubuntu
sudo apt install pipewire wireplumber xdg-desktop-portal xdg-desktop-portal-gnome
# For KDE Plasma:
sudo apt install xdg-desktop-portal-kde
In OBS, add a Screen Capture (PipeWire) source. A portal dialog will prompt you to select the screen or window. This works on GNOME 44+ and Plasma 6 without any NVIDIA/AMD caveats.
NVENC / VA-API encoding in OBS
# Confirm NVENC is available (NVIDIA)
nvidia-smi --query-gpu=encoder.stats.sessionCount --format=csv
In Settings → Output → Encoder, select NVIDIA NVENC H.264 or FFmpeg VAAPI. Set Rate Control to CQP for recording, CBR for streaming.
OpenTimelineIO
OpenTimelineIO (OTIO) is a Python library and interchange format from Apple/ASWF for exchanging edit timelines between applications. It's essential when passing projects between Resolve, Kdenlive, and cloud tools.
# Install via pip into a virtual environment
python3 -m venv ~/otio-env
source ~/otio-env/bin/activate
pip install opentimelineio
# Convert an EDL to OTIO, then inspect it
otioconvert -i edit.edl -o edit.otio
otiostat edit.otio
# Convert OTIO back to Final Cut Pro XML for round-tripping
otioconvert -i edit.otio -o edit.fcpxml
Kdenlive 23.08+ can export OTIO directly via File → Export → OpenTimelineIO. Resolve accepts OTIO import under File → Import Timeline → OTIO on the Studio version; free version requires EDL as an intermediate.
Verification
Run through this checklist after setup:
- DaVinci Resolve opens, GPU shows in Preferences → Memory and GPU
nvidia-smiorrocm-smishows utilization rising during Resolve playback- Kdenlive timeline scrub is smooth and
vainfolists hardware decoders - OBS screen capture source populates without a blank frame
otioconvert --versionreturns a version string from within the venv
Troubleshooting
Resolve won't launch: "No supported GPU"
Check /tmp/rollinglog.txt (Resolve's runtime log). The most common cause on NVIDIA is the driver not exposing CUDA—confirm nvidia-smi works and the nvidia-drm module is loaded with lsmod | grep nvidia.
OBS shows black screen under Wayland
Confirm xdg-desktop-portal is running: systemctl --user status xdg-desktop-portal. If it's failed, restart it and ensure the correct desktop-environment-specific portal package is installed for your compositor.
Kdenlive crashes on render with VAAPI
Add your user to the video group (sudo usermod -aG video $USER) and verify /dev/dri/renderD128 is group-accessible (ls -la /dev/dri/). Flatpak builds also need the device passthrough: add it via flatpak override --user --device=dri org.kde.kdenlive.
OTIO conversion loses clip names
EDL format has limited metadata. Export from your NLE to FCP XML first, then convert to OTIO for richer clip metadata preservation.
Frequently asked questions
- Does DaVinci Resolve free support hardware GPU acceleration on Linux?
- GPU-accelerated color processing and effects work on both free and Studio. What the free version lacks on Linux is hardware-accelerated H.264/H.265 decode—transcode to DNxHR first as a workaround.
- Can I run DaVinci Resolve natively on Wayland without XWayland?
- Not reliably as of Resolve 18.6. The Qt-based UI depends on XWayland for rendering. Force QT_QPA_PLATFORM=xcb to avoid blank windows; a native Wayland backend is not yet available from Blackmagic.
- Is OBS Screen Capture usable on GNOME Wayland without reverting to X11?
- Yes. OBS 29+ with PipeWire and xdg-desktop-portal-gnome supports Wayland screen capture natively on GNOME 44+. Add a Screen Capture (PipeWire) source and grant permission through the portal dialog.
- Which AMD GPUs are officially supported by DaVinci Resolve on Linux?
- Blackmagic's official list targets RDNA2 and RDNA3 cards (RX 6000/7000 series) with ROCm 5.7+. Older GCN cards may work but are unsupported and often unstable under heavy GPU compute load.
- What is OpenTimelineIO actually useful for in a Linux editing workflow?
- OTIO lets you move a cut between Kdenlive, DaVinci Resolve, and cloud review tools without manually re-linking clips. It's particularly valuable in multi-editor pipelines or when migrating a project between NLEs.
Related guides
Linux Clipboards Explained (+ Clipboard Managers)
Learn the difference between Linux's PRIMARY and CLIPBOARD selections, use xclip, xsel, and wl-clipboard from the terminal, and manage history with GPaste or Klipper.
Configure LibreOffice for Daily Use
Configure LibreOffice for daily use: set default save formats for MS Office interop, tune autosave, install fonts, and add productivity extensions.
Configure the Touchpad and Multitouch Gestures
Configure Linux touchpad behavior and multitouch gestures using libinput, libinput-gestures, and native GNOME and KDE Plasma settings on both Wayland and X11.
Wayland vs X11: How to Choose and Configure Each
Know when to run Wayland or X11, how to check your current session, switch at login with GDM/SDDM/LightDM, and handle NVIDIA and XWayland edge cases.