HuC(9)
β¨ HuC(9) β Kernel API Manual, group-chat edition β¨
π NAME π
HuC β the dedicated microcontroller for usage in media HEVC (High Efficiency Video Coding) operations. π
πΈ DESCRIPTION πΈ
Okay so picture this: the HuC is a dedicated microcontroller for media HEVC (High Efficiency Video Coding) operations. Userspace can directly use the firmware capabilities by adding HuC specific commands to batch buffers. β¨
The kernel driver is only responsible for loading the HuC firmware and triggering its security authentication. And the way that happens is platform-dependent, bestie:
- older platforms (from Gen9 to most Gen12s) β the load is performed via DMA, and the authentication via GuC.
- DG2 β load and authentication are both performed via GSC.
- MTL and newer platforms β the load is performed via DMA (same as with not-DG2 older platforms), while the authentication is done in 2-steps: a first auth for clear-media workloads via GuC, and a second one for all workloads via GSC.
On platforms where the GuC does the authentication, to correctly do so the HuC binary must be loaded before the GuC one. β οΈ
Loading the HuC is optional; however, not using the HuC might negatively impact power usage and/or performance of media workloads, depending on the use-cases. (optional, but skipping it can hit power/performance depending on the use-cases π)
HuC must be reloaded on events that cause the WOPCM to lose its contents (S3/S4, FLR); on older platforms the HuC must also be reloaded on GuC/GT reset, while on newer ones it will survive that. π«Ά
See https://github.com/intel/media-driver for the latest details on HuC functionality. π₯
π SEE ALSO π
- Kernel file
./drivers/gpu/drm/i915/gt/uc/intel_huc.c HuC Memory Management(9)intel_huc_auth(9)intel_huc_check_status(9)intel_huc_load_status(9)
mwah π source path ./drivers/gpu/drm/i915/gt/uc, dated October 2026, for HuC(9) β slay and read the source, bestie π
π¦ where this page comes from
- nixpkgs unstable: linux-manual 7.3.1
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash-1017 on : a language model's rewrite of the original, under its terms