Blog · November 24, 2025

Enabling Hardware Accelerated Video on Chrome (Fedora 43 + Intel Meteor Lake)

Firefox handled 4K YouTube streams out of the box, but Chrome turned my new Lenovo Yoga with an Intel Core Ultra 7 (Meteor Lake) into a portable heater. Chrome ignored the built-in video decode hardware, spiked the CPU to 90%, and murdered the battery anytime I watched high-res video.

Here is the exact setup that finally enabled VA-API decoding without glitches.

The Setup + Symptoms

The hardware was new, Fedora 43 (Rawhide) even newer, and Chrome unstable with Wayland.

Debugging with intel_gpu_top

Running intel_gpu_top made it obvious: the Video engine idled at 0.00%. Forcing Chrome to run with Wayland (--ozone-platform=wayland) lit up the Video engine (~5%) but also produced massive frame drops.

Logs were full of SharedImageManager errors—Chrome was decoding the frames but couldn't render them properly through the Wayland path on the fresh Intel drivers.

The Fix: Back to X11

The stable path was surprisingly old-school: force Chrome back to X11 while still enabling VA-API. This combination avoided the SharedImage bug but kept hardware decoding alive.

Step 1: Confirm Media Drivers

Fedora ships the Intel media stack, but I reinstalled it to be sure nothing was missing.

sudo dnf install intel-media-driver libva-utils igt-gpu-tools

Step 2: Launch Chrome with the Right Flags

Close every Chrome window and run:

google-chrome-stable \
        --ozone-platform=x11 \
        --enable-features=VaapiVideoDecoder,VaapiVideoEncoder \
        --ignore-gpu-blocklist

--ozone-platform=x11 stabilizes rendering. The VA-API flags force Chrome to hand video frames to the hardware decoder, and the blocklist flag keeps Chrome from disabling VA-API on "unsupported" GPUs.

Step 3: Verify Hardware Decode

Two quick checks confirmed the change:

  1. chrome://gpu shows Video Decode: Hardware accelerated.
  2. sudo intel_gpu_top reports the Video engine hovering around 5% during playback.

Step 4: Make It Permanent

Rather than typing the flags every time, duplicate the desktop file into your home directory and edit the Exec lines.

cp /usr/share/applications/google-chrome.desktop ~/.local/share/applications/
      nano ~/.local/share/applications/google-chrome.desktop

Modify each Exec= line:

Exec=/usr/bin/google-chrome-stable --ozone-platform=x11 --enable-features=VaapiVideoDecoder,VaapiVideoEncoder --ignore-gpu-blocklist %U

Save, log out, and log back in so the desktop environment reloads the shortcut.

The Result

If you're on Fedora 43 with Meteor Lake graphics and Chrome is still stuck in software decode land, forcing X11 plus VA-API is the most reliable workaround I've found so far.

Want more Fedora tweaks?

I'm documenting every workaround I find for rawhide + bleeding-edge hardware. Reach out if you need help taming Chrome, VA-API, or Intel drivers.

Email me