I'm trying to get console output on both the onboard iGPU (Intel i915, HDMI output) and the AST BMC (IPMI remote display) on my headless server setup.
Hardware and OS
- Motherboard: ASUS Pro WS W680-ACE IPMI
- CPU: Intel i9-14900
- OS: Ubuntu 24.04.2 LTS (Pro), kernel
6.8.0-60-generic
, UEFI boot systemd
is in use and default GRUB is installed
BIOS Settings
All relevant GPU-related options are enabled:
Primary Display [CPU Graphics]
iGPU Multi-Monitor [Enabled]
DVMT Pre-Allocated [64M]
RC6 (Render Standby) [Enabled]
When I boot into the BIOS firmware setup, both HDMI and IPMI outputs mirror the BIOS screen correctly, confirming that hardware-level multi-display support is working.
Framebuffer Devices
After booting Linux:
$ ls /dev/fb*
/dev/fb0 /dev/fb1
$ cat /sys/class/graphics/fb*/name
i915drmfb
astdrmfb
So:
/dev/fb0
= Intel iGPU (HDMI)/dev/fb1
= AST BMC (IPMI)
What I’ve Tried
I’ve tried modifying /etc/default/grub
with various combinations of fbcon=map:
and console=ttyX
:
GRUB_CMDLINE_LINUX_DEFAULT="fbcon=map:1,0 console=tty1 console=tty2"
→ Only IPMI (fb1) works, HDMI stays black.GRUB_CMDLINE_LINUX_DEFAULT="fbcon=map:0,1 console=tty1 console=tty2"
→ Only HDMI (fb0) works, IPMI stays black.GRUB_CMDLINE_LINUX_DEFAULT="fbcon=map:both console=tty1 console=tty2"
→ Nothing appears on either display.
(Yes, I realize fbcon=map:1,0
maps tty1 to fb1 and tty2 to fb0 — that behavior is expected.)
I also enabled [email protected]
and confirmed it’s running.
What I Want
- Ideally: Same console output mirrored on both HDMI and IPMI
- Acceptable: Separate virtual terminals (e.g., tty1 on IPMI, tty2 on HDMI)
But so far I can only get one to work at a time, depending on how I order fbcon=map
.
Any suggestions? Is this a limitation in fbcon
, the kernel, or something I can work around with udev, early KMS, or a boot service?