Video Player w/ Hardware Accelerated AV1 Decoding on Linux (Nvidia GPU)
Question
As the title suggests, I'm looking for a video player that can playback AV1 encoded video files with hardware acceleration via an Nvidia GPU on Linux (Ubuntu 24.04 LTS).
Personally I've used VLC Player on Windows for like 2 decades, and since v3.0.18 it's had Hardware Accelerated AV1 Decoding support on Windows. I install it with
winget install VLC.VLC
and it just works, no additional configuration needed. On Linux however... when selecting any of the "Hardware-accelerated decoding" options I get either poor performance or a black screen.
- VA-API video decoder - Poor playback performance (anything over 1080p freezes).
- VDPAU video decoder - Black screen on all codecs.
- Disabled - Poor playback performance (anything over 1080p freezes).
I installed an open source VAAPI driver for Nvidia on Linux. But I can't find anyone using it for anything outside of web browsers. I'm looking for a Video Player Desktop application that'll playback AV1 smoothly, at this point I'm open to switching of VLC Player if anything else can get the job done.
Relevant System Info
- OS - Ubuntu 24.04 LTS (X11)
- Motherboard - ASRock Taichi X399M
- CPU - AMD Threadripper 2970WX
- GPU - Nvidia RTX 4070 Ti6 Replies
I was just about to suggest MPV lol
Weird how hard it was for me to find this answer, been trying to figure this out for months.
I'm sure I just wasn't using the right queries, but also Linux things.
Also note - I had to use the apt version of mpv, I initially installed mpv with snap and couldn't get it working.
I know snap sandboxes stuff, probably a way to configure access of a snap package, but I couldn't figure it out.
sudo apt install ffmpeg mpv
easiest for sure.Snaps are very hit or miss, not a fan lol. There are several MPV frontends you can try as well. I would suggest Celluloid since you're probably on GNOME
GitHub
GitHub - celluloid-player/celluloid: A simple GTK+ frontend for mpv
A simple GTK+ frontend for mpv. Contribute to celluloid-player/celluloid development by creating an account on GitHub.
Oh that's interesting, I'll check it out. Thanks 🙏