Skip to content

Conversation

@ziyao233
Copy link
Member

This reverts commit 16ebb31.

Simpledrm could only function with a simplefb, which conflicts with traditional framebuffer support (exported as /dev/fbX). However, the commit turns SIMPLEDRM to m, which means a system without a dedicated DRM device won't show anything on the display even if a firmware- initialized framebuffer is available until simpledrm is loaded.

Unluckily, simpledrm carries no MODULE_DEVICE_TABLE for simplefb, which acts as a platform device. This makes systems without a dedicated DRM device impossible to react when booting eweOS. It's known that simpledrm sometimes causes strange performance degradation when used together with a dedicated DRM device, so building it into the kernel isn't an option, either.

Let's revert the change until coming up with a better solution to have KMS available on framebuffer-only systems.

@eweos-helper
Copy link

eweos-helper bot commented Oct 13, 2025

Config Compare

x86_64

diff for x86_64
--- config-old
+++ config-new
@@ -1784,7 +1784,7 @@
 # CONFIG_ISCSI_IBFT is not set
 # CONFIG_FW_CFG_SYSFS is not set
 CONFIG_SYSFB=y
-CONFIG_SYSFB_SIMPLEFB=y
+# CONFIG_SYSFB_SIMPLEFB is not set
 CONFIG_FW_CS_DSP=m
 # CONFIG_GOOGLE_FIRMWARE is not set
 
@@ -4188,8 +4188,9 @@
 #
 # Drivers for system framebuffers
 #
-CONFIG_DRM_SYSFB_HELPER=m
-CONFIG_DRM_SIMPLEDRM=m
+# CONFIG_DRM_EFIDRM is not set
+# CONFIG_DRM_SIMPLEDRM is not set
+# CONFIG_DRM_VESADRM is not set
 # end of Drivers for system framebuffers
 
 #
@@ -4330,7 +4331,7 @@
 # CONFIG_FB_VIRTUAL is not set
 # CONFIG_FB_METRONOME is not set
 # CONFIG_FB_MB862XX is not set
-CONFIG_FB_SIMPLE=m
+CONFIG_FB_SIMPLE=y
 # CONFIG_FB_SSD1307 is not set
 # CONFIG_FB_SM712 is not set
 CONFIG_FB_CORE=y

aarch64

diff for aarch64
--- config-old
+++ config-new
@@ -2074,7 +2074,7 @@
 CONFIG_INTEL_STRATIX10_RSU=m
 CONFIG_MTK_ADSP_IPC=m
 CONFIG_SYSFB=y
-CONFIG_SYSFB_SIMPLEFB=y
+# CONFIG_SYSFB_SIMPLEFB is not set
 CONFIG_TI_SCI_PROTOCOL=y
 # CONFIG_TURRIS_MOX_RWTM is not set
 # CONFIG_ARM_FFA_TRANSPORT is not set
@@ -6223,8 +6223,8 @@
 #
 # Drivers for system framebuffers
 #
-CONFIG_DRM_SYSFB_HELPER=m
-CONFIG_DRM_SIMPLEDRM=m
+# CONFIG_DRM_EFIDRM is not set
+# CONFIG_DRM_SIMPLEDRM is not set
 # end of Drivers for system framebuffers
 
 #
@@ -6635,7 +6635,7 @@
 CONFIG_XEN_FBDEV_FRONTEND=y
 # CONFIG_FB_METRONOME is not set
 # CONFIG_FB_MB862XX is not set
-CONFIG_FB_SIMPLE=m
+CONFIG_FB_SIMPLE=y
 # CONFIG_FB_SSD1307 is not set
 # CONFIG_FB_SM712 is not set
 CONFIG_FB_CORE=y

riscv64

diff for riscv64
--- config-old
+++ config-new
@@ -1652,7 +1652,7 @@
 # CONFIG_ISCSI_IBFT is not set
 # CONFIG_FW_CFG_SYSFS is not set
 CONFIG_SYSFB=y
-CONFIG_SYSFB_SIMPLEFB=y
+# CONFIG_SYSFB_SIMPLEFB is not set
 # CONFIG_TH1520_AON_PROTOCOL is not set
 CONFIG_FW_CS_DSP=m
 # CONFIG_GOOGLE_FIRMWARE is not set
@@ -4175,8 +4175,8 @@
 #
 # Drivers for system framebuffers
 #
-CONFIG_DRM_SYSFB_HELPER=m
-CONFIG_DRM_SIMPLEDRM=m
+# CONFIG_DRM_EFIDRM is not set
+# CONFIG_DRM_SIMPLEDRM is not set
 # end of Drivers for system framebuffers
 
 #
@@ -4462,7 +4462,7 @@
 # CONFIG_FB_VIRTUAL is not set
 # CONFIG_FB_METRONOME is not set
 # CONFIG_FB_MB862XX is not set
-CONFIG_FB_SIMPLE=m
+CONFIG_FB_SIMPLE=y
 # CONFIG_FB_SSD1307 is not set
 # CONFIG_FB_SM712 is not set
 CONFIG_FB_CORE=y

loongarch64

diff for loongarch64
--- config-old
+++ config-new
@@ -1784,7 +1784,7 @@
 CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y
 # CONFIG_ISCSI_IBFT is not set
 CONFIG_SYSFB=y
-CONFIG_SYSFB_SIMPLEFB=y
+# CONFIG_SYSFB_SIMPLEFB is not set
 CONFIG_FW_CS_DSP=m
 # CONFIG_GOOGLE_FIRMWARE is not set
 
@@ -4830,8 +4830,8 @@
 #
 # Drivers for system framebuffers
 #
-CONFIG_DRM_SYSFB_HELPER=m
-CONFIG_DRM_SIMPLEDRM=m
+# CONFIG_DRM_EFIDRM is not set
+# CONFIG_DRM_SIMPLEDRM is not set
 # end of Drivers for system framebuffers
 
 #
@@ -5030,7 +5030,7 @@
 # CONFIG_FB_VIRTUAL is not set
 # CONFIG_FB_METRONOME is not set
 # CONFIG_FB_MB862XX is not set
-CONFIG_FB_SIMPLE=m
+CONFIG_FB_SIMPLE=y
 # CONFIG_FB_SSD1307 is not set
 # CONFIG_FB_SM712 is not set
 CONFIG_FB_CORE=y

This reverts commit 16ebb31.

Simpledrm could only function with a simplefb, which conflicts with
traditional framebuffer support (exported as /dev/fbX). However, the
commit turns SIMPLEDRM to m, which means a system without a dedicated
DRM device won't show anything on the display even if a firmware-
initialized framebuffer is available until simpledrm is loaded.

Unluckily, simpledrm carries no MODULE_DEVICE_TABLE for simplefb, which
acts as a platform device. This makes systems without a dedicated
DRM device impossible to react when booting eweOS. It's known that
simpledrm sometimes causes strange performance degradation when used
together with a dedicated DRM device, so building it into the kernel
isn't an option, either.

Let's revert the change until coming up with a better solution to have
KMS available on framebuffer-only systems.

Signed-off-by: Yao Zi <ziyao@disroot.org>
@ziyao233 ziyao233 force-pushed the gpu/revert-simpledrm-support branch from 5e51d94 to 011b686 Compare October 13, 2025 12:32
@eweos-helper
Copy link

eweos-helper bot commented Oct 13, 2025

Config Compare

x86_64

diff for x86_64
--- config-old
+++ config-new
@@ -1784,7 +1784,7 @@
 # CONFIG_ISCSI_IBFT is not set
 # CONFIG_FW_CFG_SYSFS is not set
 CONFIG_SYSFB=y
-CONFIG_SYSFB_SIMPLEFB=y
+# CONFIG_SYSFB_SIMPLEFB is not set
 CONFIG_FW_CS_DSP=m
 # CONFIG_GOOGLE_FIRMWARE is not set
 
@@ -4188,8 +4188,9 @@
 #
 # Drivers for system framebuffers
 #
-CONFIG_DRM_SYSFB_HELPER=m
-CONFIG_DRM_SIMPLEDRM=m
+# CONFIG_DRM_EFIDRM is not set
+# CONFIG_DRM_SIMPLEDRM is not set
+# CONFIG_DRM_VESADRM is not set
 # end of Drivers for system framebuffers
 
 #
@@ -4330,7 +4331,7 @@
 # CONFIG_FB_VIRTUAL is not set
 # CONFIG_FB_METRONOME is not set
 # CONFIG_FB_MB862XX is not set
-CONFIG_FB_SIMPLE=m
+CONFIG_FB_SIMPLE=y
 # CONFIG_FB_SSD1307 is not set
 # CONFIG_FB_SM712 is not set
 CONFIG_FB_CORE=y

aarch64

diff for aarch64
--- config-old
+++ config-new
@@ -2074,7 +2074,7 @@
 CONFIG_INTEL_STRATIX10_RSU=m
 CONFIG_MTK_ADSP_IPC=m
 CONFIG_SYSFB=y
-CONFIG_SYSFB_SIMPLEFB=y
+# CONFIG_SYSFB_SIMPLEFB is not set
 CONFIG_TI_SCI_PROTOCOL=y
 # CONFIG_TURRIS_MOX_RWTM is not set
 # CONFIG_ARM_FFA_TRANSPORT is not set
@@ -6223,8 +6223,8 @@
 #
 # Drivers for system framebuffers
 #
-CONFIG_DRM_SYSFB_HELPER=m
-CONFIG_DRM_SIMPLEDRM=m
+# CONFIG_DRM_EFIDRM is not set
+# CONFIG_DRM_SIMPLEDRM is not set
 # end of Drivers for system framebuffers
 
 #
@@ -6635,7 +6635,7 @@
 CONFIG_XEN_FBDEV_FRONTEND=y
 # CONFIG_FB_METRONOME is not set
 # CONFIG_FB_MB862XX is not set
-CONFIG_FB_SIMPLE=m
+CONFIG_FB_SIMPLE=y
 # CONFIG_FB_SSD1307 is not set
 # CONFIG_FB_SM712 is not set
 CONFIG_FB_CORE=y

riscv64

diff for riscv64
--- config-old
+++ config-new
@@ -1652,7 +1652,7 @@
 # CONFIG_ISCSI_IBFT is not set
 # CONFIG_FW_CFG_SYSFS is not set
 CONFIG_SYSFB=y
-CONFIG_SYSFB_SIMPLEFB=y
+# CONFIG_SYSFB_SIMPLEFB is not set
 # CONFIG_TH1520_AON_PROTOCOL is not set
 CONFIG_FW_CS_DSP=m
 # CONFIG_GOOGLE_FIRMWARE is not set
@@ -4175,8 +4175,8 @@
 #
 # Drivers for system framebuffers
 #
-CONFIG_DRM_SYSFB_HELPER=m
-CONFIG_DRM_SIMPLEDRM=m
+# CONFIG_DRM_EFIDRM is not set
+# CONFIG_DRM_SIMPLEDRM is not set
 # end of Drivers for system framebuffers
 
 #
@@ -4462,7 +4462,7 @@
 # CONFIG_FB_VIRTUAL is not set
 # CONFIG_FB_METRONOME is not set
 # CONFIG_FB_MB862XX is not set
-CONFIG_FB_SIMPLE=m
+CONFIG_FB_SIMPLE=y
 # CONFIG_FB_SSD1307 is not set
 # CONFIG_FB_SM712 is not set
 CONFIG_FB_CORE=y

loongarch64

diff for loongarch64
--- config-old
+++ config-new
@@ -1784,7 +1784,7 @@
 CONFIG_DMI_SCAN_MACHINE_NON_EFI_FALLBACK=y
 # CONFIG_ISCSI_IBFT is not set
 CONFIG_SYSFB=y
-CONFIG_SYSFB_SIMPLEFB=y
+# CONFIG_SYSFB_SIMPLEFB is not set
 CONFIG_FW_CS_DSP=m
 # CONFIG_GOOGLE_FIRMWARE is not set
 
@@ -4830,8 +4830,8 @@
 #
 # Drivers for system framebuffers
 #
-CONFIG_DRM_SYSFB_HELPER=m
-CONFIG_DRM_SIMPLEDRM=m
+# CONFIG_DRM_EFIDRM is not set
+# CONFIG_DRM_SIMPLEDRM is not set
 # end of Drivers for system framebuffers
 
 #
@@ -5030,7 +5030,7 @@
 # CONFIG_FB_VIRTUAL is not set
 # CONFIG_FB_METRONOME is not set
 # CONFIG_FB_MB862XX is not set
-CONFIG_FB_SIMPLE=m
+CONFIG_FB_SIMPLE=y
 # CONFIG_FB_SSD1307 is not set
 # CONFIG_FB_SM712 is not set
 CONFIG_FB_CORE=y

@ziyao233 ziyao233 merged commit e57df4d into master Oct 13, 2025
5 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants