unofficial mirror of bug-guix@gnu.org 
 help / color / mirror / code / Atom feed
From: "pelzflorian (Florian Pelz)" <pelzflorian@pelzflorian.de>
To: "Ludovic Courtès" <ludo@gnu.org>
Cc: 60010@debbugs.gnu.org
Subject: bug#60010: [version 1.4.0] AMD screen stays black; modprobe fails
Date: Thu, 15 Dec 2022 18:42:59 +0100	[thread overview]
Message-ID: <875yec5zrw.fsf@pelzflorian.de> (raw)
In-Reply-To: <87y1r9r2cj.fsf@gnu.org> ("Ludovic Courtès"'s message of "Thu, 15 Dec 2022 00:29:32 +0100")

[-- Attachment #1: Type: text/plain, Size: 1057 bytes --]

Hello Ludo, sorry to say I attempted your modprobe patch that uses
(parameterize ((default-environment-variables …

No good.  Screen is black.  Same [ modprobe ] failure in dmesg on QEMU
and on real AMD hardware.

There are workarounds by surrounding modprobe within strace or
alternatively using kernel-module-loader-service (attached; but again,
without the file-exists? check, this would cause new issues on some
machines that dont need uvesafb).

A stupid

diff --git a/gnu/system/install.scm b/gnu/system/install.scm
index f6f1923121..a99cf09e31 100644
--- a/gnu/system/install.scm
+++ b/gnu/system/install.scm
@@ -289,6 +289,7 @@ (define (uvesafb-shepherd-service _)
          (provision '(maybe-uvesafb))
          (requirement '(file-systems))
          (start #~(lambda ()
+                   (sleep 1)
                     (or (file-exists? "/dev/fb0")
                         (invoke #+(file-append kmod "/bin/modprobe")
                                 "uvesafb"


fails though.

All bad…

Regards,
Florian

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: use-kernel-module-loader.patch --]
[-- Type: text/x-patch, Size: 2925 bytes --]

diff --git a/gnu/system/install.scm b/gnu/sysdiff --git a/gnu/system/install.scm b/gnu/system/install.scm
index f6f1923121..2a1f401536 100644
--- a/gnu/system/install.scm
+++ b/gnu/system/install.scm
@@ -40,6 +40,7 @@ (define-module (gnu system install)
   #:use-module (gnu system locale)
   #:use-module (gnu services avahi)
   #:use-module (gnu services dbus)
+  #:use-module (gnu services linux)
   #:use-module (gnu services networking)
   #:use-module (gnu services shepherd)
   #:use-module (gnu services ssh)
@@ -283,29 +284,22 @@ (define %nscd-minimal-caches
 ;; These define a service to load the uvesafb kernel module with the
 ;; appropriate options.  The GUI installer needs it when the machine does not
 ;; support Kernel Mode Setting.  Otherwise kmscon is missing /dev/fb0.
-(define (uvesafb-shepherd-service _)
-  (list (shepherd-service
-         (documentation "Load the uvesafb kernel module if needed.")
-         (provision '(maybe-uvesafb))
-         (requirement '(file-systems))
-         (start #~(lambda ()
-                    (or (file-exists? "/dev/fb0")
-                        (invoke #+(file-append kmod "/bin/modprobe")
-                                "uvesafb"
-                                (string-append "v86d=" #$v86d "/sbin/v86d")
-                                "mode_option=1024x768"))))
-         (respawn? #f)
-         (one-shot? #t))))
-
-(define uvesafb-service-type
-  (service-type
-   (name 'uvesafb)
-   (extensions
-    (list (service-extension shepherd-root-service-type
-                             uvesafb-shepherd-service)))
-   (description
-    "Load the @code{uvesafb} kernel module with the right options.")
-   (default-value #t)))
+(define uvesafb-config
+  (computed-file "uvesafb.conf"
+                 #~(with-output-to-file #$output
+                     (lambda ()
+                       (display
+                        (string-append "options uvesafb"
+                                      " " "v86d=" #$v86d "/sbin/v86d"
+                                       " " "mode_option=1024x768"))))))
+
+(define uvesafb-services
+  (list (service kernel-module-loader-service-type
+                 '("uvesafb"))
+       (simple-service 'uvesafb-config etc-service-type
+                                             (list `("modprobe.d/uvesafb.conf"
+                                                     ,uvesafb-config)))))
+       
 
 (define* (%installation-services #:key (system (or (and=>
                                                     (%current-target-system)
@@ -450,8 +444,7 @@ (define bare-bones-os
      ;; installer.  Some may also need a kernel parameter like nomodeset
      ;; or vga=793, but we leave that for the user to specify in GRUB.
      `(,@(if (supported-package? v86d system)
-             (list (service uvesafb-service-type))
-             '())))))
+             uvesafb-services)))))
 
 (define %issue
   ;; Greeting.

  reply	other threads:[~2022-12-15 17:44 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-12-12 16:27 bug#60010: [version 1.4.0] AMD screen stays black; modprobe fails pelzflorian (Florian Pelz)
2022-12-12 20:11 ` Josselin Poiret via Bug reports for GNU Guix
2022-12-13 12:29   ` pelzflorian (Florian Pelz)
2022-12-12 23:18 ` Ludovic Courtès
2022-12-13 10:00   ` Ludovic Courtès
2022-12-13 12:50     ` pelzflorian (Florian Pelz)
2022-12-13 13:03       ` Ludovic Courtès
2022-12-14 13:49         ` pelzflorian (Florian Pelz)
2022-12-14 23:29           ` Ludovic Courtès
2022-12-15 17:42             ` pelzflorian (Florian Pelz) [this message]
2022-12-15 23:37               ` Ludovic Courtès
2022-12-16 11:48                 ` pelzflorian (Florian Pelz)
2022-12-13 13:51       ` pelzflorian (Florian Pelz)
2022-12-13 16:37         ` Ludovic Courtès

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

  List information: https://guix.gnu.org/

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=875yec5zrw.fsf@pelzflorian.de \
    --to=pelzflorian@pelzflorian.de \
    --cc=60010@debbugs.gnu.org \
    --cc=ludo@gnu.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).