Hello. I’ve been banging my head against the apparently-common issue of hardware accelerated video decoding on Linux, and I thought I should do a census on what works. I tested video decoding on all four of the Linux devices I have on hand, with three different video-decoding applications each. I don’t draw any conclusions from this, other than the obvious fact that almost nothing clearly works “out of the box.” This is just for the sake of one person reporting their unscientific experience:
On Zorin (Framework laptop):
Brave: No (also tried the commonly-recommended solutions)
Firefox: No
VLC: Maybe. VLC complains when launched from the terminal, but CPU usage is lower than streamed videos.
vainfo: unhealthy.
On Zorin Lite (Thinkpad T550):
Brave: No
Firefox: No
VLC: Yes
On Steam OS 3 (Steam Deck):
Brave: Maybe. CPU loads, but GPU also occasionally spikes for an instant. Brawser says that it can use hardware accelerated decoding, but isn’t.
Firefox: Maybe. CPU loads, but GPU also occasionally spikes for an instant.
VLC: Maybe. CPU loads less than with browsers, and GPU loads more. Much less distinct than VLC on Zorin Lite, though.
On Mint (Framework Laptop):
Brave: No (also tried the commonly-recommended solutions)
Firefox: No
VLC: Yes
vainfo: VA-API 1.14.0 seems healthy.
I have been able to get hardware accelerated decoding on Firefox in every Ubuntu-based distro I have tried, including Mint. It seems like even the flatpak version of Firefox now has the correct runtimes for the newer intel igpus. I have never been able to get it to work in the snap version of Firefox though - maybe this is the problem on Zorin OS?
I uninstalled the version of Firefox that comes with Zorin, which is a Snap, and installed one through APT. But no dice, based on the output of intel_gpu_top.
And yes: I have followed the directions on the Arch wiki to the best of my ability.
I think it may also depend on the streaming platform’s implementation. Although the same video on bilibili and youtube are all encoded in av1, the one on bilibili cannot trigger hardware acceleration but the one on youtube can.
I tested only on youtube. Again: unscientific, but I tried various videos, because I’ve heard that, even on youtube, hardware decoding support isn’t the same across all videos.