Apologies for breaking the thread, I thought I had _copied_ Pierre's mail to my notes, and then I edited my note on microcode to include the TLAs for Broadwell etc so that I could understand the intel release notes next time, and deleted the copy. But what I'd actually done was Save the mail, so I'm now posting the original from the archive. Sorry about that, blame it on too much williewaught [1.]
And thanks for finding these explanations of the TLAs. Pierre wrote: > Hi, > > While investigating the bug in libva-2.6.0, I realized that there was a new > vaapi driver for intel GEN8+ graphics: iHD_drv_video.so > > The source is at https://github.com/intel/media-driver. > > If anybody with the appropriate hardware wants to try... > Personally, I am at 4th gen intel (Haswell), so I cannot test. > Note that it also requires the gmmlib graphics memory management library: > https://github.com/intel/gmmlib. > > Note that libva-2.6.0 has a bug (https://github.com/intel/libva/issues/355) > which prevents using the i965 driver if the iHD driver is also installed. I > have provided a patch to fix this issue > (https://github.com/intel/libva/issues/356), but I cannot test for lack of > hardware! So if anybody has a recent intel CPU ( > BDW (Broadwell) > SKL (Skylake) > BXT (Broxton) / APL (Apollo Lake) > KBLx (KBL/Kaby Lake; CFL/Coffe Lake; WHL/Whiskey Lake; CML/Comet Lake; > AML/Amber Lake) > ICL (Ice Lake) > JSL (Jasper Lake)/EHL (Elkhart Lake) > TGL (Tiger Lake) > ) > please try it, thanks I _do_ have a low-end skylake (i3 6100), but I don't think I'll have time to look at this in January, and probably not in February. But nevertheless, some comments. First, GEN8+ is not the same as 8nnn CPUs (Kaby Lake etc). Broadwell is 5nnn, Skylake are 6nnn (or 7nnn for some, but maybe those lack integrated graphics). I think it means the 8th and later generations of intel integrated graphics. Oddly, the link to the media-driver looks correct, but 404s when I click on it from the archive. But looking at the README there are two types of build: Full Feature and Free Kernel. I don't grok the explanation of the differences, but I see that Arch have a build which looks straightforward, ditto intel-gmmlib. Importantly, HuC firmware is needed for several of the encoders, this is currently disabled by default in released kernels (I believe there is an attempt to get it enabled by default in 5.5 or perhaps 5.6). The kernel docs apparently explain how to enable it on current kernels, but I would be very wary of doing that until it arrives in a released kernel, because there have been so many problems. Back in July phoronix reported it would be loaded by default in IceLake (Gen 11). In particular, https://wiki.archlinux.org/index.php/Intel_graphics#Enable_GuC_/_HuC_firmware_loading says that loading GuC/HuC firmware can cause freezing, e.g. when resuming from hibernation. But the bottom of that page says it is out of date: Reason: GuC submission has been completely disabled in the kernel, due to it reducing performance and causing bugs. Setting enable_guc=3 has no effect. Yes, that is GuC not HuC, but it doesn't give me a lot of confidence. Once a release kernel enables HuC on 5nnn and 6nnn CPUs with integrated graphics, things ought to be fine. But meanwhile, I would class it as "here might be dragons". Hmm, found the phoronix article I was thinking of, https://www.phoronix.com/scan.php?page=news_item&px=Intel-GuC-HuC-Auto-Enable-Again With a link to the patch. On this AMD machine I've got kernel 5.4.5 source, the patch has NOT been applied there: > diff --git a/drivers/gpu/drm/i915/i915_params.h >> b/drivers/gpu/drm/i915/i915_params.h >> index d29ade3b7de6..5736c55694fe 100644 >> --- a/drivers/gpu/drm/i915/i915_params.h >> +++ b/drivers/gpu/drm/i915/i915_params.h >> @@ -54,7 +54,7 @@ struct drm_printer; >> param(int, disable_power_well, -1) \ >> param(int, enable_ips, 1) \ >> param(int, invert_brightness, 0) \ >> - param(int, enable_guc, 0) \ >> + param(int, enable_guc, -1) \ >> param(int, guc_log_level, -1) \ >> param(char *, guc_firmware_path, NULL) \ >> param(char *, huc_firmware_path, NULL) \ (also a comment that GuC is only used for HuC authentication). I've also got 5.5-rc4 source, and again this has NOT been applied. ĸen 1. https://www.dsl.ac.uk/entry/snd/williewaught -- The Laird o’Phelps spent Hogmanay declaring he was sober, Counted his feet to prove the fact and found he had one foot over. -- Louis MacNeice, Bagpipe Music -- http://lists.linuxfromscratch.org/listinfo/blfs-dev FAQ: http://www.linuxfromscratch.org/blfs/faq.html Unsubscribe: See the above information page
