Hello everyone The “drivers” for hardware video decoders on Intel GPUs have been split into free and non-free packages.
https://packages.debian.org/en/sid/intel-media-va-driver https://packages.debian.org/en/sid/intel-media-va-driver-non-free The difference between the two is that the Intel source code contains blobs (byte arrays in the C source) with pre-compiled GPU shaders. The source code for the pre-complied shaders is not included and does not appear to be available under a free license. The list of affected files can be found in the Debian Copyright File: media_driver/agnostic/Xe_M/Xe_HPM/codec/kernel/XE_HPM_VC1_OLP.c media_driver/agnostic/Xe_M/Xe_HPM/codec/kernel/Xe_Hpm_Film_Grain.c media_driver/agnostic/Xe_M/Xe_XPM/codec/kernelisa/Xe_XPM_Film_Grain.c media_driver/agnostic/Xe_M/Xe_XPM/codec/kernelisa/Xe_XPM_VC1_OLP.c media_driver/agnostic/Xe_M/Xe_XPM/vp/kernel/cmfcpatch/igvpkrn_xe_xpm_cmfcpatch.c media_driver/agnostic/Xe_M/Xe_XPM/vp/kernel/igvpkrn_isa_xe_xpm.c media_driver/agnostic/Xe_M/Xe_XPM/vp/kernel/igvpkrn_xe_xpm.c media_driver/agnostic/Xe_M/Xe_XPM_plus/codec/kernel/Xe_XPM_plus_Film_Grain.c media_driver/agnostic/Xe_M/Xe_XPM_plus/vp/kernel/cmfcpatch/igvpkrn_xe_xpm_plus_cmfcpatch.c media_driver/agnostic/Xe_M/Xe_XPM_plus/vp/kernel/igvpkrn_xe_xpm_plus.c media_driver/agnostic/gen11/codec/kernel/igcodeckrn_g11.c media_driver/agnostic/gen11_icllp/codec/kernel/igcodeckrn_g11_icllp.c media_driver/agnostic/gen11_icllp/vp/kernel/igvpkrn_g11_icllp.c media_driver/agnostic/gen11_icllp/vp/kernel/igvpkrn_isa_g11_icllp.c media_driver/agnostic/gen12/codec/kernel/igcodeckrn_g12.c media_driver/agnostic/gen12/codec/kernelisa/*.c media_driver/agnostic/gen12_tgllp/vp/kernel/cmfc/igvpkrn_g12_tgllp_cmfc.c media_driver/agnostic/gen12_tgllp/vp/kernel/cmfccmlpch/igvpkrn_g12_tgllp_cmfccmlpch.c media_driver/agnostic/gen12_tgllp/vp/kernel/cmfcpatch/igvpkrn_g12_tgllp_cmfcpatch.c media_driver/agnostic/gen12_tgllp/vp/kernel/igvpkrn_g12_tgllp.c media_driver/agnostic/gen12_tgllp/vp/kernel/igvpkrn_isa_g12_tgllp.c media_driver/agnostic/gen12_tgllp/vp/kernel/swsb/igvpkrn_g12_tgllp_swsb.c media_driver/agnostic/gen8/codec/kernel/igcodeckrn_g8.c media_driver/agnostic/gen8/vp/kernel/igvpkrn_g8.c media_driver/agnostic/gen9/codec/kernel/igcodeckrn_g9.c media_driver/agnostic/gen9/vp/kernel/igvpkrn_g9.c media_driver/agnostic/gen9/vp/kernel/igvpkrn_isa_g9.c media_driver/agnostic/gen9_bxt/codec/kernel/igcodeckrn_g9_bxt.c media_driver/agnostic/gen9_cml/vp/kernel/igvpkrn_g9_cml.c media_driver/agnostic/gen9_cml/vp/kernel/tgp/igvpkrn_g9_cml_tgp.c media_driver/agnostic/gen9_cmpv/vp/kernel/igvpkrn_g9_cmpv.c media_driver/agnostic/gen9_kbl/codec/kernel/igcodeckrn_g9_kbl.c media_softlet/agnostic/Xe_R/Xe_HPG_Base/vp/kernel/cmfcpatch/igvpkrn_xe_hpg_cmfcpatch.c media_softlet/agnostic/Xe_R/Xe_HPG_Base/vp/kernel/igvpkrn_isa_xe_hpg.c media_softlet/agnostic/Xe_R/Xe_HPG_Base/vp/kernel/igvpkrn_xe_hpg.c media_softlet/agnostic/Xe_R/Xe2_HPG/vp/kernel/cmfcpatch/igvpkrn_xe2_hpg_cmfcpatch.c media_softlet/agnostic/Xe_R/Xe2_HPG/vp/kernel/igvpfc_420PL3_input_xe2.cpp media_softlet/agnostic/Xe_R/Xe2_HPG/vp/kernel/igvpfc_444PL3_input_xe2.cpp media_softlet/agnostic/Xe_R/Xe2_HPG/vp/kernel/igvpfc_common_xe2.cpp media_softlet/agnostic/Xe_R/Xe2_HPG/vp/kernel/igvpfc_fp_xe2.cpp media_softlet/agnostic/Xe_R/Xe2_HPG/vp/kernel/igvpkrn_xe2_hpg.c Should they be considered non-free firmware rather than non-free software? Arguments for this: 1. The shaders are loaded into the GPU, very much like firmware. 2. They are not linked into any libraries or applications. 3. They are not loaded into the kernel (like kernel module or eBPF). 4. They are not running on the CPU, neither in kernel space, user space or in a bytecode interpreter. 5. They are required by the operating system or applications to make use of hardware capabilities. Arguments against: 1. The shaders are mixed up with library code which load them into the GPU. 2. That library code is linked into libraries and applications and running on the CPU. (How ever, there appears to be consensus that the library code is free, only the shaders are not.) 3. GPU shaders can have various purposes and origins other than the hardware vendor. Regards Stephan
signature.asc
Description: This is a digitally signed message part