Chromium hardware-accelerated build for Intel-based platforms available for beta testing

Canonical and Intel have partnered to build a version of the Chromium browser that enables hardware accelerated video decoding and encoding. This should result in improved performance and extend the battery life for Kaby Lake (7th Gen) and newer platforms, when using VP8, VP9, and H.264 codecs [1].

To try this version, you will need to switch Chromium to the hwacc branch.

To install hardware accelerated Chromium:
snap install chromium --channel=latest/candidate/hwacc

To switch from a previous installation:
snap refresh chromium --channel=latest/candidate/hwacc

To go back to the stable channel:
snap refresh chromium --channel=latest/stable

Alternatively, you can have both versions installed and running in parallel.

Let us know if you notice the improvements, how you are testing, and if you find any problems.

For reporting any specific issues, you can also use the bug tracker.
Thank you!

[1] https://github.com/intel/media-driver#decodingencoding-features

13 Likes

Great work! Can confirm I have much lower resource usage while playing youtube video on 12th Gen Intel(R) Core(TM) i7-1280P, Ubuntu 22.04, X.org.

chrome://gpu/ is also a lot happier with this branch.

4 Likes

By the way intel_gpu_top or about://media-internals can be used to verify if hardware acceleration is really being used.

More information in LP: #1816497.

1 Like

Doesn’t this also work for AV1? That seems to be in the linked table and it seems to be working for me on my Alder Lake for a YouTube video that “Stats for Nerds” says is av01.

AV1 should also work on 11th generation Intel CPUs and later. Sometimes you just have to omit details from announcements to avoid being overly wordy or confusing people.

That said, I should also note that if “Stats for Nerds says is av01” that tells you what the software is doing, not whether the hardware is being used for it. To verify hardware acceleration, run sudo intel_gpu_top to see that the Video cores of your GPU are active.

1 Like

Are there any plans to support Video Encode (for WebRTC video chat) where supported by the VAAPI Media Driver? For example for VP9?

Should this work on both X11 and Wayland… ?

Yes both should work. If anything doesn’t work for you then please open a bug.

Hardware-accelerated encode doesn’t seem to work right now. But hardware-accelerated decode in Google Meet for example does work already. I don’t know a timeline for encoding support.

1 Like

We have updated the snap build to 2475.
Along with the chromium version update, a couple of issues were fixed.
Let us know your feedback!

Hello.

Sorry to chime in this late. Is chromium-ffmpeg a necessary snap as well?

Thank you for your time.

That snap is only needed for third-party browser snaps. Everything I’ve seen only references Opera using it.

1 Like

Hey, nothing to apologize for.

Elcste is right. The chromium-ffmpeg snap (whose reason of existence is described here) is irrelevant to this.

1 Like

Thank you for participating in this beta testing.
The results have been positive and provided the team with additional confidence in the work done.
We will keep you informed on the next steps.

Edit:
In the meantime, hardware accelerated Chromium made it to the official latest/edge and latest/beta channels with candidate and stable following later.

To switch a previous installation:
snap refresh chromium --beta

3 Likes

Cool! Confirmed working with my 8th gen and 12th gen laptops.

1 Like

Hello, dear developers! This is amazing! I have a low-spec laptop with an Intel Pentium Silver N5000 processor and UHD 605 graphics. I used Firefox before installing the Chromium browser, and my CPU temperature would easily reach 70℃, and sometimes even jump to 75-80℃.

Now, with the Chromium browser installed, my CPU temperatures stay around 58-60℃ during video playback and about 50-55℃ for lightweight browsing without video playback. Previously, I only used the Google Chrome official deb-package, but now I’ll stick with this Chromium browser.

Here are a few screenshots:

I have one question: for some videos, intel_gpu_top shows that only the Render/3D process is under load. However, for other videos, Video and VideoEnhance processes are almost under the same load as the Render/3D process. Is this expected behavior, and does it work like that?

P.S. I’m sorry, I’m not a native English speaker. I apologize if there are any grammatical errors.

2 Likes

The second screenshot I will send in a separate message because I’m a new user, and I can’t upload multiple images within one message.

image

‘Render/3D’ will always be busy because Chromium/Chrome is always GPU rendered.

If you find ‘Video 0.00%’ then likely it’s just a codec that your CPU doesn’t support natively. Yours is Gemini Lake in this table. When you right click on the video and select ‘Stats for nerds’ then what is listed next to ‘Codecs’?

I found a video where both Video and VideoEnhance processes stay at 0% load.
Codecs: av01.0.08M.08 (399) / opus (251)
I have also uploaded a full screenshot with the statistics.

It’s strange then. Why are Video/VideoEnhance under load for some of the Youtube videos, while some YouTube videos don’t have supported codecs for my CPU? Can I fix that? Or my CPU just doesn’t support codecs above?

“Codecs av01” means AV1 which is only supported in Intel 11th generation and later. But you can work around it if you can get the browser to request the same video in a different codec.

1 Like