SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
As of today, in order to get it working in -current (shipping libva-2.18) I had to update the slackbuilds for intel-gmmlib-22.3.5 and intel-media-23.1.6, as older version would only support libva-2.17
Unfortunately an additional patch is required for it to compile with gcc 13: https://patch-diff.githubusercontent...ull/1648.patch
Distribution: VM Host: Slackware-current, VM Guests: Artix, Venom, antiX, Gentoo, FreeBSD, OpenBSD, OpenIndiana
Posts: 1,011
Original Poster
Rep:
Quote:
Originally Posted by ctrlaltca
As of today, in order to get it working in -current (shipping libva-2.18) I had to update the slackbuilds for intel-gmmlib-22.3.5 and intel-media-23.1.6, as older version would only support libva-2.17
Unfortunately an additional patch is required for it to compile with gcc 13: https://patch-diff.githubusercontent...ull/1648.patch
Thank you ctrlaltca.
I wanted to update first page accordingly but it is not possible anymore. I hope that intel video users on Slackware current will see your post.
Max core profile version: 4.6
Max compat profile version: 4.6
Max GLES1 profile version: 1.1
Max GLES[23] profile version: 3.2
OpenGL core profile version string: 4.6 (Core Profile) Mesa 21.3.5
OpenGL ES profile version string: OpenGL ES 3.2 Mesa 21.3.5
eglinfo | grep version
Code:
EGL API version: 1.5
EGL version string: 1.5
EGL API version: 1.5
EGL version string: 1.5
replace xxxxxxxx with extension id value
e.g. for enhanced-h264ify
now in chromium address bar enter: https://clients2.google.com/service/...3&prodversion=117.0.5938.149&x=id%3Domkfmpieigblcllmkgbflkikinpkodlk%26installsource%3Dondemand%26uc
confirm installation
now enhanced-h264ify is installed so everybody can enjoy 4K video in chromium
extension ID value and chromium version will change in the future of course
So, I've been fixing a new installation of Slackware on an old computer, and I'm onto this topic myself now. Anyways, I've been trying to get hardware acceleration for Firefox, since the machine is old and the performance in this case makes quite alot of difference.
Anyways, there are a few factors to consider. Some of these things depend on the Firefox version, but with newer version of Firefox you no longer need to disable sandboxed media, va-api is no longer blocked by RDD (fixed around version 96 of Firefox).
So, I was dabbling around with these things, and got quite far with cpufreq, wayland and enabling hardware acceleration for Firefox. Previously I couldn't play 1080p video at 60fps without feeling like I was in an airport, now it's possible. Most 3d rendering is offloaded to hardware (as oppose to software), which has really helped this situation. This older machine now plays 1080p video at 60fps in relative peace and quiet.
That however was not the case in Wayland when using xwayland as the compositor.. The performance was midway there, or something to that like. So I'd also recommend if you are using Wayland to make sure to use Wayland and not xwayland as the compositor.
Code:
export MOZ_ENABLE_WAYLAND=1
That made everything else I had done until that point fall into place. Your compositor situation can be checked in Firefox under "about:support".
Well, in any case, I did not fully reach the place I intended to reach with Firefox. My intel_gpu_top tells me rendering 3d is working fine, but my video says 0%, so it's not used. I still need to figure out a few things to complete this setup, but I suspect this situation has both to do with the card not supporting video acceleration that I use in Firefox (of the relevant it only supports h264), and the fact that I'm running an older version of Firefox (albeit under Linux MAC), so the Firefox sandbox is probably blocking video acceleration, like described in this thread. So I still have some issues to iron out before I get this setup fully working, so I'm looking at this thread again. I think this thread will be very useful for that.
Anyways, from my experience already, it really does seem worth the time and effort to enable hardware acceleration, especially for Firefox, as the performance is MUCH better (especially noticable on an older computer).
However, since I was previously dabbling around with GPU passthrough, I have all the facilities set up correctly for Intel GPU parameters. But I do wonder why these things would be necessary for regular hardware acceleration. I'm talking about enable_guc and enable_fbc. These are not normally things I would like to enable (outside of having to do so for GPU passthrough). So what exactly is the reason for that in this thread? Where did it come from and what purpose does it serve in regards to hardware acceleration?
Ooh, and also, it seems my machine is using the i965 driver as oppose to the iHD, although since it is HD4000, it actually should be using iHD and not i965 from what I figure. Not sure why it does that.
Distribution: VM Host: Slackware-current, VM Guests: Artix, Venom, antiX, Gentoo, FreeBSD, OpenBSD, OpenIndiana
Posts: 1,011
Original Poster
Rep:
Quote:
Originally Posted by zeebra
So, I've been fixing a new installation of Slackware on an old computer, and I'm onto this topic myself now. Anyways, I've been trying to get hardware acceleration for Firefox, since the machine is old and the performance in this case makes quite alot of difference.
Anyways, there are a few factors to consider. Some of these things depend on the Firefox version, but with newer version of Firefox you no longer need to disable sandboxed media, va-api is no longer blocked by RDD (fixed around version 96 of Firefox).
So, I was dabbling around with these things, and got quite far with cpufreq, wayland and enabling hardware acceleration for Firefox. Previously I couldn't play 1080p video at 60fps without feeling like I was in an airport, now it's possible. Most 3d rendering is offloaded to hardware (as oppose to software), which has really helped this situation. This older machine now plays 1080p video at 60fps in relative peace and quiet.
That however was not the case in Wayland when using xwayland as the compositor.. The performance was midway there, or something to that like. So I'd also recommend if you are using Wayland to make sure to use Wayland and not xwayland as the compositor.
Code:
export MOZ_ENABLE_WAYLAND=1
That made everything else I had done until that point fall into place. Your compositor situation can be checked in Firefox under "about:support".
Well, in any case, I did not fully reach the place I intended to reach with Firefox. My intel_gpu_top tells me rendering 3d is working fine, but my video says 0%, so it's not used. I still need to figure out a few things to complete this setup, but I suspect this situation has both to do with the card not supporting video acceleration that I use in Firefox (of the relevant it only supports h264), and the fact that I'm running an older version of Firefox (albeit under Linux MAC), so the Firefox sandbox is probably blocking video acceleration, like described in this thread. So I still have some issues to iron out before I get this setup fully working, so I'm looking at this thread again. I think this thread will be very useful for that.
Anyways, from my experience already, it really does seem worth the time and effort to enable hardware acceleration, especially for Firefox, as the performance is MUCH better (especially noticable on an older computer).
However, since I was previously dabbling around with GPU passthrough, I have all the facilities set up correctly for Intel GPU parameters. But I do wonder why these things would be necessary for regular hardware acceleration. I'm talking about enable_guc and enable_fbc. These are not normally things I would like to enable (outside of having to do so for GPU passthrough). So what exactly is the reason for that in this thread? Where did it come from and what purpose does it serve in regards to hardware acceleration?
Ooh, and also, it seems my machine is using the i965 driver as oppose to the iHD, although since it is HD4000, it actually should be using iHD and not i965 from what I figure. Not sure why it does that.
Starting with Gen9 (Skylake and onwards), Intel GPUs include a Graphics micro (μ) Controller (GuC) which provides the following functionality [6][dead link 2023-09-16 ⓘ]:
Offloading some media decoding functionality from the CPU to the HEVC/H.265 micro (µ) Controller (HuC). Only applicable if using intel-media-driver for hardware video acceleration. Introduced with Gen9.
Using the GuC for scheduling, context submission, and power management. Introduced with Alder Lake-P (Mobile), within Gen12.
To use this functionality, the GuC firmware must be loaded
Enabling GUC and HUC works for TigerLake and later. Explained in the first post in this thread.
Enabling GUC and HUC works for TigerLake and later. Explained in the first post in this thread.
Yeah, I never could remember or figure out the Intel codenames and generation stuff, but the old computer is Ivybridge, so it's clearly much too old for most of the video hardware decoding stuff (except h264). I think if I was to compare before and after, before hardware acceleration, the 3d set of things would be around 10%, while after enabling hardware acceleration, it would be around 40%, and when changing from xwayland to wayland it would be at 80%+.
Obviously the test case scenario was not entirely scientific, but combining the factors and using the same test case, it was clear that hardware acceleration was pushed to the 3d part of the situation, and even more so with Wayland than Xwayaland. This all resulted in a gradually lower CPU need when playing the same video (1080p at 60fps). So from my understanding it works (so far) as it should, and from my understanding and what you tell me, that might be about the maximum extent of it with that old computer model.
Anyways, although in theory I could test on a newer computer, that one runs a/in a virtual machine, so it can't really play much video at all, unless I use GPU passthrough to the virtual machine.
But hey, happy days, that's why I have the older machine, to play internet video from, and it had troubles doing so at 1080p@60fps before (even 30fps), but now does it perfectly well. I'll still be looking into those about:config parameters for the old machine, because I don't feel web browsing is optimized, it still kind of coughs at rendering websites.. Not that I use it for that often, but it would be nice to do so without too much trouble.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.