GNU bug report logs -
#66651
How to pass i915.enable_guc=0 in config.scm to prevent a 'wedged' GPU?
Previous Next
To add a comment to this bug, you must first unarchive it, by sending
a message to control AT debbugs.gnu.org, with unarchive 66651 in the body.
You can then email your comments to 66651 AT debbugs.gnu.org in the normal way.
Toggle the display of automated, internal messages from the tracker.
Report forwarded
to
bug-guix <at> gnu.org
:
bug#66651
; Package
guix
.
(Fri, 20 Oct 2023 17:44:01 GMT)
Full text and
rfc822 format available.
Acknowledgement sent
to
Hugo Buddelmeijer <hugo <at> buddelmeijer.nl>
:
New bug report received and forwarded. Copy sent to
bug-guix <at> gnu.org
.
(Fri, 20 Oct 2023 17:44:01 GMT)
Full text and
rfc822 format available.
Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):
The i915 driver will try to load the GuC firmware, at least for Iris
Xe chips. Loading the GuC firmware fails because it is non-free and
deblobbed. As a result, some software, like sway, will not work.
It is possible to manually pass the i915.enable_guc=0 kernel parameter
at boot from grub. Then everything works as intended. However, it
seems not possible to set this parameter from config.scm.
So at the moment my system is not fully declarative, as I have to type
in a kernel parameter at boot; does anyone perhaps have advice on how
can this be done better?
Details below.
Thanks,
Hugo
guix version:
guix 27c2ebd
repository URL: https://git.savannah.gnu.org/git/guix.git
branch: master
commit: 27c2ebd7cebba22b7acd341d7ce402f6beb02733
### Attempt 1, out-of-the box configuration ###
dmesg output:
[ 10.028684] i915 0000:00:02.0: [drm] *ERROR* GT0: GuC firmware
/*(DEBLOBBED)*/: fetch failed -ENOENT
[ 10.028692] i915 0000:00:02.0: [drm] GT0: GuC firmware(s) can be
downloaded from /*(DEBLOBBED)*/
[ 10.029541] i915 0000:00:02.0: [drm] GT0: GuC firmware
/*(DEBLOBBED)*/ version 0.0.0
[ 10.029613] i915 0000:00:02.0: [drm] *ERROR* GT0: GuC
initialization failed -ENOENT
[ 10.029615] i915 0000:00:02.0: [drm] *ERROR* GT0: Enabling uc failed (-5)
[ 10.029617] i915 0000:00:02.0: [drm] *ERROR* GT0: Failed to
initialize GPU, declaring it wedged!
[ 10.029973] i915 0000:00:02.0: [drm:add_taint_for_CI [i915]] CI
tainted:0x9 by intel_gt_set_wedged_on_init+0x38/0x50 [i915]
sway-greeter.log:
error: Kernel is too old (4.16+ required) or unusable for Iris.
Check your dmesg logs for loading failures.
libEGL warning: egl: failed to create dri2 screen
00:00:00.185 [ERROR] [wlr] [EGL] command: eglInitialize, error:
EGL_NOT_INITIALIZED (0x3001), message: "DRI2: failed to create screen"
### Attempt 2: manually disabling guc ###
dmesg when passing i915.enable_guc=0 at boot (roughly instead of the
errors from attempt 1):
[ 9.233275] Setting dangerous option enable_guc - tainting kernel
sway works
### Attempt 3: through config.scm ###
attempt to set the kernel parameter in config.scm:
(modify-services %base-services
(sysctl-service-type config =>
(sysctl-configuration
(settings (append '(("i915.enable_guc" . "0"))
%default-sysctl-settings)))))
dmesg output (in addition to the errors from attempt 1):
[ 7.759922] sysctl: cannot stat /proc/sys/i915/enable_guc: No such
file or directory
sway does not work
Information forwarded
to
bug-guix <at> gnu.org
:
bug#66651
; Package
guix
.
(Fri, 20 Oct 2023 18:42:02 GMT)
Full text and
rfc822 format available.
Message #8 received at 66651 <at> debbugs.gnu.org (full text, mbox):
Hugo Buddelmeijer <hugo <at> buddelmeijer.nl> writes:
> The i915 driver will try to load the GuC firmware, at least for Iris
> Xe chips. Loading the GuC firmware fails because it is non-free and
> deblobbed. As a result, some software, like sway, will not work.
>
> It is possible to manually pass the i915.enable_guc=0 kernel parameter
> at boot from grub. Then everything works as intended. However, it
> seems not possible to set this parameter from config.scm.
>
> So at the moment my system is not fully declarative, as I have to type
> in a kernel parameter at boot; does anyone perhaps have advice on how
> can this be done better?
> ...
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.
I suspect that the sysctl thing doesn't work because it is done too late
in the boot process.
Information forwarded
to
bug-guix <at> gnu.org
:
bug#66651
; Package
guix
.
(Fri, 20 Oct 2023 18:43:01 GMT)
Full text and
rfc822 format available.
Information forwarded
to
bug-guix <at> gnu.org
:
bug#66651
; Package
guix
.
(Fri, 20 Oct 2023 19:41:02 GMT)
Full text and
rfc822 format available.
Message #14 received at 66651 <at> debbugs.gnu.org (full text, mbox):
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
Reply sent
to
Tobias Geerinckx-Rice <me <at> tobias.gr>
:
You have taken responsibility.
(Fri, 20 Oct 2023 20:58:01 GMT)
Full text and
rfc822 format available.
Notification sent
to
Hugo Buddelmeijer <hugo <at> buddelmeijer.nl>
:
bug acknowledged by developer.
(Fri, 20 Oct 2023 20:58:01 GMT)
Full text and
rfc822 format available.
Message #19 received at 66651-close <at> debbugs.gnu.org (full text, mbox):
On 2023-10-20 21:39, Hugo Buddelmeijer wrote:
> 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
Add ‘-done’ or ‘-close’ to the bug address, as I've done here.
Kind regards,
T G-R
Sent from a Web browser. Excuse or enjoy my brevity.
Added tag(s) notabug.
Request was from
Maxim Cournoyer <maxim.cournoyer <at> gmail.com>
to
control <at> debbugs.gnu.org
.
(Fri, 20 Oct 2023 22:37:02 GMT)
Full text and
rfc822 format available.
Information forwarded
to
bug-guix <at> gnu.org
:
bug#66651
; Package
guix
.
(Fri, 20 Oct 2023 22:37:02 GMT)
Full text and
rfc822 format available.
Message #24 received at 66651-done <at> debbugs.gnu.org (full text, mbox):
tags 66651 + notabug
thanks
Hello!
Hugo Buddelmeijer <hugo <at> buddelmeijer.nl> writes:
[...]
> 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
You can reply to the bug via the special '66651-done <at> debbugs.gnu.org'
email address. I'm also CC'ing the Debbugs control server so that it
processes the directives found at the beginning of this mail (add a
'notabug' tag).
--
Thanks,
Maxim
bug archived.
Request was from
Debbugs Internal Request <help-debbugs <at> gnu.org>
to
internal_control <at> debbugs.gnu.org
.
(Sat, 18 Nov 2023 12:24:07 GMT)
Full text and
rfc822 format available.
This bug report was last modified 1 year and 215 days ago.
Previous Next
GNU bug tracking system
Copyright (C) 1999 Darren O. Benham,
1997,2003 nCipher Corporation Ltd,
1994-97 Ian Jackson.