How to enable hardware-Accelerated Video Decoding in Brave on Linux: Smoother Playback and Better Battery

Boost Brave's video performance on Linux with GPU acceleration. Simple flags (or wrapper on Ubuntu) enable VA-API decoding for lower CPU use and no extensions needed—ideal for Ubuntu/Mint users!

5 months ago   •   1 min read

By Aquasp
Table of contents

Hardware-accelerated video decoding offloads playback from CPU to GPU, improving performance, reducing heat, and extending battery life—especially for high-resolution videos. On Linux, this works in Chromium-based browsers like Brave, but often requires flags. No more relying on h264ify extensions or downloading videos for MPV!

Benefits

  • Smoother high-res (1080p+) playback
  • Lower CPU usage
  • Better battery life on laptops

Prerequisites (Ubuntu-Based Distros, e.g., Mint)

For Intel GPUs (common on laptops):

sudo apt update
sudo apt install intel-media-va-driver-non-free vainfo

Verify with vainfo (should list supported profiles like VP9/H.264).

AMD/NVIDIA: Ensure Mesa/proprietary drivers are installed.

Enabling Flags Support on Ubuntu-Based Distros

Brave's Debian package doesn't read brave-flags.conf by default (unlike Arch's AUR package). Create a wrapper:

Fix permissions:

sudo chown --reference=/usr/bin/brave-browser-stable.original /usr/bin/brave-browser-stable
sudo chmod --reference=/usr/bin/brave-browser-stable.original /usr/bin/brave-browser-stable

Create new launcher:Bash

sudo nano /usr/bin/brave-browser-stable

Paste:

#!/bin/sh
: $$ {XDG_CONFIG_HOME=" $${HOME}/.config"}
unset -v flags_conf
flags_conf="${XDG_CONFIG_HOME}/brave-flags.conf"
if [ -f "${flags_conf}" ]
then
        unset -v flags
        flags="$$ (sed 's/#.*//' < " $${flags_conf}" | tr '\n' ' ')"
        set -- $$ {flags} " $$@"
fi
exec /usr/bin/brave-browser-stable.original "$@"

Divert the original launcher:

sudo dpkg-divert --add --rename --divert /usr/bin/brave-browser-stable.original /usr/bin/brave-browser-stable

Now create/edit ~/.config/brave-flags.conf for flags.

Add to ~/.config/brave-flags.conf (one line, restart Brave):

Wayland (often default/best):

--enable-features=AcceleratedVideoDecodeLinuxGL,AcceleratedVideoDecodeLinuxZeroCopyGL,AcceleratedVideoEncoder

Xorg/X11 (or fallback):

--enable-features=VaapiVideoDecoder,VaapiIgnoreDriverChecks,Vulkan,DefaultANGLEVulkan,VulkanFromANGLE

Verification

  1. Play a video (e.g., YouTube 1080p+).
  2. Ctrl + Shift + I → Three dots → More tools → Media.
  3. Check Decoder name: VaapiVideoDecoder = GPU accelerated (avoid FFmpegVideoDecoder).

Credits

This amazing commentary on github: https://github.com/brave/brave-browser/issues/2300#issuecomment-2718755680

As always, the Arch Wiki is an invaluable resource for all things Linux. If hardware video acceleration still doesn't work, check the wiki directly for the latest flags and troubleshooting tips. https://wiki.archlinux.org/title/Chromium#Hardware_video_acceleration

Spread the word

Keep reading