Intel NUC12 (with ARC 770M) blank screen boot issues

Hi all,
I’m losing my mind trying to make Intel ARC 770M (on Intel NUC12) work on EndeavorOS.
What interesting that it works AFTER I boot to EndeavorOS install via USB stick.

After doing so, installer works just fine, and then I can boot from NVMe of installed system as well .

It stops to work when I completely turn off system from power line.

Then when trying to boot, after initial boot configuration screen I see blank screen, as opposed - for installer it works even then.

What I tried is to add following boot parameters (to /etc/kernel/cmdline), some I’ve got from Arch wiki, some from /proc/cmdline of booted from USB system, here is my full /proc/cmdline on installed system right now:

initrd=\ba93f5f19cf843d3854ca960b4c2d0d7\6.5.4-arch2-1\initrd nvme_load=YES nowatchdog rw root=UUID=6a0b2e55-73fb-465c-bf20-c8bcc540f604 i915.modeset=1 module_blacklist=nvidia,nvidia_modeset,nvidia_uvm,nvidia_drm,pcspkr video=SVIDEO-1:d systemd.machine_id=ba93f5f19cf843d3854ca960b4c2d0d7

I know that adding nvidia ones to blacklist makes zero sense, but just tried it anyway…

Also

cat /etc/dracut.conf.d/myflags.conf
force_drivers+=" i915"

cat  /etc/modprobe.d/i915.conf
options i915 force_probe=5690

I’ve done dracut-rebuild and bootctl install and reinstall-kernels

I don’t know what else can I do, and why booting to installer once, makes possible to boot from NVMe

Thanks

Check in your BIOS settings that your SATA controller is set to AHCI mode (not RAID, or something else).

Try also installing the LTS kernel, and test booting with that. If you are up against a kernel bug, switching to another kernel until it gets fixed may be your best bet.

Welcome to the community by the way. :slightly_smiling_face:

Thanks, but unfortunately there are no settings for SATA only disabled or enabled option. Also lts kernel have not helped.

But I enabled ssh access and I can try something there. For now tried checking logs via dmesg specifically for i915, but have not found anything special:

[pecet@pecet-nuc12snki72 ~]$ sudo dmesg | grep -i i915
[    0.000000] Command line: initrd=\ba93f5f19cf843d3854ca960b4c2d0d7\6.1.55-1-lts\initrd nvme_load=YES nowatchdog rw root=UUID=6a0b2e55-73fb-465c-bf20-c8bcc540f604 i915.modeset=1 module_blacklist=nvidia,nvidia_modeset,nvidia_uvm,nvidia_drm,pcspkr video=SVIDEO-1:d systemd.machine_id=ba93f5f19cf843d3854ca960b4c2d0d7
[    0.083190] Kernel command line: initrd=\ba93f5f19cf843d3854ca960b4c2d0d7\6.1.55-1-lts\initrd nvme_load=YES nowatchdog rw root=UUID=6a0b2e55-73fb-465c-bf20-c8bcc540f604 i915.modeset=1 module_blacklist=nvidia,nvidia_modeset,nvidia_uvm,nvidia_drm,pcspkr video=SVIDEO-1:d systemd.machine_id=ba93f5f19cf843d3854ca960b4c2d0d7
[    2.149835] i915 0000:00:02.0: enabling device (0006 -> 0007)
[    2.150481] i915 0000:00:02.0: [drm] VT-d active for gfx access
[    2.150625] i915 0000:00:02.0: [drm] Using Transparent Hugepages
[    2.151146] i915 0000:00:02.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=io+mem:owns=mem
[    2.152869] i915 0000:00:02.0: [drm] Finished loading DMC firmware i915/adlp_dmc_ver2_16.bin (v2.16)
[    2.245829] i915 0000:00:02.0: [drm] GuC firmware i915/adlp_guc_70.bin version 70.5.1
[    2.245831] i915 0000:00:02.0: [drm] HuC firmware i915/tgl_huc.bin version 7.9.3
[    2.260040] i915 0000:00:02.0: [drm] HuC authenticated
[    2.260544] i915 0000:00:02.0: [drm] GuC submission enabled
[    2.260545] i915 0000:00:02.0: [drm] GuC SLPC enabled
[    2.261073] i915 0000:00:02.0: [drm] GuC RC: enabled
[    2.262162] i915 0000:00:02.0: [drm] Protected Xe Path (PXP) protected content support initialized
[    2.263717] [drm] Initialized i915 1.6.0 20201103 for 0000:00:02.0 on minor 0
[    2.272137] i915 0000:00:02.0: [drm] Cannot find any crtc or sizes
[    2.272303] i915 0000:00:02.0: [drm] Cannot find any crtc or sizes
[    2.272433] i915 0000:00:02.0: [drm] Cannot find any crtc or sizes
[    4.483735] mei_hdcp 0000:00:16.0-b638ab7e-94e2-4ea2-a552-d1c54b627f04: bound 0000:00:02.0 (ops i915_hdcp_component_ops [i915])
[    4.485089] mei_pxp 0000:00:16.0-fbf6fcf1-96cf-4e2e-a6a6-1bab8cbe36b1: bound 0000:00:02.0 (ops i915_pxp_tee_component_ops [i915])
[    4.591421] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])

Since this computer has both discrete and dedicated graphics card, maybe I need to somehow select discrete one (can’t disable it in BIOS though), and maybe this is what installer is doing…?

edit: Actually when I booted to system after booting to installer once (this is when I see something on screen, after reboot to NVMe, as opposed to blackness) I see that much more logging happens:

[pecet@pecet-nuc12snki72 ~]$ sudo dmesg | grep -i i915
[sudo] hasło użytkownika pecet:
[    0.000000] Command line: initrd=\ba93f5f19cf843d3854ca960b4c2d0d7\6.5.4-arch2-1\initrd nvme_load=YES nowatchdog rw root=UUID=6a0b2e55-73fb-465c-bf20-c8bcc540f604 i915.modeset=1 module_blacklist=nvidia,nvidia_modeset,nvidia_uvm,nvidia_drm,pcspkr video=SVIDEO-1:d systemd.machine_id=ba93f5f19cf843d3854ca960b4c2d0d7
[    0.082262] Kernel command line: initrd=\ba93f5f19cf843d3854ca960b4c2d0d7\6.5.4-arch2-1\initrd nvme_load=YES nowatchdog rw root=UUID=6a0b2e55-73fb-465c-bf20-c8bcc540f604 i915.modeset=1 module_blacklist=nvidia,nvidia_modeset,nvidia_uvm,nvidia_drm,pcspkr video=SVIDEO-1:d systemd.machine_id=ba93f5f19cf843d3854ca960b4c2d0d7
[    2.139096] i915 0000:00:02.0: enabling device (0006 -> 0007)
[    2.139852] i915 0000:00:02.0: [drm] VT-d active for gfx access
[    2.139896] i915 0000:00:02.0: [drm] Using Transparent Hugepages
[    2.140391] i915 0000:00:02.0: vgaarb: changed VGA decodes: olddecodes=io+mem,decodes=none:owns=mem
[    2.142384] i915 0000:00:02.0: [drm] Finished loading DMC firmware i915/adlp_dmc.bin (v2.20)
[    2.148685] i915 0000:00:02.0: [drm] GT0: GuC firmware i915/adlp_guc_70.bin version 70.5.1
[    2.148688] i915 0000:00:02.0: [drm] GT0: HuC firmware i915/tgl_huc.bin version 7.9.3
[    2.162748] i915 0000:00:02.0: [drm] GT0: HuC: authenticated for all workloads
[    2.163498] i915 0000:00:02.0: [drm] GT0: GUC: submission enabled
[    2.163499] i915 0000:00:02.0: [drm] GT0: GUC: SLPC enabled
[    2.164037] i915 0000:00:02.0: [drm] GT0: GUC: RC enabled
[    2.164721] i915 0000:00:02.0: [drm] Protected Xe Path (PXP) protected content support initialized
[    2.166043] [drm] Initialized i915 1.6.0 20201103 for 0000:00:02.0 on minor 1
[    2.168390] i915 0000:00:02.0: [drm] Cannot find any crtc or sizes
[    2.168560] i915 0000:00:02.0: [drm] Cannot find any crtc or sizes
[    2.168943] i915 0000:00:02.0: [drm] Cannot find any crtc or sizes
[    2.169413] i915 0000:03:00.0: [drm] VT-d active for gfx access
[    2.214284] i915 0000:03:00.0: vgaarb: deactivate vga console
[    2.214732] i915 0000:03:00.0: [drm] Local memory IO size: 0x00000003fa000000
[    2.214737] i915 0000:03:00.0: [drm] Local memory available: 0x00000003fa000000
[    2.235564] i915 0000:03:00.0: [drm] Finished loading DMC firmware i915/dg2_dmc_ver2_08.bin (v2.8)
[    2.269895] i915 0000:03:00.0: [drm] GT0: GuC firmware i915/dg2_guc_70.bin version 70.8.0
[    2.269899] i915 0000:03:00.0: [drm] GT0: HuC firmware i915/dg2_huc_gsc.bin version 7.10.3
[    2.285840] i915 0000:03:00.0: [drm] GT0: GUC: submission enabled
[    2.285842] i915 0000:03:00.0: [drm] GT0: GUC: SLPC enabled
[    2.286098] i915 0000:03:00.0: [drm] GT0: GUC: RC enabled
[    2.330745] [drm] Initialized i915 1.6.0 20201103 for 0000:03:00.0 on minor 2
[    2.397017] fbcon: i915drmfb (fb0) is primary device
[    2.582342] i915 0000:03:00.0: [drm] fb0: i915drmfb frame buffer device
[    4.543263] mei_pxp 0000:00:16.0-fbf6fcf1-96cf-4e2e-a6a6-1bab8cbe36b1: bound 0000:00:02.0 (ops i915_pxp_tee_component_ops [i915])
[    4.544414] mei_hdcp 0000:00:16.0-b638ab7e-94e2-4ea2-a552-d1c54b627f04: bound 0000:00:02.0 (ops i915_hdcp_ops [i915])
[    4.615065] mei_gsc i915.mei-gscfi.768: FW not ready: resetting: dev_state = 2 pxp = 0
[    4.615089] mei_gsc i915.mei-gscfi.768: unexpected reset: dev_state = ENABLED fw status = 00000345 84670000 00000000 00000000 E0020002 00000000
[    4.615851] mei_gsc i915.mei-gsc.768: FW not ready: resetting: dev_state = 2 pxp = 2
[    4.615875] mei_gsc i915.mei-gsc.768: unexpected reset: dev_state = ENABLED fw status = 00000345 84670000 00000000 00000000 E0020002 00000000
[    4.660220] snd_hda_intel 0000:00:1f.3: bound 0000:00:02.0 (ops i915_audio_component_bind_ops [i915])
[    4.660677] snd_hda_intel 0000:04:00.0: bound 0000:03:00.0 (ops i915_audio_component_bind_ops [i915])
[    5.111660] i915 0000:03:00.0: [drm] GT0: HuC: authenticated for all workloads
[    5.111666] mei_pxp i915.mei-gsc.768-fbf6fcf1-96cf-4e2e-a6a6-1bab8cbe36b1: bound 0000:03:00.0 (ops i915_pxp_tee_component_ops [i915])

linux-firmware is installed, right?

This module is missing one of the padding spaces, before the second quotation mark. It should be like this:

force_drivers+=" i915 "

I’m not sure if that would prevent the driver from being loaded early or not, but worth correcting I think. Be sure to run sudo dracut-rebuild again after you fix it.

@pecet
The answer might be that you need to add nomodeset to the command line for systemd or grub depending on which you are using. Also disable ACPI and PCIe power management in Bios. I’m just guessing maybe you have tried already?