[RESPONDED] Hardware decoding not working on Zorin OS:

Hello. My chipset is an Intel i5-1240P.

Distro is Zorin OS 16.2 (ubuntu)

Brave browser (chromium) shows that hardware video acceleration is not working. intel-media-va-driver is installed. Going off a suggestion on the Arch wiki, I installed and ran vainfo. It outputs the following:

libva info: VA-API version 1.7.0
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so
libva info: Found init function __vaDriverInit_1_7
libva error: /usr/lib/x86_64-linux-gnu/dri/iHD_drv_video.so init failed
libva info: va_openDriver() returns 1
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so
libva info: Found init function __vaDriverInit_1_6
libva error: /usr/lib/x86_64-linux-gnu/dri/i965_drv_video.so init failed
libva info: va_openDriver() returns -1
vaInitialize failed with error code -1 (unknown libva error),exit

In user-speak: it seems unhappy. Any help would be appreciated.

We may need to make sure this is installed. Let’s check:

dpkg -l | grep libva2

Looking for libva2:amd64

Then if it’s not installed:
sudo apt install libva2
sudo apt install libva2


ii  libva2:amd64                                    2.7.0-2                                 amd64        Video Acceleration (VA) API for Linux -- runtime

I also checked with APT just to be sure. It is indeed already installed.

Okay, hmm. What steps from the Arch wiki did you follow specifically? Link or steps?

I ensured that the intel media driver was installed. On the Arch wiki, it calls this “intel-media-driver”, but I think that the Debian-derivative equivalent of this is “intel-media-va-driver.”

Then I installed and ran vainfo, so I could give the folks on this forum something to work with. I think that’s all I did from the arch wiki.

It’s likely the Arch instructions are missing something needed for the Debian>Ubuntu>Zorin usage.

In looking at Zorin, it appears to be based on Ubuntu 20.04?

It’s entirely possible this is a bug that was fixed in more recent interations of Ubuntu based distros.

I tried upgrading to kernel 5.15.96, which broke output to a second display, then 6.0.9, which broke the OS entirely.

Going along that line of thinking, though, I did a more general search about hardware video decoding in Ubuntu, particularly with Chromium browsers, and it looks like the issue is just a menace right now. There are lots of open threads without conclusive answers, some dating back years. It makes me pessimistic that I’ll get this fixed, but I’ll keep looking.

It may be relevant to report the output of sudo lshw -c video:

       description: VGA compatible controller
       product: Intel Corporation
       vendor: Intel Corporation
       physical id: 2
       bus info: pci@0000:00:02.0
       logical name: /dev/fb0
       version: 0c
       width: 64 bits
       clock: 33MHz
       capabilities: pciexpress msi pm vga_controller bus_master cap_list rom fb
       configuration: depth=32 driver=i915 latency=0 mode=2256x1504 visual=truecolor xres=2256 yres=1504
       resources: iomemory:600-5ff iomemory:400-3ff irq:157 memory:605c000000-605cffffff memory:4000000000-400fffffff ioport:3000(size=64) memory:c0000-dffff memory:4010000000-4016ffffff memory:4020000000-40ffffffff

Notice that rather than reporting an actual GPU, it just says “Intel Corporation.”

What output do other Framework users see?

Following up on my comment in the other thread (A highly-amateur census of hardware-accelerated video decoding issues: - #4 by Aidan), it may be worth trying the Firefox flatpak (version 110) on Zorin. I have never gotten hardware decoding to work with snap Firefox, and vanilla Ubuntu installs the snap version by default - annoyingly, even if you use “apt” to install it. Zorin OS may do this also.

I think the only thing you need to do to enable HW decode on flatpak Firefox is to set “media.ffmpeg.vaapi.enabled = true” under about:config. My understanding is that it just uses the runtimes that are packaged with flatpak (“org.freedesktop.Platform.VAAPI.Intel”) to do the HW acceleration.

Help me understand: is trying to address the problem at the browser level even worthwhile while vainfo gives the output shown in the OP? Doesn’t that indicate that hardware decoding is broken on the system level?

My understanding of flatpak is that it might help - since it will use the media drivers installed in its own self-contained universe of runtimes, and not the main system ones. This could help get around any problems Zorin is having installing the media drivers from apt. Just a guess though!

Unless vaapi returns something like this:

Trying display: wayland
Trying display: x11
vainfo: VA-API version: 1.17 (libva 2.17.1)
vainfo: Driver version: Intel iHD driver for Intel(R) Gen Graphics - 22.6.4 ()
vainfo: Supported profile and entrypoints
      VAProfileNone                   : VAEntrypointVideoProc
      VAProfileNone                   : VAEntrypointStats
      VAProfileMPEG2Simple            : VAEntrypointVLD
      VAProfileMPEG2Main              : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointVLD
      VAProfileH264Main               : VAEntrypointEncSliceLP
      VAProfileH264High               : VAEntrypointVLD
      VAProfileH264High               : VAEntrypointEncSliceLP
      VAProfileJPEGBaseline           : VAEntrypointVLD
      VAProfileJPEGBaseline           : VAEntrypointEncPicture
      VAProfileH264ConstrainedBaseline: VAEntrypointVLD
      VAProfileH264ConstrainedBaseline: VAEntrypointEncSliceLP
      VAProfileVP8Version0_3          : VAEntrypointVLD
      VAProfileHEVCMain               : VAEntrypointVLD

it’s not going to work.
Did you run this in a running Xorg/wayland session? Did you (accidentally) configure nomodeset on your kernel boot parameters?

I don’t know what Wayland or nomodeset are, so it’s unlikely I’m using them. Following advice on the internet:

“echo $XDG_SESSION_TYPE” outputs:


I’m not quite sure how to check for nomodeset. Going into the GRUB boot menu by holding esc on startup, I see this:

Posting the link from the duplicate thread here: