GuC and HuC firmware on proxmox 8.3.2

skal

Member
Aug 18, 2023
19
3
8
Hi all ,
I would like to enable GuC (graphics micro controller) firmware and HuC (HEVC micro controller) firmware on a minipc running proxmox 8.3.2.
This is the reason why
I've added in the apt source.list file the part nonfree, but the problem is that if I try

Code:
$  sudo apt install -y firmware-linux-nonfree

I get the error that it will mess up with proxmox-ve.
Since I don't want to have any problem on my server, does anybody could help me to how to enable the graphic part without having problems with the rest?

thank you
 
I get the error that it will mess up with proxmox-ve.
Yes, be careful. And do not use "-y" in such cases as it represents "yes, do it, whatever it is".

I have no idea what HuC/GuC is (beside you initial statement), but you may compare this:
Code:
root@pvef:~# apt show  pve-firmware
Package: pve-firmware

Replaces: firmware-amd-graphics, firmware-ath9k-htc, firmware-atheros, firmware-bnx2, firmware-bnx2x, firmware-brcm80211, firmware-cavium, firmware-intelwimax, firmware-ipw2x00, firmware-ivtv, firmware-iwlwifi, firmware-libertas, firmware-linux-free, firmware-linux-nonfree, firmware-misc-nonfree, firmware-myricom, firmware-netronome, firmware-netxen, firmware-qlogic, firmware-ralink, firmware-realtek, firmware-siano, firmware-ti-connectivity

Description: Binary firmware code for the pve-kernel
 This package contains the binary firmware for various modules used in
 the pve-kernel.

Code:
root@pvef:~# dpkg -L pve-firmware  | egrep -i  "huc|guc"
/lib/firmware/i915/adlp_guc_62.0.3.bin
/lib/firmware/i915/adlp_guc_69.0.3.bin
/lib/firmware/i915/adlp_guc_70.1.1.bin
/lib/firmware/i915/adlp_guc_70.bin
/lib/firmware/i915/bxt_guc_62.0.0.bin
/lib/firmware/i915/bxt_guc_70.1.1.bin
/lib/firmware/i915/bxt_huc_2.0.0.bin
/lib/firmware/i915/cml_guc_62.0.0.bin
/lib/firmware/i915/cml_guc_70.1.1.bin
/lib/firmware/i915/cml_huc_4.0.0.bin
/lib/firmware/i915/dg1_guc_70.bin
/lib/firmware/i915/dg1_huc.bin
/lib/firmware/i915/dg2_guc_70.bin
/lib/firmware/i915/dg2_huc_gsc.bin
/lib/firmware/i915/ehl_guc_62.0.0.bin
/lib/firmware/i915/ehl_guc_70.1.1.bin
/lib/firmware/i915/ehl_huc_9.0.0.bin
/lib/firmware/i915/glk_guc_62.0.0.bin
/lib/firmware/i915/glk_guc_70.1.1.bin
/lib/firmware/i915/glk_huc_4.0.0.bin
/lib/firmware/i915/icl_guc_62.0.0.bin
/lib/firmware/i915/icl_guc_70.1.1.bin
/lib/firmware/i915/icl_huc_9.0.0.bin
/lib/firmware/i915/kbl_guc_62.0.0.bin
/lib/firmware/i915/kbl_guc_70.1.1.bin
/lib/firmware/i915/kbl_huc_4.0.0.bin
/lib/firmware/i915/mtl_guc_70.bin
/lib/firmware/i915/mtl_huc_gsc.bin
/lib/firmware/i915/skl_guc_62.0.0.bin
/lib/firmware/i915/skl_guc_70.1.1.bin
/lib/firmware/i915/skl_huc_2.0.0.bin
/lib/firmware/i915/tgl_guc_62.0.0.bin
/lib/firmware/i915/tgl_guc_69.0.3.bin
/lib/firmware/i915/tgl_guc_70.1.1.bin
/lib/firmware/i915/tgl_guc_70.bin
/lib/firmware/i915/tgl_huc.bin
/lib/firmware/i915/tgl_huc_7.9.3.bin
/lib/firmware/xe/bmg_guc_70.bin
/lib/firmware/xe/bmg_huc.bin
/lib/firmware/xe/lnl_guc_70.bin
/lib/firmware/xe/lnl_huc.bin
 
Yes, be careful. And do not use "-y" in such cases as it represents "yes, do it, whatever it is".

I have no idea what HuC/GuC is (beside you initial statement), but you may compare this:
Code:
root@pvef:~# apt show  pve-firmware
Package: pve-firmware

Replaces: firmware-amd-graphics, firmware-ath9k-htc, firmware-atheros, firmware-bnx2, firmware-bnx2x, firmware-brcm80211, firmware-cavium, firmware-intelwimax, firmware-ipw2x00, firmware-ivtv, firmware-iwlwifi, firmware-libertas, firmware-linux-free, firmware-linux-nonfree, firmware-misc-nonfree, firmware-myricom, firmware-netronome, firmware-netxen, firmware-qlogic, firmware-ralink, firmware-realtek, firmware-siano, firmware-ti-connectivity

Description: Binary firmware code for the pve-kernel
 This package contains the binary firmware for various modules used in
 the pve-kernel.

Code:
root@pvef:~# dpkg -L pve-firmware  | egrep -i  "huc|guc"
/lib/firmware/i915/adlp_guc_62.0.3.bin
/lib/firmware/i915/adlp_guc_69.0.3.bin
/lib/firmware/i915/adlp_guc_70.1.1.bin
/lib/firmware/i915/adlp_guc_70.bin
/lib/firmware/i915/bxt_guc_62.0.0.bin
/lib/firmware/i915/bxt_guc_70.1.1.bin
/lib/firmware/i915/bxt_huc_2.0.0.bin
/lib/firmware/i915/cml_guc_62.0.0.bin
/lib/firmware/i915/cml_guc_70.1.1.bin
/lib/firmware/i915/cml_huc_4.0.0.bin
/lib/firmware/i915/dg1_guc_70.bin
/lib/firmware/i915/dg1_huc.bin
/lib/firmware/i915/dg2_guc_70.bin
/lib/firmware/i915/dg2_huc_gsc.bin
/lib/firmware/i915/ehl_guc_62.0.0.bin
/lib/firmware/i915/ehl_guc_70.1.1.bin
/lib/firmware/i915/ehl_huc_9.0.0.bin
/lib/firmware/i915/glk_guc_62.0.0.bin
/lib/firmware/i915/glk_guc_70.1.1.bin
/lib/firmware/i915/glk_huc_4.0.0.bin
/lib/firmware/i915/icl_guc_62.0.0.bin
/lib/firmware/i915/icl_guc_70.1.1.bin
/lib/firmware/i915/icl_huc_9.0.0.bin
/lib/firmware/i915/kbl_guc_62.0.0.bin
/lib/firmware/i915/kbl_guc_70.1.1.bin
/lib/firmware/i915/kbl_huc_4.0.0.bin
/lib/firmware/i915/mtl_guc_70.bin
/lib/firmware/i915/mtl_huc_gsc.bin
/lib/firmware/i915/skl_guc_62.0.0.bin
/lib/firmware/i915/skl_guc_70.1.1.bin
/lib/firmware/i915/skl_huc_2.0.0.bin
/lib/firmware/i915/tgl_guc_62.0.0.bin
/lib/firmware/i915/tgl_guc_69.0.3.bin
/lib/firmware/i915/tgl_guc_70.1.1.bin
/lib/firmware/i915/tgl_guc_70.bin
/lib/firmware/i915/tgl_huc.bin
/lib/firmware/i915/tgl_huc_7.9.3.bin
/lib/firmware/xe/bmg_guc_70.bin
/lib/firmware/xe/bmg_huc.bin
/lib/firmware/xe/lnl_guc_70.bin
/lib/firmware/xe/lnl_huc.bin
Hello @UdoB ,
thank you for your reply

You can find more infos about guc-huc in the following paper

https://cdrdv2-public.intel.com/609...ntel-guc-huc-advanced-gpu-features-v1-1-1.pdf

I would like to implement it for my immich server as you can find in the following link.

https://github.com/immich-app/immich/discussions/11422

For your suggestion thank you . I will never use a "-y" flag on my server. Maybe on some container ;-)