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:

  1. Setup the ECI repository.

  2. 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

  3. 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 and i915/*_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.

  1. Setup the ECI repository.

  2. 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 ...
    
  3. Install the eci-customizations package from the ECI repository to populate the GRUB customizations for ECI:

    $ sudo apt install eci-customizations
    
  4. 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
    
  5. Rebuild the GRUB configurations:

    $ sudo update-grub
    
  6. 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
    
  7. After the installation is complete, reboot the system:

    $ sudo reboot
    

    When the system reboots, Intel® Graphics HuC / GuC should be enabled.

    ../../_images/Desktop_011.png

    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.