Vega logo Vega Docs
Linux Setup

Get Linux ready for Vega

Install the desktop runtime and media plugins for your distribution, then run the checks below before playing a video.

What your system needs

  • A graphical desktop session using X11 or Wayland, with working graphics drivers and sound.
  • WebKitGTK 4.1 and its GTK runtime for Vega's desktop interface.
  • GStreamer media plugins for the built-in player, including decoders for the files you watch.
  • A Vega build that matches your CPU architecture.
Identify your distribution and CPU
cat /etc/os-release
uname -m

Match x86_64 to an amd64/x86_64 asset, or aarch64 to an arm64 asset if that release provides one.

1. Install your runtime packages

Open Terminal and choose your distribution. These are runtime packages for running Vega. Your package manager will also install their dependencies.

Ubuntu / Debian / Linux Mint

Ubuntu 22.04 or newer, Debian 12 or newer, and compatible Linux Mint releases. If a package cannot be found on Ubuntu, enable the Universe repository in Software & Updates, then run apt update again.

Install packages — Ubuntu / Debian / Linux Mint
sudo apt update
sudo apt install libwebkit2gtk-4.1-0 ca-certificates \
  gstreamer1.0-tools gstreamer1.0-plugins-base \
  gstreamer1.0-plugins-good gstreamer1.0-plugins-bad \
  gstreamer1.0-plugins-ugly gstreamer1.0-libav \
  gstreamer1.0-gl gstreamer1.0-pulseaudio pulseaudio-utils

Confirm WebKitGTK — Ubuntu / Debian / Linux Mint
dpkg-query -W libwebkit2gtk-4.1-0

Expected: the installed WebKitGTK package and its version. A “not installed” result means the runtime is still missing.

Arch Linux / EndeavourOS

Keep Arch fully updated so WebKit, FFmpeg, libva, and GStreamer come from a consistent set of packages.

Install packages — Arch Linux / EndeavourOS
sudo pacman -Syu --needed webkit2gtk-4.1 gstreamer \
  gst-plugins-base gst-plugins-good gst-plugins-bad \
  gst-plugins-ugly gst-libav libpulse

Confirm WebKitGTK — Arch Linux / EndeavourOS
pacman -Q webkit2gtk-4.1

Expected: the installed WebKitGTK package and its version. A “not installed” result means the runtime is still missing.

Fedora

These commands install Fedora's runtime and base plugins. Some H.264, HEVC, and other codec support may need additional packages; use Fedora's codec instructions linked below if decoder checks are missing.

Install packages — Fedora
sudo dnf upgrade --refresh
sudo dnf install webkit2gtk4.1 gstreamer1 \
  gstreamer1-plugins-base gstreamer1-plugins-good \
  gstreamer1-plugins-bad-free gstreamer1-plugins-ugly-free \
  pulseaudio-utils

Confirm WebKitGTK — Fedora
rpm -q webkit2gtk4.1

Expected: the installed WebKitGTK package and its version. A “not installed” result means the runtime is still missing.

Fedora's multimedia codec instructions →

2. Install Vega

Download the latest matching asset from the official desktop releases. Run the relevant command from the folder containing your download, with only one matching Vega installer in that folder.

Ubuntu / Debian — install the .deb
sudo apt install ./Vega_*.deb

Fedora — install the .rpm
sudo dnf install ./Vega*.rpm

Launch Vega from your applications menu as your normal desktop user.

Using an AppImage instead?
Make the AppImage executable and launch it
chmod +x ./Vega_*.AppImage
./Vega_*.AppImage

If it reports a FUSE error, install the FUSE 2 library for your distribution:

Ubuntu 24.04+ / Debian 13+
sudo apt install libfuse2t64

Ubuntu 22.04 / Debian 12
sudo apt install libfuse2

Arch Linux
sudo pacman -S fuse2

Fedora
sudo dnf install fuse-libs

See the AppImage FUSE guide for other distributions.

3. Confirm video and audio support

Check GStreamer and common video/audio elements
gst-inspect-1.0 --version
for element in qtdemux matroskademux h264parse h265parse avdec_h264 avdec_h265 avdec_aac autoaudiosink; do
  if gst-inspect-1.0 "$element" >/dev/null 2>&1; then
    printf 'PASS     %s\n' "$element"
  else
    printf 'MISSING  %s\n' "$element"
  fi
done

PASS means that element can be loaded. MISSING means it is unavailable or failed to load; install the relevant media plugins for your distribution. avdec_h264, avdec_h265, and avdec_aac check software decoders for H.264, HEVC, and AAC. Other decoders may also support those formats.

Confirm your session's audio server
pactl info

Expected: server details, including Server Name and Default Sink. PulseAudio and PipeWire's PulseAudio compatibility service both work. A connection error means this command cannot reach your session's audio server; check your desktop sound settings and that service before testing playback.

Finally, play a local file in Vega. Confirm that time advances, sound works, audio tracks switch, and resizing stays responsive. Press F11 to enter fullscreen and Esc to exit. Component checks alone do not guarantee every codec profile or GPU path will play correctly.

If a check fails

“undefined symbol: vaMapBuffer2” or another library error

This indicates incompatible loaded libraries, rather than establishing a missing HEVC decoder. Update your distribution's packages together and relaunch the latest Vega build. On Arch, use a full sudo pacman -Syu update. If the error remains, include the complete error line and the executable/library paths when reporting it.

FFmpeg / FFprobe checks

Vega's packaged FFmpeg and FFprobe handle probing and remuxing; GStreamer plugins are separate. Checking a system ffprobe alone does not confirm Vega's bundled tool works. For a current installed .deb, check the bundled tool directly:

Confirm the bundled FFprobe starts (.deb)
/usr/lib/Vega/resources/ffmpeg-sidecar/ffprobe -version

Expected: FFprobe's version and build information. If that file is missing, check your installed package/version. AppImage and other package layouts can use a different path.

Package references: Tauri Linux runtime · GStreamer installation · Arch libav plugin