Intel Graphics - Best practices and settings for hardware acceleration?

It’s not actually related to secure boot and there’s no out-of-tree module in this case. It’s just that kernel developers decided that enabling this particular non-default option makes debugging eventual issues too difficult or impossible as the option itself may cause issues. See Tainted kernels — The Linux Kernel documentation for more details.

1 Like

According to the link in the first post, GuC/HuC are only available from Gen9 processors, so it should be safer to skip this part as Gen8 (or less) users.


Thanks a lot! Worked like a charm for getting HD video playback working in gwenview (before hd-video was laggy/stuttering with every player except VLC).

One additional question: with Fedora 37 it has been announced that hardware video acceleration for x264 and x265 will be dropped (due to legal reasons) - does anybody know if that means that vaapi will no longer work? Efficient video playback is one of the central tasks of any OS - so dropping this will probably force me to review my distro choice. Thanks!

1 Like

The rpmfusion mesa drivers (mesa-freeworld) just hit testing, so it looks like they will be available.


Sounds good, thanks! Fedora is clearly my favorite distro running perfectly on my brandnew laptop (HP envy x360 - although opensuse does since 10 yrs a good job on my desktop PC). So I will wait a little bit and then see …

1 Like

Work in progress … Alder Lake is a glimpse of heterogeneous hybrid CPU/GPU giving sense to DPC++ being kernel programming similar to NVidia Cuda extension of C++ or modern C++ 20 and further. Debian blindly refuses to install whatever you try, CentOS Stream is fine. A lot of people will need to repackage, rewrite code to take full advantage of new hardware falling back to compatibility mode by default, FLEX is the new hardware GPU for data centers, ARC for general purpose configuration.

1 Like

For some clarification about the modprobe config, the Intel Graphics for Linux website (originally posted by @beuraud) says the correct line is i915.enable_guc=2 for 12th-gen Alder Lake-S (desktop) chips and earlier, whereas i915.enable_guc=3 is for Alder Lake-P (laptop) chips and later, though in this setting the config is potentially unnecessary as it’s enabled by default.

The reason for the i915.enable_guc=3 line is to ensure that HuC is also enabled along with GuC.

It’s a bit odd since the ArchWiki page also seems to imply that HuC is not supported on Tigerlake (which I have) but my dmesg lines show the following:

[    2.841002] i915 0000:00:02.0: [drm] GuC firmware i915/tgl_guc_70.1.1.bin version 70.1
[    2.841011] i915 0000:00:02.0: [drm] HuC firmware i915/tgl_huc_7.9.3.bin version 7.9
[    2.844385] i915 0000:00:02.0: [drm] HuC authenticated
[    2.844777] i915 0000:00:02.0: [drm] GuC submission enabled
[    2.844778] i915 0000:00:02.0: [drm] GuC SLPC enabled
[    2.845358] i915 0000:00:02.0: [drm] GuC RC: enabled

So it does seem like the i915.enable_guc=3 line does enable both GuC and HuC on all 12th gen Intel graphics (not to be confused with Intel processor generations) and Tigerlake is in that generation.

Definitely confusing though and I could be wrong myself.

Read the notice at the beginning of linked ArchWiki paragraph.

Confusing? … seems Intel is working backwards admitting poor performance of Alder Lake framework against AMD but they’re only talking about ‘Gamers’ software that is notoriously focused on number of standard identical cores using somewhat old developer librairies based on stability for obvious financial gain. The idea of DPC++ mixing CPU, GPU, FPGA, … is the exact way to go …

Hi all,

I noticed that my desktop’s(Gnome) Settings:About:Graphics shows ‘Software Rendering’.

I followed the steps above to see if that helps but so far, it has not.

My workstation: (see image)

Hi, start a new topic regarding that issue and post there output of glxinfo -B and cat /proc/cmdline.

1 Like

I figured it out.

In case someone else finds this, I had nomodeset=0 in my grub line.

I had set this, perhaps when I was troubleshooting a failed updated. I am not sure where/when I exactly set it, but that is it.


Has anyone tested these practices on 13th gen Laptop CPUs? I’m planning to buy a lap with one (13500h).