On Wed, Oct 14, 2026 at 04:04:18PM -0700, Dave Hansen wrote:
> I've got a custom kernel that has CONFIG_DRM_XE=y. I moved a disk from
> an old NUC to a new Panther Lake one, and from it being SATA-attached to
> USB-attached.
> 
> The new system was hanging after GRUB:
> 
>       Loading Linux ...
>       Loading initial ramdisk ...
>       <nothing>
> 
> Turns out, the root cause of the boot hang was my USB adapter needing a
> rootdelay=15. But it took me a couple of hours, and a USB debug cable to
> figure it out. Why?
> 
> Because the xe driver was falling over itself and presumably sabotaging
> the firmware framebuffer in the process:
> 
> > [    1.505387] xe 0000:00:02.0: vgaarb: deactivate vga console
> > [    1.507298] xe 0000:00:02.0: [drm] Running in SR-IOV PF mode
> > [    1.512831] xe 0000:00:02.0: [drm] Tile0: GT0: GuC firmware 
> > xe/ptl_guc_70.bin not found
> > [    1.512873] xe 0000:00:02.0: [drm] Tile0: GT0: GuC firmware(s) can be 
> > downloaded from 
> > https://git.kernel.org/pub/scm/linux/kernel/git/firmware/linux-firmware.git
> > [    1.512881] xe 0000:00:02.0: [drm] *ERROR* Tile0: GT0: Failed to 
> > initialize uC (-ENOENT)
> > [    1.512894] xe 0000:00:02.0: probe with driver xe failed with error -2
> 
> So instead of getting a nice message about my root disk problems, I just
> got a hang after GRUB. Basically, missing XE firmware results in a
> system which is undebuggable for normal humans*.
> 
> There seem to have been similar issues in the past:
> 
> > https://lore.kernel.org/lkml/[email protected]/

Cc: dri-devel
Cc: Zack

This definitely looks the right overall solution to the failed probe.
So the VGA can be put back.

> 
> Any chance that could be looked at again? This was a pretty insidious
> failure mode.
> 
>  * Normal humans don't have USB debug cables lying around

Agree. and mandatory FW or initramfs/initrd flows also don't help.

So, perhaps what could be done in this specific case while we don't have
the proper one is something like trying to pre-fetch the mandatory fw.
Before we steal the fb. Something like:

(Untested warning)

https://github.com/rodrigovivi/linux/commit/5589d2883a604d52e89f44620e16d16c7fd278e8

Reply via email to