So I recently made a discovery that I honesty feel daft for not realizing before.
For anyone who recently moved to Linux or like me didn’t think about it there are separate video acceleration libraries for your GPU! Now most of you were probably completely aware of that. But I wasn’t so I’ve been mainly watching TV on my ThinkPad X230 for a couple of years at this point, and I always found video playback kinda lacking sometimes(stuttering, screen tearing, etc), but I always though that was due to the generally bad intel GPU drivers on Linux( there are libraries for AMD and Nvidia too). Until I came across this page on the Arch wiki( which except package names should apply to any other distro).
https://wiki.archlinux.org/title/Hardware_video_acceleration
And I’ve since had much better video playback performance that no longer has stuttering and screen tearing!
So I hope this helps someone else at some point in time have a better experience on their Linux distro watching some TV or YouTube.
I knew that there existed different types of hardware video encoders, but I always thought that it would get installed together with your gpu drivers. Thanks will check it out!
It sometimes does.
That was my assumption as well. Thanks OP for sharing.
I am not gonna lie… Hardware video acceleration on Linux has traumatized me so much. I have spend soooooo much time over the years dealing with this shit. I has gotten better, i admit. But before you had to make sure all the stars aligned perfectly to make this shit work properly. Hell, even last week i found out that hardware video acceleration did not seem to work on twitch.tv on my firefox browser. After 2 days of reinstalling my Linux distro, drivers, many different ways of running firefox such as the rpm version, flatpak etc. I found out opensuse removed the mesa drivers that included the codecs i needed… i found out about it through some old reddit post comment with 2 upvotes… Even now i am having issues with running sunshine streaming. And it drives me insane because it SHOULD work. But it doesn’t. It could be the flatpak not having correct access. It could be the driver. It could be wayland. I don’t even know anymore… it just refuses to find available codecs. Then i tried steam remote play instead. And it streams… a black screen with only my cursor showing.
I don’t know anymore. I don’t care anymore.
Oh another fun one is geforce now. On Linux if you use hardware acceleration, a certain part of the grey/black color spectrum is missing from the video stream. So games are quite darker and it makes games like dead by daylight completely unplayable as most dark spots are completely black. If you run it without hardware acceleration it works fine… but then you get very bad lag, stuttering and slowmotion at higher bitrate. So that is also unplayable.
Hardware video acceleration on Linux is a disaster and really deserves more attention. Every now and then it works and then something updates and everything is broken again. I currently just dual boot because i use sunshine and geforce now a lot.
Sorry for the long rant. I didn’t know i typed this much. But it honestly really deserves some attention as it can really mess up the users experience. Often without their knowledge.
deleted by creator
I hate this aspect of Linux. I spent countless days trying to figure this shit out on Tumbleweed. Turns out you have to manually install codecs. https://en.opensuse.org/SDB:Installing_codecs_from_Packman_repositories
You wouldn’t know this because it really isn’t hinted anywhere until you notice your CPU going into overdrive when you play a 4K video on YouTube.
I don’t know how to explain this to any regular m$ user that this is a thing they need to do because reasons.
One of my biggest pet peeves with Linux by far. Usually my use of Linux is generally just
parsec
and that’s it. But I can’t ever select the right driver, and then I forget, idk it’s a whole thing and I just wish it was baked in and easy, but then again it is linuxI don’t exactly know why, but part of it could be that due to different open source licences they have to keep things separate, because the kernel is licenced under the GPL, and the Intel video libraries probably aren’t.
Another reason could be simply not wanting bloat, but with everything a standard kernel does come with I guess probably not
Quick way to check if a program is using hardware video acceleration is with a gpu top utility.
Intel - intel_gpu_top
Nvidia - nvidia-smi / nvtop
AMD - radeontop / nvtop / amdgpu_top (just did quick search, don’t have any AMD powered on to verify)
Noting, this PSA is absolutely useful for older components - especially Intel, but anyone using something newer than Skylake (circa 2015) is probably already set up with intel-media-driver or the nv/amd video driver.
nvtop is a useful tool to monitor GPU activity and the decoder in use when a video plays, if you’re unsure
deleted by creator