$linuxjunkies
>

Install OBS Studio on Linux

Install OBS Studio on Linux via native packages or Flatpak, configure NVENC and VA-API hardware encoders, enable Wayland PipeWire capture, and add key plugins.

BeginnerUbuntuDebianFedoraArch8 min readUpdated June 7, 2026

Before you start

  • A working Linux desktop environment (X11 or Wayland)
  • sudo or root access for package installation
  • GPU drivers installed (proprietary NVIDIA or open-source Mesa for AMD/Intel) if using hardware encoding
  • Flatpak and Flathub configured if using the Flatpak method

OBS Studio is the go-to open-source tool for screen recording and live streaming on Linux. Getting it running correctly—especially with hardware encoding and Wayland capture—takes a few deliberate choices. This guide covers native packages, Flatpak, essential plugins, GPU encoders, and Wayland-specific setup across the major distro families.

Distro Packages vs Flatpak: Which Should You Use?

Both methods work, but they have real trade-offs:

  • Native packages integrate tightly with system libraries, making hardware encoder access (VA-API, NVENC, AMF) straightforward. They may lag behind OBS upstream by weeks or months.
  • Flatpak ships the latest OBS release quickly and works identically across distros, but hardware encoder and plugin access require extra portal configuration.

If you use an NVIDIA GPU and want NVENC, or you rely on third-party plugins, native packages are usually less friction. If you want a current version on a stable distro like Debian stable or RHEL, Flatpak is the faster path.

Installing via Native Packages

Debian and Ubuntu

Ubuntu 22.04+ and Debian 12+ carry a reasonably current OBS in their repositories. Use the official OBS PPA on Ubuntu for the latest release:

sudo add-apt-repository ppa:obsproject/obs-studio
sudo apt update
sudo apt install obs-studio

On Debian stable (no PPA support), install from the official repos—the version will be older—or jump to the Flatpak section:

sudo apt install obs-studio

Fedora

Fedora ships a current OBS build in its main repositories:

sudo dnf install obs-studio

RHEL, Rocky Linux, and AlmaLinux

Enable EPEL and RPM Fusion first, then install:

sudo dnf install epel-release
sudo dnf install --nogpgcheck https://mirrors.rpmfusion.org/free/el/rpmfusion-free-release-$(rpm -E %rhel).noarch.rpm
sudo dnf install obs-studio

Arch Linux

sudo pacman -S obs-studio

Arch keeps OBS at the latest stable release. Most community plugins are also in the AUR.

Installing via Flatpak

If Flathub isn't already enabled on your system:

flatpak remote-add --if-not-exists flathub https://dl.flathub.org/repo/flathub.flatpakrepo

Then install OBS:

flatpak install flathub com.obsproject.Studio

Launch it with:

flatpak run com.obsproject.Studio

The Flatpak sandbox restricts direct device access. For hardware encoders, you need to grant the Flatpak access to render nodes:

flatpak override --user --device=all com.obsproject.Studio

This is a broad permission. If you prefer minimal permissions, grant only the specific render node (/dev/dri/renderD128 for example) using Flatseal or the --filesystem override.

Hardware Encoders

Software (x264) encoding works everywhere but burns CPU. Hardware encoders offload work to your GPU and are essential for high-resolution or high-framerate recording.

NVIDIA – NVENC

Install the proprietary NVIDIA driver (not Nouveau). On Ubuntu/Debian:

sudo apt install nvidia-driver

On Fedora with RPM Fusion:

sudo dnf install akmod-nvidia

Once the driver is active, NVENC appears in OBS under Settings → Output → Encoder as NVIDIA NVENC H.264 or HEVC. No additional packages needed for native installs.

AMD and Intel – VA-API

VA-API covers both AMD (open-source amdgpu driver) and Intel (i915/xe) GPUs. Install the runtime libraries:

# Debian/Ubuntu – AMD
sudo apt install mesa-va-drivers

# Debian/Ubuntu – Intel
sudo apt install intel-media-va-driver-non-free
# Fedora – AMD and Intel
sudo dnf install mesa-va-drivers libva-intel-driver intel-media-driver

Verify VA-API is working before opening OBS:

vainfo

You should see a list of VAEntrypoint lines. If vainfo isn't installed, add libva-utils (Debian/Ubuntu) or libva-utils (Fedora/Arch).

In OBS, VA-API encoders appear as VA-API H.264 under the encoder drop-down. If they don't appear, your user may need to be in the video or render group:

sudo usermod -aG video,render $USER

Log out and back in for the group change to take effect.

Wayland Screen Capture

Wayland does not allow arbitrary window capture the way X11 does. OBS uses the PipeWire portal (xdg-desktop-portal) to request screen share permission from the compositor.

Requirements

  • PipeWire 0.3.x running as your audio/video server (default on Fedora 34+, Ubuntu 22.04+, Arch with pipewire-media-session or wireplumber)
  • A desktop-portal backend matching your compositor: xdg-desktop-portal-gnome for GNOME, xdg-desktop-portal-kde for KDE Plasma, xdg-desktop-portal-wlr for wlroots compositors (Sway, Hyprland)
  • OBS 27.2+ (native) or the Flatpak, which bundles PipeWire support

Adding a Screen Capture Source on Wayland

  1. Open OBS. In the Sources panel, click +.
  2. Select Screen Capture (PipeWire). If this option is missing, OBS was built without PipeWire support—use the Flatpak or rebuild from source with the PipeWire flag.
  3. A system dialog from your compositor will appear asking which screen or window to share. Select it and confirm.
  4. The capture appears in your scene. You can add multiple PipeWire sources for multi-monitor setups.

If OBS is launched on an X11 session (even on a system with Wayland available), the standard Screen Capture (XSHM) and Window Capture (Xcomposite) sources work as before.

Useful Plugins

Several plugins are worth installing immediately after OBS itself:

  • obs-backgroundremoval – Real-time virtual background without a green screen, uses ONNX models. Available in the AUR, or build from source on other distros.
  • obs-pipewire-audio-capture – Capture individual application audio streams via PipeWire. Already bundled in Flatpak and recent native builds on some distros; otherwise install the package or build from the GitHub repo.
  • wlrobs – Wlroots-specific screen capture plugin for compositors that don't support the xdg-desktop-portal path well. Install from AUR (wlrobs) or the project's GitLab page.
  • obs-vkcapture – Vulkan/OpenGL game capture on Linux, similar in concept to Windows game capture. Available in the AUR and as a Flatpak extension (com.obsproject.Studio.OBSVkCapture).

For the Flatpak, install plugin extensions via:

flatpak install flathub com.obsproject.Studio.Plugin.OBSVkCapture

Verification

After installation, do a quick sanity check before your first real session:

  1. Open OBS. The auto-configuration wizard runs on first launch—let it run; it benchmarks your system and picks a sane bitrate and encoder.
  2. Check Help → Log Files → View Current Log. Look for your encoder name (e.g., NVENC, VA-API) near the top to confirm hardware encoding loaded.
  3. Add a Screen Capture source and confirm video appears in the preview.
  4. Click Start Recording, record 10 seconds, stop, and play back the file from ~/Videos (the default output directory).

Troubleshooting

Hardware encoder not listed

Run vainfo (VA-API) or check nvidia-smi (NVENC) to confirm the driver sees the GPU. For Flatpak, re-check the --device=all override. Confirm your user is in the video and render groups.

PipeWire screen capture source is missing

The OBS build lacks PipeWire support. On Ubuntu, the PPA build includes it. On Debian stable, switch to the Flatpak. Verify PipeWire is actually running with systemctl --user status pipewire.

Black screen on Wayland capture

Ensure the correct xdg-desktop-portal backend is installed and running for your compositor. Check systemctl --user status xdg-desktop-portal and the compositor-specific portal service. On GNOME, it's xdg-desktop-portal-gnome; on KDE, xdg-desktop-portal-kde.

OBS crashes on launch with the Flatpak

Try resetting the Flatpak overrides with flatpak override --user --reset com.obsproject.Studio and relaunching. Check journalctl --user -xe for the specific error.

tested on:Ubuntu 24.04Fedora 40Arch rollingDebian 12

Frequently asked questions

Should I use the Flatpak or the native package for OBS on Ubuntu?
The OBS PPA native package is usually the better choice on Ubuntu—it has full hardware encoder access and plugin support without Flatpak sandbox workarounds. Use the Flatpak if you need a version newer than the PPA offers.
Why does OBS show a black screen when I try to capture my screen on Wayland?
The xdg-desktop-portal backend for your compositor is either missing or not running. Install and start the correct backend (xdg-desktop-portal-gnome for GNOME, xdg-desktop-portal-kde for KDE Plasma, xdg-desktop-portal-wlr for Sway/Hyprland), then restart OBS.
How do I know if OBS is actually using my GPU for encoding?
Go to Help → Log Files → View Current Log immediately after launch. The log will name the active encoder near the top—look for 'NVENC', 'VA-API', or 'AMD AMF'. If it says 'x264', you are on software encoding.
Can I install OBS plugins with the Flatpak version?
Yes. Many popular plugins have official Flatpak extensions on Flathub (such as com.obsproject.Studio.OBSVkCapture). Install them with 'flatpak install flathub <extension-id>'. Plugins that aren't packaged as extensions cannot be used with the Flatpak.
Does OBS work on Wayland with GNOME or KDE without any extra steps?
On modern GNOME (43+) and KDE Plasma 5.27+, PipeWire-based screen capture works out of the box as long as PipeWire and the portal backend are running, which they are by default on Fedora and Ubuntu 22.04+. Older setups may need manual package installation.

Related guides