Bug 34942 - i915 module doesn't autoload on Kaby Lake HD Graphics 630 8086:5912
Summary: i915 module doesn't autoload on Kaby Lake HD Graphics 630 8086:5912
Status: NEW
Alias: None
Product: Mageia
Classification: Unclassified
Component: RPM Packages (show other bugs)
Version: Cauldron
Hardware: x86_64 Linux
Priority: Normal normal
Target Milestone: ---
Assignee: Kernel and Drivers maintainers
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2026-01-07 01:36 CET by Felix Miata
Modified: 2026-01-08 18:47 CET (History)
3 users (show)

See Also:
Source RPM: kernel-desktop-6.12.63-1.mga10-1-1.mga10.x86_64
CVE:
Status comment:


Attachments

Description Felix Miata 2026-01-07 01:36:22 CET
Original summary:
i915 module doesn't autoload on Kaby Lake HD Graphics 630 8086:5912

Summary has been the case at least as far back as kernel 6.12.44, when this 10 was created from cloning 9 on same PC using urpmi to upgrade following the relnotes instructions in 2025-09. 9 remains fine. Because i915 doesn't load, boot messages on tty1 stop at reached target Graphical Interface. The other vttys are normal, so I login, modprobe i915, and sddm starts.

November mailing list thread using 6.12.56-desktop-1.mga10:
https://ml.mageia.org/l/arc/discuss/2025-11/msg00002.html
January mailing list thread using 6.12.63-desktop-1.mga10:
https://ml.mageia.org/l/arc/dev/2026-01/msg00036.html

Before modprobe i915 on fresh boot:
# lsmod | sort | grep -Ei 'i915|Xe|video'
video                  77824  1 asus_wmi
wmi                    28672  4 video,asus_wmi,wmi_bmof,mxm_wmi
After modprobe i915:
# lsmod | sort | grep -Ei 'i915|Xe|video'
cec                    94208  2 drm_display_helper,i915
drm_buddy              20480  1 i915
drm_display_helper    258048  1 i915
i2c_algo_bit           16384  1 i915
i915                 4341760  4
ttm                   102400  1 i915
video                  77824  2 asus_wmi,i915
wmi                    28672  4 video,asus_wmi,wmi_bmof,mxm_wmi
# systemd-analyze critical-chain
The time when unit became active or started is printed after the "@" character.
The time the unit took to start is printed after the "+" character.

graphical.target @2.561s
└─udisks2.service @2.065s +495ms
  └─basic.target @2.003s
    └─mandriva-everytime.service @1.914s +88ms
      └─local-fs.target @1.910s
        └─usr-local.mount @1.861s +45ms
          └─systemd-fsck@dev-disk-by\x2dlabel-pt3p04ulcl.service @1.520s +40ms
            └─dev-disk-by\x2dlabel-pt3p04ulcl.device @1.501s
# /usr/bin/grep -E 'dev/dr\|Xorg.0.' /var/log/Xorg.0.*
/var/log/Xorg.0.log:[   356.210] (--) Log file renamed from "/var/log/Xorg.pid-967.log" to "/var/log/Xorg.0.log"
/var/log/Xorg.0.log:[   356.211] (==) Log file: "/var/log/Xorg.0.log", Time: Tue Jan  6 18:55:46 2026
/var/log/Xorg.0.log:[   356.212] (II) xfree86: Adding drm device (/dev/dri/card0)
/var/log/Xorg.0.log:[   356.772] (II) modeset(0): using drv /dev/dri/card0
/var/log/Xorg.0.log.old:[    10.094] (--) Log file renamed from "/var/log/Xorg.pid-822.log" to "/var/log/Xorg.0.log"
/var/log/Xorg.0.log.old:[    10.096] (==) Log file: "/var/log/Xorg.0.log", Time: Tue Jan  6 18:50:00 2026
/var/log/Xorg.0.log.old:[    10.112] (EE) open /dev/dri/card0: No such file or directory
/var/log/Xorg.0.log.old:[    10.112] (EE) open /dev/dri/card0: No such file or directory
/var/log/Xorg.0.log.old:[    10.112] (EE) Please also check the log file at "/var/log/Xorg.0.log" for additional information.

Content in /etc/dracut.conf.d/ is unchanged from working in 9:
# cat /etc/dracut.conf.d/*.conf
persistent_policy="by-label"
#add_drivers+=" ata_piix ata_generic raid1 md_mod "
#add_drivers+=" i915 nvme nvme_core "
#add_drivers+=" nvme nvme_core "
compress="xz"
hostonly="yes"
#hostonly_cmdline="yes"
#mdadmconf="yes"
omit_drivers+=" btrfs crypto dmraid encryptfs i18n iscsi lvm lvm2 plymouth raid1
md_mod resume sata_sil uefi-lib usb_storage watchdog "
omit_dracutmodules+=" resume "
#

In mga9, i915 loads automatically, but not in 10, so X doesn't start. Following is from after modprobe i915:
# inxi -CMz
Machine:
  Type: Desktop Mobo: ASUSTeK model: PRIME B250M-C v: Rev X.0x
    serial: <filter> Firmware: UEFI vendor: American Megatrends v: 1608
    date: 10/21/2019
CPU:
  Info: quad core model: Intel Core i5-7500T bits: 64 type: MCP cache:
    L2: 1024 KiB
  Speed (MHz): avg: 800 min/max: 800/3300 cores: 1: 800 2: 800 3: 800 4: 800
# pinxi -GSaz --vs --za --hostname
pinxi 3.3.40-01 (2025-11-25)
System:
  Host: ab250 Kernel: 6.12.63-desktop-1.mga10 arch: x86_64 bits: 64
    compiler: gcc v: 15.2.0 clocksource: tsc avail: hpet,acpi_pm
    parameters: BOOT_IMAGE=/boot/vmlinuz root=LABEL=<filter> noresume audit=0
    ipv6.disable=1 net.ifnames=0 consoleblank=0 i915.enable_guc=2
    preempt=full mitigations=off
  Desktop: IceWM v: 3.9.0 tools: avail: xlock vt: 7 dm: SDDM
    Distro: Mageia 10
Graphics:
  Device-1: Intel HD Graphics 630 vendor: ASUSTeK driver: i915 v: kernel
    arch: Gen-9.5 process: Intel 14nm built: 2016-20 ports:
    active: DP-1,HDMI-A-2,HDMI-A-3 empty: DP-2,HDMI-A-1 bus-ID: 00:02.0
    chip-ID: 8086:5912 class-ID: 0300
  Display: x11 server: X.org v: 1.21.1.21 with: Xwayland v: 24.1.9 driver:
    X: loaded: modesetting alternate: fbdev,vesa dri: iris gpu: i915
    display-ID: :0 screens: 1
  Screen-1: 0 s-res: 3600x2640 s-dpi: 120 s-size: 762x558mm (30.00x21.97")
    s-diag: 944mm (37.18")
  Monitor-1: DP-1 pos: primary,bottom-l model: Acer K272HUL serial: <filter>
    built: 2018 res: mode: 2560x1440 hz: 60 scale: 100% (1) dpi: 109 gamma: 1.2
    size: 598x336mm (23.54x13.23") diag: 686mm (27") ratio: 16:9 modes:
    max: 2560x1440 min: 720x400
  Monitor-2: HDMI-A-2 mapped: HDMI-2 pos: top-left model: NEC EA243WM
    serial: <filter> built: 2011 res: mode: 1920x1200 hz: 60 scale: 100% (1)
    dpi: 94 gamma: 1.2 size: 519x324mm (20.43x12.76") diag: 612mm (24.1")
    ratio: 16:10 modes: max: 1920x1200 min: 640x480
  Monitor-3: HDMI-A-3 mapped: HDMI-3 pos: top-right model: Dell P2213
    serial: <filter> built: 2013 res: mode: 1680x1050 hz: 60 scale: 100% (1)
    dpi: 90 gamma: 1.2 size: 473x296mm (18.62x11.65") diag: 558mm (22")
    ratio: 16:10 modes: max: 1680x1050 min: 720x400
  API: EGL v: 1.5 hw: drv: intel iris platforms: device: 0 drv: iris
    device: 1 drv: swrast gbm: drv: iris surfaceless: drv: iris x11: drv: iris
    inactive: wayland
  API: OpenGL v: 4.6 compat-v: 4.5 vendor: intel mesa v: 25.3.3 glx-v: 1.4
    direct-render: yes renderer: Mesa Intel HD Graphics 630 (KBL GT2)
    device-ID: 8086:5912 memory: 14.95 GiB unified: yes
  API: Vulkan v: 1.4.335 layers: 5 device: 0 type: integrated-gpu name: Intel
    HD Graphics 630 (KBL GT2) driver: mesa intel v: 25.3.3
    device-ID: 8086:5912 surfaces: N/A device: 1 type: cpu name: llvmpipe
    (LLVM 20.1.8 256 bits) driver: mesa llvmpipe v: 25.3.3 (LLVM 20.1.8)
    device-ID: 10005:0000 surfaces: N/A
  Info: Tools: api: clinfo, eglinfo, glxinfo, vulkaninfo
    de: kscreen-console,kscreen-doctor x11: xdriinfo, xdpyinfo, xprop, xrandr
#
Comment 1 Giuseppe Ghibò 2026-01-07 02:01:42 CET
Probably that's a problem of newer dracut-ng (or a "feature") or some race condition, rather than kernel or your particular Kaby Lake chipset, and the Xorg server starts faster than the udev it could trigger the loading of the required module.  add_drivers furthermore is commented. You might try to uncomment it (mga9 had a different version of dracut), or force loading earlier with force_drivers+= " i915 ".

CC: (none) => ghibomgx

Comment 2 Felix Miata 2026-01-07 07:16:13 CET
I note 6.12.37 and 6.18.3-desktop-1.stabletesting.mga10 also suffer this, but 6.6.87-desktop-1.mga9 (using July built initrd) does not.

# grep i915 /etc/dracut.conf.d/90-local.conf
#add_drivers+=" i915 nvme nvme_core "
force_drivers+= " i915 "
# dracut --force -k 6.18.3-desktop-1.stabletesting.mga10
/etc/dracut.conf.d/90-local.conf: line 17:  i915 : command not found
dracut[F]: drivers_dir path set via -k/--kmoddir must contain "/lib/modules/" as a parent of your kernel module directory,
dracut[F]: or modules may not be placed in the correct location inside the initramfs.
dracut[F]: was given: 6.18.3-desktop-1.stabletesting.mga10
dracut[F]: expected: 6.18.3-desktop-1.stabletesting.mga10/lib/modules/6.18.3-desktop-1.stabletesting.mga10
dracut[F]: Please move your modules into the correct directory structure and pass the new location,
dracut[F]: or set DRACUT_KMODDIR_OVERRIDE=1 to ignore this check.
# export DRACUT_KMODDIR_OVERRIDE=1
# set | grep DRACUT
DRACUT_KMODDIR_OVERRIDE=1
_=DRACUT_KMODDIR_OVERRIDE=1
# dracut --force -k 6.18.3-desktop-1.stabletesting.mga10
/etc/dracut.conf.d/90-local.conf: line 17:  i915 : command not found
dracut[F]: Cannot find module directory 6.18.3-desktop-1.stabletesting.mga10
dracut[F]: and --no-kernel was not specified
#
...try again
# grep i915 /etc/dracut.conf.d/90-local.conf
#add_drivers+=" i915 nvme nvme_core "
force_drivers+=" i915 "
# set | grep DRACUT
# dracut --force -k 6.18.3-desktop-1.stabletesting.mga10
dracut[F]: drivers_dir path set via -k/--kmoddir must contain "/lib/modules/" as a parent of your kernel module directory,
dracut[F]: or modules may not be placed in the correct location inside the initramfs.
dracut[F]: was given: 6.18.3-desktop-1.stabletesting.mga10
dracut[F]: expected: 6.18.3-desktop-1.stabletesting.mga10/lib/modules/6.18.3-desktop-1.stabletesting.mga10
dracut[F]: Please move your modules into the correct directory structure and pass the new location,
dracut[F]: or set DRACUT_KMODDIR_OVERRIDE=1 to ignore this check.
# export DRACUT_KMODDIR_OVERRIDE=1
# set | grep DRACUT
DRACUT_KMODDIR_OVERRIDE=1
_=DRACUT_KMODDIR_OVERRIDE=1
# dracut --force -k 6.18.3-desktop-1.stabletesting.mga10
dracut[F]: Cannot find module directory 6.18.3-desktop-1.stabletesting.mga10
dracut[F]: and --no-kernel was not specified
#
...try again
# grep i915 /etc/dracut.conf.d/90-local.conf
#add_drivers+=" i915 nvme nvme_core "
add_drivers+=" i915 "
#force_drivers+= " i915 "
# set | grep DRACUT
# dracut --force -k 6.18.3-desktop-1.stabletesting.mga10
dracut[F]: drivers_dir path set via -k/--kmoddir must contain "/lib/modules/" as a parent of your kernel module directory,
dracut[F]: or modules may not be placed in the correct location inside the initramfs.
dracut[F]: was given: 6.18.3-desktop-1.stabletesting.mga10
dracut[F]: expected: 6.18.3-desktop-1.stabletesting.mga10/lib/modules/6.18.3-desktop-1.stabletesting.mga10
dracut[F]: Please move your modules into the correct directory structure and pass the new location,
dracut[F]: or set DRACUT_KMODDIR_OVERRIDE=1 to ignore this check.
# export DRACUT_KMODDIR_OVERRIDE=1
# set | grep DRACUT
DRACUT_KMODDIR_OVERRIDE=1
_=DRACUT_KMODDIR_OVERRIDE=1
# dracut --force -k 6.18.3-desktop-1.stabletesting.mga10
dracut[F]: Cannot find module directory 6.18.3-desktop-1.stabletesting.mga10
dracut[F]: and --no-kernel was not specified
#
...try again
# grep i915 /etc/dracut.conf.d/90-local.conf
#add_drivers+=" i915 nvme nvme_core "
#add_drivers+=" i915 "
force_drivers+=" i915 "
# set | grep DRACUT
# dracut --force -k /usr/lib/modules/6.18.3-desktop-1.stabletesting.mga10
dracut[E]: Module 'systemd-battery-check' depends on module 'systemd', which can't be installed
dracut[E]: Module 'systemd-pcrphase' depends on module 'systemd', which can't be installed
dracut[E]: Module 'systemd-udevd' depends on module 'systemd', which can't be installed
dracut[E]: Module 'systemd-initrd' depends on module 'systemd-udevd', which can't be installed
dracut[E]: Module 'dracut-systemd' depends on module 'systemd-initrd', which can't be installed
dracut[E]: Module 'systemd-battery-check' depends on module 'systemd', which can't be installed
dracut[E]: Module 'systemd-pcrphase' depends on module 'systemd', which can't be installed
# ls -gG /boot/.init*stable* /boot/init*stable*
-rw------- 1 21739340 Jan  7 00:59 /boot/initrd-6.18.3-desktop-1.stabletesting.mga10.img
-rw------- 1 19756528 Jan  7 00:31 /boot/.initrd-6.18.3-desktop-1.stabletesting.mga10.img1
-rw------- 1 21739340 Jan  7 00:59 /boot/.initrd-6.18.3-desktop-1.stabletesting.mga10.img2
# cd /usr/lib/modules/6.18.3-desktop-1.stabletesting.mga10/kernel/drivers/gpu/drm/i915
# ls -Gg i915*
-rw-r--r-- 1 1571764 Jan  4 16:48 i915.ko.xz
#
<reboot>

Successful workaround costing 1,936Kb in 'force_drivers+=" i915 "' (without the extra space copied from comment #1).

PC has all following behaving with neither initrd inclusion of i915 nor other dracut fuss:
Debian 13 6.12.57
# lsinitramfs initrd | grep -iE 'intel|i915'
usr/lib/modules/6.12.57+deb13-amd64/kernel/arch/x86/crypto/crc32c-intel.ko.xz
#
Debian 14 6.17.13
# lsinitramfs initrd | grep -iE 'intel|i915'
#
Ubuntu 26 6.17.5
# lsinitramfs initrd | grep -iE 'intel|i915'
kernel/x86/microcode/.enuineIntel.align.0123456789abc
kernel/x86/microcode/GenuineIntel.bin
etc/modprobe.d/intel-microcode-blacklist.conf
#
Fedora 42 6.12.61
# lsinitrd initrd | grep -iE 'intel|i915' | wc -l
35
# lsinitrd initrd | grep -i i915
#
openSUSE TW 6.17.9
# lsinitrd initrd | grep -iE 'intel|i915' | wc -l
40
# lsinitrd initrd | grep -i i915
#
Comment 3 Giuseppe Ghibò 2026-01-07 11:04:44 CET
Of course the correct syntax is without the space between add_drivers+= or force_drivers+= and the first quotation mark.

Regarding the cases (i.e. older kernels) where it does not happens (at least in mga), what about doing a backup of the july's initramfs and regenerate them under newer utils for older kernels? Because beside newer dracut-ng there was also a new series of systemd.

Apparently it seems described here https://github.com/systemd/systemd/issues/25408
Morgan Leijström 2026-01-07 13:53:24 CET

CC: (none) => fri

Comment 4 Felix Miata 2026-01-07 17:00:07 CET
(In reply to Giuseppe Ghibò from comment #3)
> what about doing a backup of the july's initramfs and regenerate
> them under newer utils for older kernels?
# cat /etc/dracut.conf.d/90-local.conf
compress="xz"
hostonly="yes"
omit_dracutmodules+=" resume "
omit_drivers+=" btrfs crypto dmraid encryptfs i18n iscsi lvm lvm2 plymouth raid1 md_mod resume sata_sil uefi-lib usb_storage watchdog "
...
# dracut --force --kver 6.6.87-desktop-1.mga9
# ls -gG .initrd-6.6.87-desktop-1.mga9.img*
-rw------- 1 11192816 Apr 20  2025 .initrd-6.6.87-desktop-1.mga9.img1
-rw------- 1 18615860 Jan  7 09:55 .initrd-6.6.87-desktop-1.mga9.img2
	i915 autoloads OK with either
...
# dracut --force --kver 6.12.37-desktop-1.mga10
# ls -gG .initrd-6.12.37-desktop-1.mga10.img*
-rw------- 1 13811072 Jul 11 15:37 .initrd-6.12.37-desktop-1.mga10.img1
-rw------- 1 19651876 Jan  7 10:02 .initrd-6.12.37-desktop-1.mga10.img2
	i915 fails to autoload with either

# cat /etc/dracut.conf.d/90-local.conf
add_drivers+=" i915 "
compress="xz"
hostonly="yes"
omit_dracutmodules+=" resume "
omit_drivers+=" btrfs crypto dmraid encryptfs i18n iscsi lvm lvm2 plymouth raid1 md_mod resume sata_sil uefi-lib usb_storage watchdog "
# dracut --force --kver 6.12.37-desktop-1.mga10
...
# lsinitrd /boot/initrd | grep i915
...Jan  7 10:08 usr/lib/modules/6.12.37-desktop-1.mga10/kernel/drivers/gpu/drm/i915
...Jul 10 14:07 usr/lib/modules/6.12.37-desktop-1.mga10/kernel/drivers/gpu/drm/i915/i915.ko.xz
# ls -gG /boot/initrd-6.12.37-desktop-1.mga10.img
-rw------- 1 21343004 Jan  7 10:08 /boot/initrd-6.12.37-desktop-1.mga10.img
# systemd-analyze critical-chain
...
└─multi-user.target @2.194s
...
	i915 autoloaded :)

# cat /etc/dracut.conf.d/90-local.conf
compress="xz"
force_drivers+=" i915 "
hostonly="yes"
omit_drivers+=" btrfs crypto dmraid encryptfs i18n iscsi lvm lvm2 plymouth raid1 md_mod resume sata_sil uefi-lib usb_storage watchdog "
omit_dracutmodules+=" resume "
# dracut --force --kver 6.12.37-desktop-1.mga10
...
# lsinitrd /boot/initrd | grep i915
...Jan  7 10:24 usr/lib/modules/6.12.37-desktop-1.mga10/kernel/drivers/gpu/drm/i915
...Jul 10 14:07 usr/lib/modules/6.12.37-desktop-1.mga10/kernel/drivers/gpu/drm/i915/i915.ko.xz
rd.driver.pre=i915
# ls -gG /boot/initrd-6.12.37-desktop-1.mga10.img
-rw------- 1 21345580 Jan  7 10:24 /boot/initrd-6.12.37-desktop-1.mga10.img
# systemd-analyze critical-chain
...
└─multi-user.target @2.408s
...
	i915 autoloaded, though initrd was bigger than with add_drivers+=" i915 " & reaching multi-user.target took 0.214s longer.
Morgan Leijström 2026-01-08 18:47:25 CET

Assignee: bugsquad => kernel


Note You need to log in before you can comment on or make changes to this bug.