> ## Content Index
> Fetch the complete content index at: https://aquasp.blog/llms.txt
> Use this file to discover other available public pages before exploring further.

# How to enable hardware-Accelerated Video Decoding in Brave on Linux: Smoother Playback and Better Battery
- URL: https://aquasp.blog/how-to-enable-hardware-accelerated-video-decoding-in-brave-on-linux-smoother-playback-and-better-battery/
- Published: 2025-12-14T01:35:15.000Z
- Updated: 2025-12-14T01:35:15.000Z
- Description: 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!
- Author: Aquasp
- Tags: Guides

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.

### Recommended 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](https://github.com/brave/brave-browser/issues/2300?ref=aquasp.blog#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](https://wiki.archlinux.org/title/Chromium?ref=aquasp.blog#Hardware%5Fvideo%5Facceleration)