[tip: x86/kconfig] x86/kconfig/defconfig: Enable CONFIG_DRM_FBDEV_EMULATION=y

From: tip-bot2 for Ingo Molnar
Date: Sat Jun 14 2025 - 14:12:58 EST


The following commit has been merged into the x86/kconfig branch of tip:

Commit-ID: 860a6f26921a56a469e03a0f74d992ee217192df
Gitweb: https://git.kernel.org/tip/860a6f26921a56a469e03a0f74d992ee217192df
Author: Ingo Molnar <mingo@xxxxxxxxxx>
AuthorDate: Sat, 14 Jun 2025 09:10:55 +02:00
Committer: Ingo Molnar <mingo@xxxxxxxxxx>
CommitterDate: Sat, 14 Jun 2025 09:24:35 +02:00

x86/kconfig/defconfig: Enable CONFIG_DRM_FBDEV_EMULATION=y

Michael Kelley reported that the x86 defconfig *almost* works
well on Hyper-V guests out of box, with the exception of
console support:

> I built and tested a Hyper-V guest with defconfig. The Hyper-V storage
> and keyboard drivers are pulled in automatically. [...]
>
> But the Linux console for each Hyper-V guest is a synthetic graphics
> console, and that didn't work with the DRM_HYPERV driver. Missing
> the console pretty much kills any usefulness. DRM doesn't have
> Linux console support, so it needs CONFIG_DRM_FBDEV_EMULATION
> to be set, and defconfig doesn't have it.

So enable CONFIG_DRM_FBDEV_EMULATION.

Also enable the dependent CONFIG_FRAMEBUFFER_CONSOLE_ROTATION option
(disabled by default), as all major Linux distros have it enabled,
probably as an sysadmin quality-of-life option:

.config.distro.debian.x86_32: CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
.config.distro.fedora.generic: CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
.config.distro.opensuse.default: CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
.config.distro.rhel.generic: CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
.config.distro.ubuntu: CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y

There's no measurable build time impact within ~1% stddev:

# before: 33.759 +- 0.286 seconds time elapsed ( +- 0.85% )
# after: 33.593 +- 0.314 seconds time elapsed ( +- 0.94% )

Suggested-by: Michael Kelley <mhklinux@xxxxxxxxxxx>
Signed-off-by: Ingo Molnar <mingo@xxxxxxxxxx>
Acked-by: Vitaly Kuznetsov <vkuznets@xxxxxxxxxx>
Cc: Peter Zijlstra <peterz@xxxxxxxxxxxxx>
Cc: Ard Biesheuvel <ardb@xxxxxxxxxx>
Cc: Arnd Bergmann <arnd@xxxxxxxx>
Cc: David Woodhouse <dwmw@xxxxxxxxxxxx>
Cc: H. Peter Anvin <hpa@xxxxxxxxx>
Cc: Jürgen Groß <jgross@xxxxxxxx>
Cc: Linus Torvalds <torvalds@xxxxxxxxxxxxxxxxxxxx>
Cc: Masahiro Yamada <yamada.masahiro@xxxxxxxxxxxxx>
Cc: Michal Marek <michal.lkml@xxxxxxxxxxx>
Cc: linux-kernel@xxxxxxxxxxxxxxx
Link: https://lore.kernel.org/r/SN6PR02MB4157B1676A6284ECD21E494FD490A@xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx # Discussion
---
arch/x86/configs/i386_defconfig | 2 ++
arch/x86/configs/x86_64_defconfig | 3 +++
2 files changed, 5 insertions(+)

diff --git a/arch/x86/configs/i386_defconfig b/arch/x86/configs/i386_defconfig
index aeba958..39a660d 100644
--- a/arch/x86/configs/i386_defconfig
+++ b/arch/x86/configs/i386_defconfig
@@ -239,8 +239,10 @@ CONFIG_AGP=y
CONFIG_AGP_AMD64=y
CONFIG_AGP_INTEL=y
CONFIG_DRM=y
+CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_DRM_VIRTIO_GPU=y
CONFIG_DRM_HYPERV=y
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
CONFIG_SOUND=y
CONFIG_SND=y
CONFIG_SND_HRTIMER=y
diff --git a/arch/x86/configs/x86_64_defconfig b/arch/x86/configs/x86_64_defconfig
index c20100d..b5dc26f 100644
--- a/arch/x86/configs/x86_64_defconfig
+++ b/arch/x86/configs/x86_64_defconfig
@@ -116,6 +116,7 @@ CONFIG_ANON_VMA_NAME=y
CONFIG_USERFAULTFD=y
CONFIG_LRU_GEN=y
CONFIG_LRU_GEN_ENABLED=y
+# CONFIG_DAMON is not set
CONFIG_NET=y
CONFIG_PACKET=y
CONFIG_XFRM_USER=y
@@ -248,8 +249,10 @@ CONFIG_AGP=y
CONFIG_AGP_AMD64=y
CONFIG_AGP_INTEL=y
CONFIG_DRM=y
+CONFIG_DRM_FBDEV_EMULATION=y
CONFIG_DRM_VIRTIO_GPU=y
CONFIG_DRM_HYPERV=y
+CONFIG_FRAMEBUFFER_CONSOLE_ROTATION=y
CONFIG_SOUND=y
CONFIG_SND=y
CONFIG_SND_HRTIMER=y