From: Hugo Buddelmeijer <[email-masked]>
Date: Fri, 20 Oct 2023 19:39:27 +0000

Csepp <raingloom <at> riseup.net> wrote:

> You can use the kernel-arguments option in the operating-system config.
> Untested:
> (kernel-arguments (cons "i915.enable_guc=0" %default-kernel-arguments))
> This should work, in theory.

Thanks, using kernel-arguments indeed works!

The idea to use i915.enable_guc came from the arch wiki [1], which states

> GuC functionality is controlled by the i915.enable_guc kernel parameter.

So I searched the Guix manual for "kernel parameter", and found the
sysctl section.

> I suspect that the sysctl thing doesn't work because it is done too late
> in the boot process.

That makes sense now I understand the difference between kernel
arguments and parameters in Guix. From the sysctl man page:

> sysctl  is  used to modify kernel parameters at runtime.

And that is indeed a bit late for deciding whether to load firmware.

About the default value: naively I would think that the default of
i915.enable_guc should be changed to 0 in the libre kernel, at least
for those chips that do not have free firmware.

At least now the term 'wedged' is part of the issue tracker, so other
affected people will hopefully find this.

This issue can be closed as far as I'm concerned, but I don't know how
to do that. Let's try this:

/close

Thanks again,

Hugo

[1] https://wiki.archlinux.org/title/Intel_graphics