Install Linux Desktop Environment¶
The ECI core images core-bookworm and core-noble do not have a graphical desktop environment installed by default, neither do minimal or server variants of Debian or Canonical® Ubuntu®. Follow this guide to install a graphical desktop environment on your system.
Please note, support for integrated graphics is dependent on the OS distribution installed on your Intel platform.
Use the table below to determine which ECI supported OS distribution(s) you should use with your Intel® platform to achieve best results:
Distribution |
Distribution Version |
< Intel® platforms > |
|||||||
---|---|---|---|---|---|---|---|---|---|
Series 1 Core™ Ultra (MTL) Meteor Lake |
7000 Series Intel Atom® (ASL) Amston Lake |
14th/13th Gen Core™ (RPL) Raptor Lake |
12th Gen Core™ (ADL) Alder Lake |
Xeon® D-1700 (ICL-D) Ice Lake D |
6000E Series Intel Atom®™ (EHL) Elkhart Lake |
11th Gen Core™ (TGL) Tiger Lake |
9th/8th Gen Core™ (CFL/WHL) Coffee/Whiskey Lake |
||
< Debian > |
Debian 12 (Bookworm) . |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
Debian 11 (Bullseye) . |
✔ |
✔ |
✔ |
✔ |
✔ |
||||
< Canonical® Ubuntu® > |
Canonical® Ubuntu® 24.04 (Noble Numbat) . |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
Canonical® Ubuntu® 22.04 (Jammy Jellyfish) . |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
||
< Red Hat® Enterprise Linux® > |
Red Hat® Enterprise Linux® 9.3 (Plow) . |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
✔ |
To install a graphical desktop environment on your system, do the following:
Install the desktop environment Deb packages and dependencies. Run the following commands, replacing the
<environment>
placeholder with one of the Desktop Environments listed in the following table.$ export DEBIAN_FRONTEND=noninteractive $ sudo -E apt install task-desktop task-<environment>-desktop
Package
Description
task-mate-desktop
Installs the MATE Desktop
task-gnome-desktop
Installs the GNOME Desktop
task-xfce-desktop
Installs the XFCE Desktop
task-lxde-desktop
Installs the LXDE Desktop
task-cinnamon-desktop
Installs the Cinnamon Desktop
task-kde-desktop
Installs the KDE Desktop
The desktop environment should start automatically after rebooting the system:
$ sudo reboot
Enable GuC/HuC Firmware Loading¶
From Gen 9th Intel® Graphics (Skylake and later), Intel® introduced Graphics microcontroller (GuC) and HEVC/H.265 microcontroller (HuC), which provide the following functionalities:
Offloading some media decoding functionality from the CPU to HuC (only applicable if using Intel® media driver for hardware video acceleration).
Low-level graphics context scheduling and context submission (GuC submission).
Tracking business and making frequency and power gating decisions while scheduling.
To use this functionality, the GuC or HuC firmware must be loaded by setting the kernel module parameters:
i915 Kernel Module Parameters
Description
enable_guc=1
GuC submission and power management
enable_guc=2
HuC authentication only
enable_guc=3
Combine HuC and GuC
enable_guc=7
Combine HuC and GuC and SR-IOV PF mode support ONLY available for
i915/*_guc_70.0.3.bin
andi915/*_huc_7.9.3.bin
on Intel® firmware mentioned here for 11th Gen Intel® Core™ U-Series processors and 11th Gen Intel® Core™ P-Series processors [Tiger Lake] and 12th Gen Intel® Core™ S-Series processors and 12th Gen Intel® Core™ P-Series processors [Alder Lake]
For more details, refer to Intel® Graphics for Linux* and Linux gpu/i915.
Install one of the available ECI Linux kernels. For this example, we installed
linux-intel-rt
:$ sudo apt install linux-intel-rt
$ apt-cache search linux-intel | grep -v dbg linux-intel-acrn-sos - intel-acrn-sos Linux kernel, version ... linux-intel-rt - intel-rt Linux kernel, version ... linux-intel-xenomai - intel-xenomai Linux kernel, version ...
Install the
eci-customizations
package from the ECI repository to populate the GRUB customizations for ECI:$ sudo apt install eci-customizations
Enable GuC/HuC firmware loading by adding the i915 kernel boot parameter
i915.enable_guc=3
:$ sudo sed -i '/^GRUB_CMDLINE_LINUX_DEFAULT=/ s/"$/ i915.enable_guc=3"/' /etc/default/grub.d/09_eci-default.cfg
Rebuild the GRUB configurations:
$ sudo update-grub
Install GuC and HuC Linux firmware available from the ECI repository to follow both the official Linux distribution package release and Out-of-Tree (OOT) SR-IOV Physical Function (PF) mode support.
$ sudo apt install firmware-misc-nonfree firmware-linux
For example, on Debian 12 (Bookworm) distribution, using the ECI repository should be similar to:
$ sudo apt-cache policy firmware-misc-nonfree firmware-misc-nonfree: Installed: 20230804-4-intel-iotg Candidate: 20230804-4-intel-iotg Version table: *** 20230804-4-intel-iotg 1000 1000 https://eci.intel.com/repos/bullseye isar/main amd64 Packages 100 /var/lib/dpkg/status 20230210 500 500 http://deb.debian.org/debian bullseye/non-free amd64 Packages
$ sudo apt install linux-firmware
For example, on Canonical® Ubuntu® 24.04 (Noble Numbat) distribution, using the ECI repository should be similar to:
$ sudo apt-cache policy linux-firmware linux-firmware: Installed: 20240318.git3b128b60-0ubuntu2.1-intel-iotg.eci3 Candidate: 20240318.git3b128b60-0ubuntu2.1-intel-iotg.eci3 Version table: 20240318.git3b128b60-0ubuntu2.1-intel-iotg.eci3 1000 1000 https://eci.intel.com/repos/jammy isar/main amd64 Packages *** 20240318.git3b128b60-0ubuntu2.1-intel-iotg.eci3 100 100 /var/lib/dpkg/status 20240318.git3b128b60-0ubuntu2 500 500 http://archive.ubuntu.com/ubuntu jammy/main amd64 Packages
After the installation is complete, reboot the system:
$ sudo reboot
When the system reboots, Intel® Graphics HuC / GuC should be enabled.
Verify that the GuC / HuC modules are enabled:
$ dmesg | grep i915
... [ 3.655641] i915 0000:00:02.0: [drm] GT0: GuC firmware i915/tgl_guc_70.1.1.bin version 70.1.1 [ 3.655644] i915 0000:00:02.0: [drm] GT0: HuC firmware i915/tgl_huc_7.9.3.bin version 7.9.3 [ 3.679882] i915 0000:00:02.0: [drm] GT0: HuC: authenticated for all workloads [ 3.682549] i915 0000:00:02.0: [drm] GT0: GUC: submission enabled [ 3.682550] i915 0000:00:02.0: [drm] GT0: GUC: SLPC enabled ...
Note: To know whether an end-user can install Intel® Graphics Compute Runtime for oneAPI Level Zero and OpenCL™ on the Debian desktop environment, refer to the tutorial.