# Kconfig SeaBIOS VGA BIOS configuration menu "VGA ROM" choice prompt "VGA Hardware Type" default NO_VGABIOS config NO_VGABIOS bool "None" help Do not build a VGA BIOS. config VGA_STANDARD_VGA depends on QEMU bool "QEMU/Bochs Original IBM 256K VGA" select VGA_STDVGA_PORTS help Build basic VGA BIOS support (pre Super-VGA) for use on emulators. config VGA_CIRRUS depends on QEMU bool "QEMU/Bochs Cirrus SVGA" select VGA_STDVGA_PORTS help Build support for Cirrus VGA emulation found on QEMU and Bochs emulators. This is for emulators; it is not intended for use on real Cirrus hardware. config VGA_ATI depends on QEMU bool "QEMU ATI SVGA" select VGA_STDVGA_PORTS help Build support for ATI VGA emulation found on QEMU and emulators. This is for emulators; it is not intended for use on real ATI hardware. config VGA_BOCHS depends on QEMU bool "QEMU/Bochs VBE SVGA" select VGA_STDVGA_PORTS help Build support for Bochs DISPI interface (a custom VBE protocol) found on QEMU and Bochs emulators. config VGA_GEODEGX2 bool "GeodeGX2" select VGA_STDVGA_PORTS help Build support for Geode GX2 vga. config VGA_GEODELX bool "GeodeLX" select VGA_STDVGA_PORTS help Build support for Geode LX vga. config VGA_COREBOOT depends on COREBOOT bool "coreboot linear framebuffer" select VGA_EMULATE_TEXT help Build support for a vgabios wrapper around video devices initialized using coreboot native vga init. config DISPLAY_BOCHS depends on QEMU bool "qemu bochs-display support" select VGA_EMULATE_TEXT help Build support for the qemu bochs-display device, which is basically qemu stdvga without the legacy vga emulation, supporting only 16+32 bpp VESA video modes in a linear framebuffer. So this uses cbvga text mode emulation. The bochs-display device is available in qemu v3.0+. The vgabios works with the qemu stdvga too (use "qemu -device VGA,romfile=/path/to/vgabios.bin")". config VGA_RAMFB depends on QEMU bool "qemu ramfb" select VGA_EMULATE_TEXT help qemu ram framebuffer support (-device ramfb). endchoice choice depends on VGA_BOCHS prompt "bochs vga variant" default VGA_BOCHS_STDVGA config VGA_BOCHS_STDVGA bool "qemu stdvga / bochs svga" config VGA_BOCHS_VMWARE bool "qemu vmware svga" config VGA_BOCHS_QXL bool "qemu qxl vga" config VGA_BOCHS_VIRTIO bool "qemu virtio vga" endchoice choice depends on VGA_GEODEGX2 || VGA_GEODELX prompt "Output Mode" default VGA_OUTPUT_CRT config VGA_OUTPUT_CRT bool "CRT" help Use CRT for output. config VGA_OUTPUT_PANEL bool "Flat Panel" help Use flat panel for output. config VGA_OUTPUT_CRT_PANEL bool "CRT and Flat Panel" help Use CRT and flat panel for output. endchoice config BUILD_VGABIOS bool default !NO_VGABIOS config VGA_STDVGA_PORTS bool config VGA_EMULATE_TEXT bool help Support emulating text mode features when only a framebuffer is available. config VGA_FIXUP_ASM depends on BUILD_VGABIOS bool "Fixup assembler to work with broken emulators" default y help This option will cause the build to attempt to avoid certain x86 machine instructions that are known to confuse some emulators. In particular, it works around deficiencies in the Windows vgabios emulator and the x86emu vgabios emulator (frequently used in Xorg). config VGA_ALLOCATE_EXTRA_STACK depends on BUILD_VGABIOS bool "Allocate an internal stack for 16bit interrupt entry point" default y help Attempt to allocate (via BIOS PMM call) an internal stack for the legacy 16bit 0x10 interrupt entry point. This reduces the amount of space on the caller's stack that SeaVGABIOS uses. config VGA_EXTRA_STACK_SIZE int default 512 config VGA_VBE depends on BUILD_VGABIOS bool "Video BIOS Extensions (VBE)" default y help Support VBE. config VGA_PCI depends on BUILD_VGABIOS && !VGA_COREBOOT bool "PCI ROM Headers" default y help Build PCI ROM headers so the vga rom can be extracted from a PCI device. config OVERRIDE_PCI_ID depends on VGA_PCI bool "Override PCI Vendor and Device IDs" help Specify specific values for the PCI Vendor and Device IDs. config VGA_VID depends on VGA_PCI hex prompt "PCI Vendor ID" if OVERRIDE_PCI_ID default 0x1013 if VGA_CIRRUS default 0x1002 if VGA_ATI default 0x1234 if VGA_BOCHS_STDVGA default 0x15ad if VGA_BOCHS_VMWARE default 0x1b36 if VGA_BOCHS_QXL default 0x1af4 if VGA_BOCHS_VIRTIO default 0x100b if VGA_GEODEGX2 default 0x1022 if VGA_GEODELX default 0x1234 if DISPLAY_BOCHS default 0x0000 help Vendor ID for the PCI ROM config VGA_DID depends on VGA_PCI hex prompt "PCI Vendor ID" if OVERRIDE_PCI_ID default 0x00b8 if VGA_CIRRUS default 0x5159 if VGA_ATI default 0x1111 if VGA_BOCHS_STDVGA default 0x0405 if VGA_BOCHS_VMWARE default 0x0100 if VGA_BOCHS_QXL default 0x1050 if VGA_BOCHS_VIRTIO default 0x0030 if VGA_GEODEGX2 default 0x2081 if VGA_GEODELX default 0x1111 if DISPLAY_BOCHS default 0x0000 help Device ID for the PCI ROM endmenu