Configuring Kernel Boot Parameters

Kernel boot parameters are command-line arguments passed to the Linux kernel at boot time to configure the settings and behaviors of the system. You can use these parameters to control and optimize the behavior of the GPU driver.

Enabling long-running compute workloads

The Intel graphics kernel driver defaults to preventing compute workloads from running longer than four seconds to avoid errant shaders from blocking desktop operations. You can modify this setting via the i915 kernel module parameter enable_hangcheck. Follow these steps to check and modify the default setting.

  1. Check your current setting.

    sudo cat /sys/module/i915/parameters/enable_hangcheck
    

    A default value of Y indicates that the hang check is currently active.

  2. Change the current setting at runtime.

    echo N | sudo tee /sys/module/i915/parameters/enable_hangcheck
    
  3. To persist the value after reboot, change the default setting by passing i915.enable_hangcheck=0​ in your GRUB_CMDLINE_LINUX_DEFAULT setting. You can add the option using instructions provided by your operating system provider or by editing the value of GRUB_CMDLINE_LINUX_DEFAULT in /etc/default/grub to include i915.enable_hangcheck=0.

    After editing, the line for GRUB_CMDLINE_LINUX_DEFAULT should look similar to the following:

    GRUB_CMDLINE_LINUX_DEFAULT="i915.enable_hangcheck=0"
    
  4. Update the GRUB boot files:

    grub2-mkconfig -o /boot/grub2/grub.cfg
    
    update-grub
    
  5. Reboot your system.

    sudo reboot
    
  6. Confirm that i915.enable_hangcheck=0 is present in the kernel boot parameters.

    cat /proc/cmdline
    

    Ensure that the output includes i915.enable_hangcheck=0.

  7. Check the current value of the enable_hangcheck parameter for the i915 module to ensure it is set to 0.

    cat /sys/module/i915/parameters/enable_hangcheck
    

Disabling PCI reallocation

Some systems may have compatibility issues between the system BIOS and the Linux kernel Memory-Mapped I/O Base Address Register (MMIO BAR) reallocation, which prevents the Intel® Data Center GPUs from being accessible after the system boots. If you encounter problems with multi-card solutions where the Intel GPU devices fail to initialize, for example, entries for the device are not enumerating in /dev/dri, you can work around the issue by disabling PCI reallocation. The following instruction explains how to do that.

  1. Check current boot parameters to determine if your system already has pci=realloc=off set.

    cat /proc/cmdline
    

    Look for the presence of pci=realloc=off in the output.

  2. If pci=realloc=off is not present, open the GRUB configuration file in a text editor.

    sudo nano /etc/default/grub
    
  3. Find the line that starts with GRUB_CMDLINE_LINUX_DEFAULT and modify it to include pci=realloc=off. The line should look similar to the following example.

    GRUB_CMDLINE_LINUX_DEFAULT="pci=realloc=off"
    
  4. Update the GRUB boot files to apply the changes.

    grub2-mkconfig -o /boot/grub2/grub.cfg
    
    update-grub
    
  5. Reboot your system.

    sudo reboot
    
  6. Verify that pci=realloc=off is now present in the boot parameters.

    cat /proc/cmdline