x86: 64, generic: replace fbdev with simpledrm

efifb, the simple-framebuffer fbdev driver, hyperv_fb and xen-fbfront
carry the display on these two subtargets, with fbcon and DRM fbdev
emulation on top. A DRM driver can claim the firmware framebuffer on its
own, so the legacy hardware drivers only add size to every image.

Mark the firmware framebuffer as a generic system framebuffer so sysfb
registers it as simple-framebuffer for simpledrm, and enable hyperv_drm
for Hyper-V guests as its help text asks. DRM fbdev emulation and fbcon
stay, so the boot log and the console prompt still reach the screen; the
emulation serves fbcon, as generic leaves FB_DEVICE off and no /dev/fb
node appears. VGA_CONSOLE and VT stay as well: a BIOS boot through GRUB
pc leaves the machine in VGA text mode, where the firmware offers no
framebuffer for simpledrm to drive, so vgacon is the only console there.
A Xen PV or PVH guest has neither, and keeps its console on hvc0. The
shared x86 config and the legacy and geode subtargets are untouched.

Signed-off-by: Daniel Golle <daniel@makrotopia.org>
This commit is contained in:
Daniel Golle committed 2026-10-06 18:35:40 +01:00
1 parent ce7bee88da
commit b091137d79
2 files changed
+16 -31

No files matched your search

+8 -16
View File
@@ -132,14 +132,20 @@ CONFIG_DRM=y
CONFIG_DRM_ACCEL=y
CONFIG_DRM_BOCHS=y
CONFIG_DRM_BRIDGE=y
CONFIG_DRM_CLIENT=y
CONFIG_DRM_CLIENT_LIB=y
CONFIG_DRM_CLIENT_SELECTION=y
CONFIG_DRM_CLIENT_SETUP=y
CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_DRM_FBDEV_OVERALLOC=100
CONFIG_DRM_GEM_SHMEM_HELPER=y
# CONFIG_DRM_HYPERV is not set
CONFIG_DRM_HYPERV=y
CONFIG_DRM_KMS_HELPER=y
CONFIG_DRM_PANEL=y
CONFIG_DRM_PANEL_BRIDGE=y
CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y
CONFIG_DRM_SIMPLEDRM=y
CONFIG_DRM_SYSFB_HELPER=y
CONFIG_DRM_TTM=y
CONFIG_DRM_TTM_HELPER=y
CONFIG_DRM_VIRTIO_GPU=y
@@ -168,28 +174,14 @@ CONFIG_EFI_RUNTIME_WRAPPERS=y
CONFIG_EFI_STUB=y
# CONFIG_EFI_TEST is not set
CONFIG_FAILOVER=y
CONFIG_FB=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_IMAGEBLIT=y
CONFIG_FB_CORE=y
CONFIG_FB_DEFERRED_IO=y
CONFIG_FB_DEVICE=y
CONFIG_FB_EFI=y
CONFIG_FB_HYPERV=y
CONFIG_FB_IOMEM_FOPS=y
CONFIG_FB_IOMEM_HELPERS=y
CONFIG_FB_IOMEM_HELPERS_DEFERRED=y
CONFIG_FB_MODE_HELPERS=y
CONFIG_FB_SIMPLE=y
CONFIG_FB_SYSMEM_FOPS=y
CONFIG_FB_SYSMEM_HELPERS=y
CONFIG_FB_SYSMEM_HELPERS_DEFERRED=y
CONFIG_FB_SYS_COPYAREA=y
CONFIG_FB_SYS_FILLRECT=y
CONFIG_FB_SYS_IMAGEBLIT=y
CONFIG_FB_TILEBLITTING=y
# CONFIG_FB_VESA is not set
CONFIG_FIRMWARE_TABLE=y
CONFIG_FONT_8x16=y
CONFIG_FONT_8x8=y
@@ -483,6 +475,7 @@ CONFIG_SWIOTLB=y
CONFIG_SWIOTLB_XEN=y
CONFIG_SYNC_FILE=y
CONFIG_SYSFB=y
CONFIG_SYSFB_SIMPLEFB=y
# CONFIG_SYSTEM76_ACPI is not set
CONFIG_SYS_HYPERVISOR=y
# CONFIG_TDX_GUEST_DRIVER is not set
@@ -584,7 +577,6 @@ CONFIG_XEN_DEBUG_FS=y
CONFIG_XEN_DEV_EVTCHN=y
CONFIG_XEN_DOM0=y
CONFIG_XEN_EFI=y
CONFIG_XEN_FBDEV_FRONTEND=y
CONFIG_XEN_GNTDEV=y
CONFIG_XEN_GRANT_DEV_ALLOC=y
CONFIG_XEN_GRANT_DMA_OPS=y
+8 -15
View File
@@ -73,14 +73,20 @@ CONFIG_DMA_SHARED_BUFFER=y
CONFIG_DRM=y
CONFIG_DRM_BOCHS=y
CONFIG_DRM_BRIDGE=y
CONFIG_DRM_CLIENT=y
CONFIG_DRM_CLIENT_LIB=y
CONFIG_DRM_CLIENT_SELECTION=y
CONFIG_DRM_CLIENT_SETUP=y
CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_DRM_FBDEV_OVERALLOC=100
CONFIG_DRM_GEM_SHMEM_HELPER=y
# CONFIG_DRM_HYPERV is not set
CONFIG_DRM_HYPERV=y
CONFIG_DRM_KMS_HELPER=y
CONFIG_DRM_PANEL=y
CONFIG_DRM_PANEL_BRIDGE=y
CONFIG_DRM_PANEL_ORIENTATION_QUIRKS=y
CONFIG_DRM_SIMPLEDRM=y
CONFIG_DRM_SYSFB_HELPER=y
CONFIG_DRM_TTM=y
CONFIG_DRM_TTM_HELPER=y
CONFIG_DRM_VIRTIO_GPU=y
@@ -108,27 +114,14 @@ CONFIG_EFI_STUB=y
# CONFIG_EFI_TEST is not set
# CONFIG_EL3 is not set
CONFIG_FAILOVER=y
CONFIG_FB=y
CONFIG_FB_CFB_COPYAREA=y
CONFIG_FB_CFB_FILLRECT=y
CONFIG_FB_CFB_IMAGEBLIT=y
CONFIG_FB_CORE=y
CONFIG_FB_DEFERRED_IO=y
CONFIG_FB_DEVICE=y
CONFIG_FB_EFI=y
CONFIG_FB_HYPERV=y
# CONFIG_FB_I810 is not set
CONFIG_FB_IOMEM_FOPS=y
CONFIG_FB_IOMEM_HELPERS=y
CONFIG_FB_IOMEM_HELPERS_DEFERRED=y
CONFIG_FB_SIMPLE=y
CONFIG_FB_SYSMEM_FOPS=y
CONFIG_FB_SYSMEM_HELPERS=y
CONFIG_FB_SYSMEM_HELPERS_DEFERRED=y
CONFIG_FB_SYS_COPYAREA=y
CONFIG_FB_SYS_FILLRECT=y
CONFIG_FB_SYS_IMAGEBLIT=y
# CONFIG_FB_VESA is not set
CONFIG_FIRMWARE_TABLE=y
CONFIG_FONT_8x16=y
CONFIG_FONT_8x8=y
@@ -384,6 +377,7 @@ CONFIG_SPLIT_PTE_PTLOCKS=y
CONFIG_SWIOTLB=y
CONFIG_SYNC_FILE=y
CONFIG_SYSFB=y
CONFIG_SYSFB_SIMPLEFB=y
# CONFIG_SYSTEM76_ACPI is not set
CONFIG_SYS_HYPERVISOR=y
CONFIG_TASKSTATS=y
@@ -460,7 +454,6 @@ CONFIG_XEN_BLKDEV_FRONTEND=y
CONFIG_XEN_COMPAT_XENFS=y
CONFIG_XEN_DEBUG_FS=y
CONFIG_XEN_DEV_EVTCHN=y
CONFIG_XEN_FBDEV_FRONTEND=y
CONFIG_XEN_GNTDEV=y
CONFIG_XEN_GRANT_DEV_ALLOC=y
CONFIG_XEN_GRANT_DMA_OPS=y