Intel Arc / Fedora won't load graphics card on boot

Running on Fedora rawhide, kernel 6.1, I cannot get Fedora to load the Intel Arc / Intel integrated graphics devices on a cold boot.

Fedora will seemingly freeze just before the loading screen / login. It gets down to the point of ‘force_probe … tainting kernel’ and then proceeds no further.

I have set the WaylandEnabled=false setting in gdm conf, and I have also added an i915.conf under /etc/modprobe.d that has:

options i915 force_probe=5690

I have also added the latest Intel gpu firmware to /lib/firmware/updates/i915. The logs below indicate they are used.

Still, the only way I can get into Fedora on a cold boot is by editing grub2 and setting nomodeset. Once I am inside, I check the logs for anything mentioning VGA, guc, huc, and there is nothing.

If I reboot at this point and log back in (still nomodeset), then I start to see the GPU in lspci:

lspci -nnv | grep -i "vga"
00:02.0 VGA compatible controller [0300]: Intel Corporation Alder Lake-P Integrated Graphics Controller [8086:46a6] (rev 0c) (prog-if 00 [VGA controller])
03:00.0 VGA compatible controller [0300]: Intel Corporation DG2 [Arc A770M] [8086:5690] (rev 08) (prog-if 00 [VGA controller])

At this point, if I edit grub2 conf and remove nomodeset, then reboot, the GPU is loaded and I am using the device (Settings indicates the card is in use, and does not say Software Rendering). However, here are some logs that look curious regarding HuC/GuC and I do not know what they mean or if they contribute to this issue:

[   10.776214] i915 0000:00:02.0: [drm] GuC error state capture buffer maybe too small: 2097152 < 2360316 (min = 786772)
[   10.780530] i915 0000:00:02.0: [drm] GuC firmware i915/adlp_guc_70.bin version 70.5.1
[   10.780542] i915 0000:00:02.0: [drm] HuC firmware i915/tgl_huc.bin version 7.9.3
[   10.795827] i915 0000:00:02.0: [drm] HuC authenticated
[   10.796623] i915 0000:00:02.0: [drm] GuC submission enabled
[   10.796631] i915 0000:00:02.0: [drm] GuC SLPC enabled
[   10.797263] i915 0000:00:02.0: [drm] GuC RC: enabled
[   10.812205] i915 0000:03:00.0: [drm] Incompatible option enable_guc=3 - HuC is not supported!
[   10.949684] i915 0000:03:00.0: [drm] GuC error state capture buffer maybe too small: 2097152 < 3737592 (min = 1245864)
[   10.954581] i915 0000:03:00.0: [drm] GuC firmware i915/dg2_guc_70.bin version 70.5.1
[   10.967389] i915 0000:03:00.0: [drm] GuC submission enabled
[   10.967399] i915 0000:03:00.0: [drm] GuC SLPC enabled
[   10.967837] i915 0000:03:00.0: [drm] GuC RC: enabled

At this point, I can reboot as much as I like and the GPU will be used. However, if I shutdown, then power back on, Fedora freezes again and I have to revert back to nomodeset. I have also tried enable_guc=2 and enable_guc=1 in i915.conf - the problem still persists.

What is the difference here between a cold and warm boot in regards to device discovery / driver loading? Is something extra needed for this to work from a cold boot? I feel like I am close to getting this working but its driving me crazy.

How did this poster get it to work on Fedora? I am using an Intel NUC 12th gen alder lake. I have seen a few other posts of people getting it to work without any mention of this sort of problem. They are doing the force_probe method, which sounds like most people are - but it is being really problematic for me. I’d even be happy at this point just to have the integrated graphics loaded if I can’t use DG2/Arc for a few months.

https://www.reddit.com/r/Fedora/comments/y8yne8/intel_arc_a750_gpu_on_fedora_first_impressions/

Relevant dmesg on a warm boot when i915 is loaded. On cold boot, the process freezes just before the i915 line(s).

[    2.938284] pps pps0: new PPS source ptp0
[    2.939487] igc 0000:5b:00.0 (unnamed net_device) (uninitialized): PHC added
[    2.942039] nvme nvme0: allocated 32 MiB host memory buffer.
[    2.967803] igc 0000:5b:00.0: 4.000 Gb/s available PCIe bandwidth (5.0 GT/s PCIe x1 link)
[    2.968495] igc 0000:5b:00.0 eth0: MAC: b0:25:aa:4e:4e:94
[    2.974926] nvme nvme0: 8/0/0 default/read/poll queues
[    2.979320] nvme nvme0: Ignoring bogus Namespace Identifiers
[    2.981818]  nvme0n1: p1 p2 p3
[    2.987449] igc 0000:5b:00.0 enp91s0: renamed from eth0
[    3.004507] usb 3-10: new full-speed USB device number 5 using xhci_hcd
[    3.032551] BTRFS: device label fedora_localhost-live devid 1 transid 343 /dev/nvme0n1p3 scanned by systemd-udevd (524)
[    3.080093] Setting dangerous option force_probe - tainting kernel
[    3.081752] i915 0000:00:02.0: enabling device (0006 -> 0007)
[    3.083105] i915 0000:00:02.0: [drm] VT-d active for gfx access
[    3.087521] Console: switching to colour dummy device 80x25
[    3.098732] i915 0000:00:02.0: [drm] Using Transparent Hugepages
[    3.099234] i915 0000:00:02.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=none:owns=mem
[    3.102393] i915 0000:00:02.0: [drm] Finished loading DMC firmware i915/adlp_dmc_ver2_16.bin (v2.16)
[    3.140961] usb 3-10: New USB device found, idVendor=8087, idProduct=0033, bcdDevice= 0.00
[    3.140970] usb 3-10: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[    3.204493] usb 3-4.2: new low-speed USB device number 6 using xhci_hcd
[    3.213977] i915 0000:00:02.0: [drm] GuC firmware i915/adlp_guc_70.1.1.bin version 70.1
[    3.213981] i915 0000:00:02.0: [drm] HuC firmware i915/tgl_huc_7.9.3.bin version 7.9
[    3.228858] i915 0000:00:02.0: [drm] HuC authenticated
[    3.229751] i915 0000:00:02.0: [drm] GuC submission enabled
[    3.229752] i915 0000:00:02.0: [drm] GuC SLPC enabled
[    3.230572] i915 0000:00:02.0: [drm] GuC RC: enabled
[    3.233661] i915 0000:00:02.0: [drm] Protected Xe Path (PXP) protected content support initialized
[    3.235182] [drm] Initialized i915 1.6.0 20201103 for 0000:00:02.0 on minor 1
[    3.235726] ACPI: video: Video Device [PEGE] (multi-head: yes  rom: no  post: no)
[    3.235920] input: Video Bus as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/device:00/device:01/device:02/LNXVIDEO:00/input/input4
[    3.236747] ACPI: video: Video Device [GFX0] (multi-head: yes  rom: no  post: no)
[    3.237070] acpi device:4f: registered as cooling_device25
[    3.237243] acpi device:50: registered as cooling_device26
[    3.237300] input: Video Bus as /devices/LNXSYSTM:00/LNXSYBUS:00/PNP0A08:00/LNXVIDEO:01/input/input5
[    3.237443] i915 0000:03:00.0: [drm] Incompatible option enable_guc=3 - HuC is not supported!
[    3.238103] i915 0000:03:00.0: [drm] VT-d active for gfx access
[    3.238106] i915 0000:03:00.0: vgaarb: deactivate vga console
[    3.238690] i915 0000:03:00.0: [drm] Local memory IO size: 0x00000003fa000000
[    3.238692] i915 0000:03:00.0: [drm] Local memory available: 0x00000003fa000000
[    3.244909] i915 0000:00:02.0: [drm] Cannot find any crtc or sizes
[    3.245331] i915 0000:00:02.0: [drm] Cannot find any crtc or sizes
[    3.245732] i915 0000:00:02.0: [drm] Cannot find any crtc or sizes
[    3.258772] i915 0000:03:00.0: [drm] Finished loading DMC firmware i915/dg2_dmc_ver2_06.bin (v2.6)
[    3.288957] usb 3-4.2: New USB device found, idVendor=05ac, idProduct=024f, bcdDevice= 0.74
[    3.288961] usb 3-4.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    3.288963] usb 3-4.2: Product: Apple Keyboard
[    3.288964] usb 3-4.2: Manufacturer: Apple Inc.
[    3.305535] input: Apple Inc. Apple Keyboard as /devices/pci0000:00/0000:00:14.0/usb3/3-4/3-4.2/3-4.2:1.0/0003:05AC:024F.0002/input/input6
[    3.357691] apple 0003:05AC:024F.0002: input,hidraw1: USB HID v1.11 Keyboard [Apple Inc. Apple Keyboard] on usb-0000:00:14.0-4.2/input0
[    3.357758] apple 0003:05AC:024F.0003: Fn key not found (Apple Wireless Keyboard clone?), disabling Fn key handling
[    3.357771] input: Apple Inc. Apple Keyboard as /devices/pci0000:00/0000:00:14.0/usb3/3-4/3-4.2/3-4.2:1.1/0003:05AC:024F.0003/input/input7
[    3.376409] i915 0000:03:00.0: [drm] GuC firmware i915/dg2_guc_70.1.2.bin version 70.1
[    3.391227] i915 0000:03:00.0: [drm] GuC submission enabled
[    3.391231] i915 0000:03:00.0: [drm] GuC SLPC enabled
[    3.391719] i915 0000:03:00.0: [drm] GuC RC: enabled
[    3.410520] apple 0003:05AC:024F.0003: input,hidraw2: USB HID v1.11 Device [Apple Inc. Apple Keyboard] on usb-0000:00:14.0-4.2/input1
[    3.412218] i915 0000:03:00.0: [drm] Reducing the compressed framebuffer size. This may lead to less power savings than a non-reduced-size. Try to increase stolen memory size if available in BIOS.
[    3.423209] [drm] Initialized i915 1.6.0 20201103 for 0000:03:00.0 on minor 0
[    3.436447] fbcon: i915drmfb (fb0) is primary device
[    3.484346] Console: switching to colour frame buffer device 480x135
[    3.509530] i915 0000:03:00.0: [drm] fb0: i915drmfb frame buffer device
[    3.587207] BTRFS info (device nvme0n1p3): using crc32c (crc32c-intel) checksum algorithm
[    3.587224] BTRFS info (device nvme0n1p3): using free space tree
[    3.590908] BTRFS info (device nvme0n1p3): enabling ssd optimizations
[    4.138797] systemd-journald[356]: Received SIGTERM from PID 1 (n/a).
[    4.227588] SELinux:  policy capability network_peer_controls=1
[    4.227593] SELinux:  policy capability open_perms=1
[    4.227594] SELinux:  policy capability extended_socket_class=1
[    4.227595] SELinux:  policy capability always_check_network=0
[    4.227596] SELinux:  policy capability cgroup_seclabel=1
[    4.227596] SELinux:  policy capability nnp_nosuid_transition=1
[    4.227597] SELinux:  policy capability genfs_seclabel_symlinks=1
[    4.227598] SELinux:  policy capability ioctl_skip_cloexec=0
[    4.257619] systemd[1]: Successfully loaded SELinux policy in 65.497ms.
[    4.273033] systemd[1]: Relabelled /dev, /dev/shm, /run, /sys/fs/cgroup in 11.804ms.

On a cold boot, the process will freeze here:

[    3.004507] usb 3-10: new full-speed USB device number 5 using xhci_hcd
[    3.032551] BTRFS: device label fedora_localhost-live devid 1 transid 343 /dev/nvme0n1p3 scanned by systemd-udevd (524)
[    3.080093] Setting dangerous option force_probe - tainting kernel
[    3.081752] i915 0000:00:02.0: enabling device (0006 -> 0007)

But its fine with this on a reboot (i915.force_probe). Thoughts? The first i915 device is the integrated graphics, the second device is the A770 GPU.

Output of inxi:

System:
  Kernel: 6.0.11-300.fc37.x86_64 arch: x86_64 bits: 64 Desktop: GNOME v: 43.1
    Distro: Fedora release 37 (Thirty Seven)
Machine:
  Type: Mini-pc System: Intel Client Systems product: NUC12SNKi72
    v: M78931-500 serial: <superuser required>
  Mobo: Intel model: NUC12SNKi72 v: M78939-500 serial: <superuser required>
    UEFI: Intel v: SNADL357.0049.2022.0617.0129 date: 06/17/2022
CPU:
  Info: 14-core (6-mt/8-st) model: 12th Gen Intel Core i7-12700H bits: 64
    type: MST AMCP cache: L2: 11.5 MiB
  Speed (MHz): avg: 2510 min/max: 400/4600:4700:3500 cores: 1: 2700 2: 2700
    3: 2700 4: 2700 5: 2700 6: 2700 7: 697 8: 2700 9: 2700 10: 2700 11: 2700
    12: 2700 13: 2700 14: 2700 15: 2700 16: 908 17: 2700 18: 2700 19: 2700
    20: 2700
Graphics:
  Device-1: Intel Alder Lake-P Integrated Graphics driver: i915 v: kernel
  Device-2: Intel DG2 [Arc A770M] driver: i915 v: kernel
  Display: wayland server: X.Org v: 22.1.5 with: Xwayland v: 22.1.5
    compositor: gnome-shell driver: X: loaded: modesetting dri: iris gpu: i915
    resolution: 3840x2160~60Hz
  API: OpenGL v: 4.6 Mesa 22.2.3 renderer: Mesa Intel Arc A770M Graphics
    (DG2)
Audio:
  Device-1: Intel Alder Lake PCH-P High Definition Audio driver: snd_hda_intel
  Device-2: Intel driver: snd_hda_intel
  Sound API: ALSA v: k6.0.11-300.fc37.x86_64 running: yes
  Sound Server-1: PipeWire v: 0.3.61 running: yes
Network:
  Device-1: Intel Alder Lake-P PCH CNVi WiFi driver: iwlwifi
  IF: wlo1 state: up mac: <filter>
  Device-2: Intel Ethernet I225-LM driver: igc
  IF: enp91s0 state: down mac: <filter>
Bluetooth:
  Device-1: Intel type: USB driver: btusb
  Report: rfkill ID: hci0 state: up address: see --recommends
Drives:
  Local Storage: total: 931.51 GiB used: 4.82 GiB (0.5%)
  ID-1: /dev/nvme0n1 vendor: Crucial model: CT1000P3PSSD8 size: 931.51 GiB
Partition:
  ID-1: / size: 929.93 GiB used: 4.55 GiB (0.5%) fs: btrfs dev: /dev/nvme0n1p3
  ID-2: /boot size: 973.4 MiB used: 260.5 MiB (26.8%) fs: ext4
    dev: /dev/nvme0n1p2
  ID-3: /boot/efi size: 598.8 MiB used: 17.4 MiB (2.9%) fs: vfat
    dev: /dev/nvme0n1p1
  ID-4: /home size: 929.93 GiB used: 4.55 GiB (0.5%) fs: btrfs
    dev: /dev/nvme0n1p3
Swap:
  ID-1: swap-1 type: zram size: 8 GiB used: 0 KiB (0.0%) dev: /dev/zram0
Sensors:
  System Temperatures: cpu: 48.0 C mobo: N/A
  Fan Speeds (RPM): N/A
Info:
  Processes: 399 Uptime: 18m Memory: 62.38 GiB used: 2.85 GiB (4.6%)
  Shell: Bash inxi: 3.3.23

Hello Kevin.

As far, as I understand, must intel arc a770 run on Wayland session to work, else it will not start!
I self have many issue with the Intel Arc A770 16GB Limited Edtion, and even intels own solution, to run Ubuntu ect, do not work for me, I don’t know if that is doing to my AMD CPU?

I have try Arch iso, direct install, It run, but I don’t get access to drivers, give errors on vainfo.
I normal run EndeavourOS, and same there.
Only OS, that works like it should is (sadly for me) Windows.

So today I will try Fedora Workstation with Gnome (I really, like REALLY don’t like gnome at all)
but I also know that KDE Plasma and Wayland do not work good with either Nvidia nor this intel gfx card, so what else is there to try ?

I have also tested that force.probe, don’t make any change, and the I can’t get access to HuC on the card, so it might be on intel CPU that allow it?

I got AMD Ryzen 9 5900X.

Ohhh I forgot, I don’t know if your nuc have Resizable BAR or not, but that MUST be enabled, and also CMS must be turned off, accorded to intels page.

Read about it here: Ubuntu* 22.04 (jammy) — Intel® software for general purpose GPU capabilities documentation

Sadly, it seems they only support Ubuntu for now, I REALLY hope (soon) we on other distro can work with this card. I can’t afford to buy another one anytime soon.

(Sorry for the above mess… I got autism + ADHD)

Dr. Pain, aka Per Rosenhave, Denmark

Oh another thing, you also must use modesettings!
and for the modprobe.d/i915.conf = options i915 enable_guc=3 (I think you shall use 3, since you got alderlake cpu)

Even that you run Fedora, you can benefit from this: Hardware video acceleration - ArchWiki

Also this: Intel graphics - ArchWiki

Hope I can help you a little.

Greetings from Denmark, Dr. Pain aka Per Rosenhave

I started over from scratch. I also updated my NUC bios, and disabled ACPI/PCIe power management in the BIOS. That did the trick for me (including i915.force_probe), YMMV. I wrote up my steps here, and I have been doing work from the new NUC/F37 all week without a single issue.

Unlike other machines folks have here, the NUC is very specific and the BIOS are tuned for it being an end to end machine. I have no such BIOS options for 4G decoding, enable rebar, etc, I assume they are already enabled (I guess theyd have to be, since my GPU works).