guix-patches
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[bug#51619] [PATCH] gnu: linux-libre: Support the Coreboot framebuffer.


From: Tobias Geerinckx-Rice
Subject: [bug#51619] [PATCH] gnu: linux-libre: Support the Coreboot framebuffer.
Date: Fri, 5 Nov 2021 22:07:09 +0100

* gnu/packages/aux-files/linux-libre/5.10-i686.conf,
gnu/packages/aux-files/linux-libre/5.10-x86_64.conf,
gnu/packages/aux-files/linux-libre/5.14-i686.conf,
gnu/packages/aux-files/linux-libre/5.14-x86_64.conf:
Mark simple framebuffers as generic system ones and enable ‘Google’
firmware drivers to enable Coreboot table support and its dependent
framebuffer driver.
---

Guix,

This option is very important on Corebooted and presumably Librebooted 
machines.  I strongly suspect that its absence has left ajarara in #guix unable 
to fix a Guix System that fails to boot.  I don't believe that enabling it has 
any drawbacks for us.

Without it, the kernel has no access to the framebuffer (the contents of the 
screen) from the moment it is booted by GRUB until the often modular, 
full-featured DRM graphics driver (e.g., i915) is loaded.

This normally just means that your GRUB background remains on screen for a 
second or two after booting — which may actually be a visual improvement over 
flashing text output or flickering.  However, things start hitting the fan if 
something goes wrong before the DRM driver can be loaded.  The kernel has no 
control over the screen and the system appears to freeze without an error 
message.

‘Say Y.’

Kind regards,

T G-R

PS: I will not be enabling these for older or non-x86 kernels as I'm not as 
comfy with their internals.

 gnu/packages/aux-files/linux-libre/5.10-i686.conf   | 10 ++++++++--
 gnu/packages/aux-files/linux-libre/5.10-x86_64.conf | 10 ++++++++--
 gnu/packages/aux-files/linux-libre/5.14-i686.conf   | 12 +++++++++---
 gnu/packages/aux-files/linux-libre/5.14-x86_64.conf | 12 +++++++++---
 4 files changed, 34 insertions(+), 10 deletions(-)

diff --git a/gnu/packages/aux-files/linux-libre/5.10-i686.conf 
b/gnu/packages/aux-files/linux-libre/5.10-i686.conf
index cb1fdc37ad..f9c033c5e9 100644
--- a/gnu/packages/aux-files/linux-libre/5.10-i686.conf
+++ b/gnu/packages/aux-files/linux-libre/5.10-i686.conf
@@ -650,7 +650,7 @@ CONFIG_ALIX=y
 CONFIG_NET5501=y
 CONFIG_GEOS=y
 CONFIG_AMD_NB=y
-# CONFIG_X86_SYSFB is not set
+CONFIG_X86_SYSFB=y
 # end of Bus options (PCI etc.)
 
 #
@@ -674,7 +674,13 @@ CONFIG_ISCSI_IBFT_FIND=y
 CONFIG_ISCSI_IBFT=m
 CONFIG_FW_CFG_SYSFS=m
 # CONFIG_FW_CFG_SYSFS_CMDLINE is not set
-# CONFIG_GOOGLE_FIRMWARE is not set
+CONFIG_GOOGLE_FIRMWARE=y
+# CONFIG_GOOGLE_SMI is not set
+CONFIG_GOOGLE_COREBOOT_TABLE=y
+# CONFIG_GOOGLE_MEMCONSOLE_X86_LEGACY is not set
+CONFIG_GOOGLE_FRAMEBUFFER_COREBOOT=y
+# CONFIG_GOOGLE_MEMCONSOLE_COREBOOT is not set
+# CONFIG_GOOGLE_VPD is not set
 
 #
 # EFI (Extensible Firmware Interface) Support
diff --git a/gnu/packages/aux-files/linux-libre/5.10-x86_64.conf 
b/gnu/packages/aux-files/linux-libre/5.10-x86_64.conf
index cd61860af9..accc084796 100644
--- a/gnu/packages/aux-files/linux-libre/5.10-x86_64.conf
+++ b/gnu/packages/aux-files/linux-libre/5.10-x86_64.conf
@@ -643,7 +643,7 @@ CONFIG_MMCONF_FAM10H=y
 # CONFIG_ISA_BUS is not set
 CONFIG_ISA_DMA_API=y
 CONFIG_AMD_NB=y
-# CONFIG_X86_SYSFB is not set
+CONFIG_X86_SYSFB=y
 # end of Bus options (PCI etc.)
 
 #
@@ -670,7 +670,13 @@ CONFIG_ISCSI_IBFT_FIND=y
 CONFIG_ISCSI_IBFT=m
 CONFIG_FW_CFG_SYSFS=m
 # CONFIG_FW_CFG_SYSFS_CMDLINE is not set
-# CONFIG_GOOGLE_FIRMWARE is not set
+CONFIG_GOOGLE_FIRMWARE=y
+# CONFIG_GOOGLE_SMI is not set
+CONFIG_GOOGLE_COREBOOT_TABLE=y
+# CONFIG_GOOGLE_MEMCONSOLE_X86_LEGACY is not set
+CONFIG_GOOGLE_FRAMEBUFFER_COREBOOT=y
+# CONFIG_GOOGLE_MEMCONSOLE_COREBOOT is not set
+# CONFIG_GOOGLE_VPD is not set
 
 #
 # EFI (Extensible Firmware Interface) Support
diff --git a/gnu/packages/aux-files/linux-libre/5.14-i686.conf 
b/gnu/packages/aux-files/linux-libre/5.14-i686.conf
index bcca80c348..946992c734 100644
--- a/gnu/packages/aux-files/linux-libre/5.14-i686.conf
+++ b/gnu/packages/aux-files/linux-libre/5.14-i686.conf
@@ -663,7 +663,7 @@ CONFIG_ALIX=y
 CONFIG_NET5501=y
 CONFIG_GEOS=y
 CONFIG_AMD_NB=y
-# CONFIG_X86_SYSFB is not set
+CONFIG_X86_SYSFB=y
 # end of Bus options (PCI etc.)
 
 #
@@ -687,7 +687,13 @@ CONFIG_ISCSI_IBFT_FIND=y
 CONFIG_ISCSI_IBFT=m
 CONFIG_FW_CFG_SYSFS=m
 # CONFIG_FW_CFG_SYSFS_CMDLINE is not set
-# CONFIG_GOOGLE_FIRMWARE is not set
+CONFIG_GOOGLE_FIRMWARE=y
+# CONFIG_GOOGLE_SMI is not set
+CONFIG_GOOGLE_COREBOOT_TABLE=y
+# CONFIG_GOOGLE_MEMCONSOLE_X86_LEGACY is not set
+CONFIG_GOOGLE_FRAMEBUFFER_COREBOOT=y
+# CONFIG_GOOGLE_MEMCONSOLE_COREBOOT is not set
+# CONFIG_GOOGLE_VPD is not set
 
 #
 # EFI (Extensible Firmware Interface) Support
@@ -6551,7 +6557,7 @@ CONFIG_DRM_ANALOGIX_DP=m
 # CONFIG_DRM_ETNAVIV is not set
 CONFIG_DRM_CIRRUS_QEMU=m
 CONFIG_DRM_GM12U320=m
-CONFIG_DRM_SIMPLEDRM=m
+# CONFIG_DRM_SIMPLEDRM is not set
 CONFIG_TINYDRM_HX8357D=m
 CONFIG_TINYDRM_ILI9225=m
 CONFIG_TINYDRM_ILI9341=m
diff --git a/gnu/packages/aux-files/linux-libre/5.14-x86_64.conf 
b/gnu/packages/aux-files/linux-libre/5.14-x86_64.conf
index 844420becd..5a0192b991 100644
--- a/gnu/packages/aux-files/linux-libre/5.14-x86_64.conf
+++ b/gnu/packages/aux-files/linux-libre/5.14-x86_64.conf
@@ -655,7 +655,7 @@ CONFIG_MMCONF_FAM10H=y
 # CONFIG_ISA_BUS is not set
 CONFIG_ISA_DMA_API=y
 CONFIG_AMD_NB=y
-# CONFIG_X86_SYSFB is not set
+CONFIG_X86_SYSFB=y
 # end of Bus options (PCI etc.)
 
 #
@@ -682,7 +682,13 @@ CONFIG_ISCSI_IBFT_FIND=y
 CONFIG_ISCSI_IBFT=m
 CONFIG_FW_CFG_SYSFS=m
 # CONFIG_FW_CFG_SYSFS_CMDLINE is not set
-# CONFIG_GOOGLE_FIRMWARE is not set
+CONFIG_GOOGLE_FIRMWARE=y
+# CONFIG_GOOGLE_SMI is not set
+CONFIG_GOOGLE_COREBOOT_TABLE=y
+# CONFIG_GOOGLE_MEMCONSOLE_X86_LEGACY is not set
+CONFIG_GOOGLE_FRAMEBUFFER_COREBOOT=y
+# CONFIG_GOOGLE_MEMCONSOLE_COREBOOT is not set
+# CONFIG_GOOGLE_VPD is not set
 
 #
 # EFI (Extensible Firmware Interface) Support
@@ -6511,7 +6517,7 @@ CONFIG_DRM_ANALOGIX_DP=m
 # CONFIG_DRM_ETNAVIV is not set
 CONFIG_DRM_CIRRUS_QEMU=m
 CONFIG_DRM_GM12U320=m
-CONFIG_DRM_SIMPLEDRM=m
+# CONFIG_DRM_SIMPLEDRM is not set
 CONFIG_TINYDRM_HX8357D=m
 CONFIG_TINYDRM_ILI9225=m
 CONFIG_TINYDRM_ILI9341=m
-- 
2.33.1






reply via email to

[Prev in Thread] Current Thread [Next in Thread]