Subject: [bug#59003] [PATCH v2 6/6] installer: Report known-unsupported PCI devices.

From: "pelzflorian (Florian Pelz)" <[email-masked]>
Date: Fri, 11 Nov 2022 12:08:38 +0100

Okay, the blame on the hardware manufacturer is fine as is.

I tested again by creating a dummy gpg key, locally adding it to
guix-authorizations and changing guix/channels.scm’s
%guix-channel-introduction.

Ludovic Courtès <[email-masked]> writes:
> +(define %unsupported-linux-modules
> +  '([…]
> +    ;; Graphics.
> +    "amdgpu"
> +    "radeon"

Yes, this is fine, I think, even though AMD users will have also gotten
the uvesafb warning before and even though allegedly some AMD devices
work okay without firmware (except for 3d, according to h-node).

Also with the previous v1 patch revision (I had missed that), and now
testing on a PC with non-working AMD graphics, when I first select
shell-based install, I get the warning, then switch back to the
installer with Alt-F1 and select graphical installation, after first
seeing the uvesafb warning, the installer crashes.  installer-backtrace
is this:

In ice-9/boot-9.scm:
  1752:10 19 (with-exception-handler _ _ #:unwind? _ #:unwind-for-type _)
In ice-9/eval.scm:
    619:8 18 (_ #(#(#(#<directory (guile-user) 7fb5fdc4dc80>)) #<variable 7fb5ebe9a9c0 value: #<undefined>>))
   626:19 17 (_ #(#(#(#<directory (guile-user) 7fb5fdc4dc80>)) #<variable 7fb5ebe9a9c0 value: #<undefined>>))
In gnu/installer/utils.scm:
   353:14 16 (call-with-server-socket _)
In ./gnu/installer/steps.scm:
   150:13 15 (run () #:todo-steps _ #:done-steps _)
   148:23 14 (run ((locale . "en_AG.utf8")) #:todo-steps _ #:done-steps _)
In ./gnu/installer/newt/welcome.scm:
   118:18 13 (run-menu-page "GNU Guix install" "Welcome to GNU Guix system installer!\n\nYou will be guided through a graphical installation program.\n\nIf you are familiar with GNU/Linux and you…" …)
   118:18 12 (run-menu-page "GNU Guix install" "Welcome to GNU Guix system installer!\n\nYou will be guided through a graphical installation program.\n\nIf you are familiar with GNU/Linux and you…" …)
   152:36 11 (check-hardware-support #f)
In ./gnu/installer/hardware.scm:
    80:19 10 (pci-device-description #f)
In gnu/build/linux-modules.scm:
   561:14  9 (load-pci-device-database _)
In unknown file:
           8 (open-file #f "r0")
In ice-9/boot-9.scm:
  1685:16  7 (raise-exception _ #:continuable? _)
  1780:13  6 (_ #<&compound-exception components: (#<&assertion-failure> #<&origin origin: #f> #<&message message: "Wrong type (expecting ~A): ~S"> #<&irritants irritants: ("string" #f)> #<&except…>)
In ice-9/eval.scm:
    619:8  5 (_ #(#(#(#<directory (guile-user) 7fb5fdc4dc80>) wrong-type-arg (#f "Wrong type (expecting ~A): ~S" ("string" #f) (#f))) #<variable 7fb5e7f01690 value: #<unspecified>> #<variable 7…> …))
   626:19  4 (_ #(#(#(#<directory (guile-user) 7fb5fdc4dc80>) wrong-type-arg (#f "Wrong type (expecting ~A): ~S" ("string" #f) (#f))) #<variable 7fb5e7f01690 value: #<unspecified>> #<variable 7…> …))
In ./gnu/installer/dump.scm:
     58:4  3 (prepare-dump wrong-type-arg (#f "Wrong type (expecting ~A): ~S" ("string" #f) (#f)) #:result _)
In ice-9/ports.scm:
   433:17  2 (call-with-output-file _ _ #:binary _ #:encoding _)
In ./gnu/installer/dump.scm:
    60:27  1 (_ #<output: installer-backtrace 20>)
In unknown file:
           0 (make-stack #t)
./gnu/installer/dump.scm:62:36: Wrong type (expecting string): #f

Regards,
Florian