Enable VP9 Hardware Acceleration in Chromium on Linux (Intel GPU)
If you're using Chromium on Linux with an Intel integrated GPU and noticing high CPU usage during YouTube playback, you're probably missing hardware video acceleration. Here's how to fix it.
Requirements
- Intel GPU (Broadwell or newer for VP9 support)
- Arch Linux (or similar distro)
- Wayland session
Step 1: Install Intel Media Driver
sudo pacman -S intel-media-driver libva-utils
Verify VAAPI is working:
vainfo
You should see VP9 profiles listed:
VAProfileVP9Profile0 : VAEntrypointVLD
VAProfileVP9Profile2 : VAEntrypointVLD
Step 2: Configure Chromium Flags
Edit ~/.config/chromium-flags.conf:
--ozone-platform=wayland
--enable-features=VaapiVideoDecoder,VaapiVideoEncoder
--ignore-gpu-blocklist
--enable-zero-copy
--enable-gpu-rasterization
Important: Do NOT add --use-gl or --use-angle flags. Let Chromium auto-select the backend.
Step 3: Restart Chromium
Close all Chromium windows and reopen. Verify at chrome://gpu:
- Video Decode: Hardware accelerated
- Video Encode: Hardware accelerated
Step 4: Force VP9 on YouTube (Optional)
If your GPU doesn't support AV1 (pre-11th gen Intel), install enhanced-h264ify and block AV1/H.264 to force VP9.
Verify It's Working
- Play a YouTube video
- Run
intel_gpu_top- the "Video" engine should show activity - Right-click video → "Stats for nerds" → Codecs should show
vp09.xxx
Troubleshooting
If chrome://gpu shows everything disabled:
- Clear GPU cache:
rm -rf ~/.config/chromium/Default/GPUCache ~/.config/chromium/ShaderCache - Remove any
--use-glflags from your config - Test with a fresh profile:
chromium --user-data-dir=/tmp/test
Hardware Support Reference
| Intel Gen | Codecs with HW Decode |
|---|---|
| Broadwell (5th) | H.264, VP8 |
| Skylake-Comet Lake (6th-10th) | H.264, H.265, VP8, VP9 |
| Tiger Lake+ (11th+) | H.264, H.265, VP8, VP9, AV1 |
Comments