emulator: QEMU type: libretro source: "https://github.com/io12/qemu-libretro" profiled_date: "2026-03-18" core_version: "0.1.0" display_name: "QEMU" systems: [ibm-pc, x86, x86-64, ppc, sparc, sparc64, arm, aarch64, mips, riscv, s390x, m68k, alpha, hppa] # QEMU (Quick Emulator) libretro core, based on QEMU 9.0.50. # Supports x86_64, i386, PPC, Sparc, ARM, AArch64, MIPS, RISC-V, S390x, M68K, Alpha, HPPA. # Opens .iso, .img, .qcow, .qcow2 files or custom .qemu_cmd_line for any architecture. # Default architecture is x86_64 when loading .iso/.img/.qcow directly. # # All BIOS/firmware files are loaded from {retroarch_system_dir}/qemu/ # via qemu_add_data_dir(system_dir + "/qemu") in ui/libretro.c:659-660. # QEMU resolves firmware by name through its data directory search path. files: # ======================================================== # x86 SYSTEM BIOS (SeaBIOS) # ======================================================== - name: "SeaBIOS (128 KB)" path: "qemu/bios.bin" sha1: "f402170ee4f374c304a7ce0b139d6cecb1732aff" md5: "e9ca30100c47a26b66488444c5b0bd15" size: 131072 required: true note: > SeaBIOS legacy BIOS for x86/x86_64 PC emulation. Default firmware loaded by pc_sysfw.c for standard PC machine types. source_ref: "hw/i386/pc_sysfw.c:222,243" - name: "SeaBIOS (256 KB)" path: "qemu/bios-256k.bin" sha1: "5fe6078506094333106e6b3f33c7185dea7f0268" md5: "d3dab3095c73cad67afd3cc16a88479c" size: 262144 required: false note: > SeaBIOS 256 KB variant. Some machine types or configurations may prefer this larger image. source_ref: "pc-bios/meson.build:30" - name: "SeaBIOS microvm" path: "qemu/bios-microvm.bin" sha1: "56f33ced7ea0f7581d776396a0ac6cfe2c7c9257" md5: "9f0ddaf6f3b213798bd414273505f2ff" size: 131072 required: false note: > Minimal SeaBIOS for the microvm machine type, a stripped-down x86 virtual machine with reduced device set. source_ref: "hw/i386/microvm.c:58" - name: "qboot ROM" path: "qemu/qboot.rom" sha1: "339d3a93c967491c9f1fffe963484386f48bd22c" md5: "387c48aef9497c6c2b914b1e6b9bc7aa" size: 16384 required: false note: > Minimal x86 firmware for fast Linux kernel booting. Alternative to SeaBIOS for Linux-only workloads. source_ref: "pc-bios/meson.build:32" # ======================================================== # x86 VGA BIOS (SeaVGABIOS / LGPL VGA BIOS) # ======================================================== - name: "VGA BIOS (ISA)" path: "qemu/vgabios.bin" sha1: "63d87e2a6618c3a9b2aabecf03ac2456e5e63410" md5: "ecef0b49f8f4e61874f012eb12ba0e36" size: 38912 required: true note: > Standard VGA BIOS from LGPL VGA BIOS project. Loaded by ISA VGA device (vga-isa). Default VGA for older machine types. source_ref: "hw/display/vga-isa.c:88, hw/display/vga_int.h:191" - name: "VGA BIOS Cirrus" path: "qemu/vgabios-cirrus.bin" sha1: "883eb2657ce29661a0466b6b41ce75411f37aad9" md5: "fcd3d3c0b07a9096693d69425cd940f6" size: 38912 required: false note: > Cirrus Logic GD5446 VGA BIOS. Used by the cirrus-vga PCI device and cirrus-vga-isa ISA device. source_ref: "hw/display/cirrus_vga.c:3001, hw/display/cirrus_vga_isa.c:67" - name: "VGA BIOS stdvga" path: "qemu/vgabios-stdvga.bin" sha1: "87fbc0ecb1ee7d4d8c8c88c7d8a2fb3ec8f99ea5" md5: "8117c3fd986fbbe327badfe38e77db1d" size: 39424 required: false note: > Standard VGA PCI BIOS (Bochs VBE extensions). Used by the VGA PCI device, the most common display adapter for x86. source_ref: "hw/display/vga-pci.c:387" - name: "VGA BIOS bochs-display" path: "qemu/vgabios-bochs-display.bin" sha1: "9e2edd3d835219cde63a20e2cd58107d7e96ef5b" md5: "83e39bd3e056291ee50d2b5d937bab3e" size: 28672 required: false note: "Bochs display device VGA BIOS. Simpler non-VGA display adapter." source_ref: "hw/display/bochs-display.c:365" - name: "VGA BIOS ramfb" path: "qemu/vgabios-ramfb.bin" sha1: "49df9be557f0f0277c8fedb889257e279586d536" md5: "c55512e313c4cb08ec5a36198fdfef33" size: 28672 required: false note: "RAM framebuffer VGA BIOS for simple display output." source_ref: "hw/display/ramfb.c:150" - name: "VGA BIOS ATI" path: "qemu/vgabios-ati.bin" sha1: "ded141cacdebf557ec552597cbf57cd989cec3e2" md5: "013cb287a295dc6c039921c6883a767e" size: 39424 required: false note: "ATI VGA BIOS for emulated ATI display adapter." source_ref: "hw/display/ati.c:1066" - name: "VGA BIOS QXL" path: "qemu/vgabios-qxl.bin" sha1: "527227abd5f3348c382d4b02703389fbeb83b067" md5: "558420a5ad839b10906d5d73e92a4160" size: 39424 required: false note: "QXL paravirtual display VGA BIOS." source_ref: "hw/display/qxl.c:2512" - name: "VGA BIOS VirtIO" path: "qemu/vgabios-virtio.bin" sha1: "cddc53b94793609d1e837d78cd5468fcc1ed9164" md5: "8f1e5e497342c503f62a50912f0447e0" size: 39424 required: false note: "VirtIO GPU VGA BIOS." source_ref: "hw/display/virtio-vga.c:233" - name: "VGA BIOS VMware" path: "qemu/vgabios-vmware.bin" sha1: "c54901ab8f526ab201ebf1b3ecdf711e38e6c259" md5: "6635fe944eab228ae01c814107674199" size: 39424 required: false note: "VMware SVGA II display VGA BIOS." source_ref: "hw/display/vmware_vga.c:1349" # ======================================================== # x86 OPTION ROMs (loaded on demand) # ======================================================== - name: "KVM VAPIC" path: "qemu/kvmvapic.bin" sha1: "670c9cc79b4859944705eece710dc332188b79b4" md5: "b8cec9572e408a3259914f9aba8664cb" size: 9216 required: false note: > KVM virtual APIC option ROM. Loaded as option ROM for APIC acceleration on x86. source_ref: "hw/i386/vapic.c:733" - name: "Linux boot ROM" path: "qemu/linuxboot.bin" sha1: "fd19bef7f5647960952520389f448364762ed948" md5: "ab40dea9ff35ec29b506fdae5bf11463" size: 1024 required: false note: "Option ROM for direct Linux kernel booting via -kernel." source_ref: "hw/i386/x86-common.c:964" - name: "Linux boot DMA ROM" path: "qemu/linuxboot_dma.bin" sha1: "0bff50c10727bd9c85c831ea92b7a52699959992" md5: "8cb622dc1c9290a019a801e972c9e4f9" size: 1536 required: false note: "DMA-capable option ROM for direct Linux kernel booting." source_ref: "hw/i386/x86-common.c:966" - name: "Multiboot ROM" path: "qemu/multiboot.bin" sha1: "a8b58ae464fc6fb26799432ae867bf57c546ff80" md5: "552a0c03c40bb3ec292f5349ea29cf86" size: 1024 required: false note: "Option ROM for Multiboot kernel loading." source_ref: "hw/i386/multiboot.c:408" - name: "Multiboot DMA ROM" path: "qemu/multiboot_dma.bin" sha1: "32ab1cf336b674bfb154eb7a939a3e3275a92647" md5: "e942cc4f612050c7331d33a34b0d5192" size: 1024 required: false note: "DMA-capable option ROM for Multiboot kernel loading." source_ref: "hw/i386/multiboot.c:406" - name: "PVH boot ROM" path: "qemu/pvh.bin" sha1: "c2191e6495103c1f43e9b6ca8930e44c2245e476" md5: "bb045d6f0380ad2af3531edeff92a117" size: 2048 required: false note: "Option ROM for PVH (paravirtualized hardware) ELF booting." source_ref: "hw/i386/x86-common.c:735" # ======================================================== # PXE NETWORK BOOT ROMs (iPXE) # ======================================================== - name: "PXE e1000" path: "qemu/pxe-e1000.rom" sha1: "368e8e9827ae8757a7449319831078b6d5efb83f" md5: "898d7d0b3ed4a030c877b9185b4ef6be" size: 67072 required: false note: "iPXE PXE boot ROM for Intel e1000 NIC (8086:100e)." source_ref: "pc-bios/README" - name: "PXE eepro100" path: "qemu/pxe-eepro100.rom" sha1: "b19572c9c2a11f03282df81c0397aceed409a86c" md5: "2f8279177fdc2ce5abc47d9f1e303db1" size: 61440 required: false note: "iPXE PXE boot ROM for Intel eepro100 NIC (8086:1209)." source_ref: "pc-bios/README" - name: "PXE ne2k_pci" path: "qemu/pxe-ne2k_pci.rom" sha1: "f37f43f89dc99afe0442ee0b7a431ee790ad6bf6" md5: "095cdf2b26084ce22adb883e9c43fc5a" size: 61440 required: false note: "iPXE PXE boot ROM for NE2000 PCI NIC (1050:0940)." source_ref: "pc-bios/README" - name: "PXE pcnet" path: "qemu/pxe-pcnet.rom" sha1: "13a039bf9916f1db42d3a019591d372b4cf4aee9" md5: "15e38b82922a058c6df6eaffbad1b916" size: 61440 required: false note: "iPXE PXE boot ROM for AMD PCnet NIC (1022:2000)." source_ref: "pc-bios/README" - name: "PXE rtl8139" path: "qemu/pxe-rtl8139.rom" sha1: "7b512c0a7a13bc3c254a25237e4d4612170f4391" md5: "22f4b6ae5650988f999ee651a3734462" size: 61440 required: false note: "iPXE PXE boot ROM for Realtek RTL8139 NIC (10ec:8139)." source_ref: "pc-bios/README" - name: "PXE virtio" path: "qemu/pxe-virtio.rom" sha1: "3e3f77cfe70af904133db94f27ec24e3c9c43648" md5: "91ad9770f5717a89d518534f45f1332d" size: 60416 required: false note: "iPXE PXE boot ROM for VirtIO NIC (1af4:1000)." source_ref: "pc-bios/README" # ======================================================== # EFI NETWORK BOOT ROMs (iPXE UEFI) # ======================================================== - name: "EFI e1000" path: "qemu/efi-e1000.rom" sha1: "a3df5fc33ab0190f470b34104ff3c0679cecbab6" md5: "d8330b99643e31b51e7710fa26c7e859" size: 159232 required: false note: "iPXE EFI boot ROM for Intel e1000 NIC." source_ref: "hw/net/e1000.c:1708" - name: "EFI e1000e" path: "qemu/efi-e1000e.rom" sha1: "1d37f3ae6748d4deefe9fd5188a2f557bf265d61" md5: "a55bf3f4988d4a736c71a1300636cd69" size: 159232 required: false note: "iPXE EFI boot ROM for Intel e1000e NIC." source_ref: "hw/net/e1000e.c:689" - name: "EFI eepro100" path: "qemu/efi-eepro100.rom" sha1: "956d9592fea33374ef0f1900a185b6e1109ea765" md5: "d2a2f92710f5a9f77281e9492a249afb" size: 159232 required: false note: "iPXE EFI boot ROM for Intel eepro100 NIC." source_ref: "hw/net/eepro100.c:2077" - name: "EFI ne2k_pci" path: "qemu/efi-ne2k_pci.rom" sha1: "adb7199f545fdb66c325b142c8dbc4cddb99a20d" md5: "10b66275b3644af301c64a3c545c3daf" size: 157696 required: false note: "iPXE EFI boot ROM for NE2000 PCI NIC." source_ref: "hw/net/ne2000-pci.c:111" - name: "EFI pcnet" path: "qemu/efi-pcnet.rom" sha1: "9e5a4bb247c6a1777c89117ca091f94342b9046d" md5: "374696f4fffa83c9cf18272212c21d83" size: 157696 required: false note: "iPXE EFI boot ROM for AMD PCnet NIC." source_ref: "hw/net/pcnet-pci.c:267" - name: "EFI rtl8139" path: "qemu/efi-rtl8139.rom" sha1: "99a1e431cc0cb0a78d5803875dfa687e12a947f4" md5: "f81dbbd7001a8db631f2a548b7d08c4e" size: 160768 required: false note: "iPXE EFI boot ROM for Realtek RTL8139 NIC." source_ref: "hw/net/rtl8139.c:3423" - name: "EFI virtio" path: "qemu/efi-virtio.rom" sha1: "1596e9b97f0bc8b5ff3e444235690a549ee982c6" md5: "d3887f04c23035cae3f0e1075deea459" size: 160768 required: false note: "iPXE EFI boot ROM for VirtIO NIC." source_ref: "pc-bios/meson.build:58" - name: "EFI vmxnet3" path: "qemu/efi-vmxnet3.rom" sha1: "6557242402387a6319a0db6abb916ada48e1391c" md5: "ea1ba222dbd5aa356ea1f29393ae55e1" size: 156672 required: false note: "iPXE EFI boot ROM for VMware vmxnet3 NIC." source_ref: "hw/net/vmxnet3.c:2508" # ======================================================== # POWERPC FIRMWARE # ======================================================== - name: "OpenBIOS PowerPC" path: "qemu/openbios-ppc" sha1: "0ef5051dcb318c0bc45d1908f8318d6eece8686a" md5: "" size: 677196 required: false note: > OpenBIOS (IEEE 1275 Open Firmware) for PowerPC emulation. Required for -M mac99, -M g3beige and other PPC machines. source_ref: "pc-bios/README" - name: "SLOF (Slimline Open Firmware)" path: "qemu/slof.bin" sha1: "a03a94acfe555804d66cc6c74760ae1375a71a64" md5: "" size: 995000 required: false note: > IBM SLOF firmware for pSeries (POWER) machine type. Built from qemu-slof-20230918 tag. source_ref: "pc-bios/README" - name: "skiboot" path: "qemu/skiboot.lid" sha1: "8052069aa9714c23be05b4e62fb245a3d572cb0f" md5: "" size: 2527328 required: false note: > OPAL firmware for OpenPOWER PowerNV (non-virtualized) machine type. source_ref: "pc-bios/README" - name: "VOF (Virtual Open Firmware)" path: "qemu/vof.bin" sha1: "fc737b34a390f5752cb7e35b33d71f4f438ab607" md5: "" size: 3456 required: false note: "Minimal Open Firmware shim for -machine pseries,x-vof=on." source_ref: "pc-bios/README" - name: "VOF NVRAM" path: "qemu/vof-nvram.bin" sha1: "5d1184609b87f78635f0575467a1c3f440900ff0" md5: "" size: 16384 required: false note: "NVRAM template for VOF (Virtual Open Firmware)." source_ref: "pc-bios/meson.build:83" - name: "U-Boot e500" path: "qemu/u-boot.e500" sha1: "9ea03f249f856cdcb4399cc1f5a5031729379911" md5: "" size: 421720 required: false note: > U-Boot for PowerPC e500 (qemu-ppce500 target). Built from upstream denx u-boot, commit 2072e72. source_ref: "pc-bios/README" - name: "U-Boot SAM460" path: "qemu/u-boot-sam460-20100605.bin" sha1: "0399a79ac0cf77f0da70af9baec7548a3b368f0a" md5: "" size: 524288 required: false note: "U-Boot for Sam460ex (AmigaOne) PowerPC board." source_ref: "pc-bios/meson.build:74" - name: "QEMU VGA Mac driver" path: "qemu/qemu_vga.ndrv" sha1: "638c6262a6eb579ec3d1c9292566ac94c942dc15" md5: "" size: 18752 required: false note: "QemuMacDrivers VGA driver for PPC MacOS guests." source_ref: "pc-bios/README" # ======================================================== # SPARC FIRMWARE # ======================================================== - name: "OpenBIOS Sparc32" path: "qemu/openbios-sparc32" sha1: "5a4f2124c8f093f8aee99fbcebcf5d17d789ff26" md5: "" size: 382080 required: false note: > OpenBIOS for Sparc32 emulation. Includes QEMU,tcx.bin and QEMU,cgthree.bin display drivers. source_ref: "pc-bios/README" - name: "OpenBIOS Sparc64" path: "qemu/openbios-sparc64" sha1: "c6e215fe460629d35688ab8e51faf6f765827cd6" md5: "" size: 1593408 required: false note: "OpenBIOS for Sparc64 (UltraSPARC) emulation." source_ref: "pc-bios/README" - name: "QEMU TCX display" path: "qemu/QEMU,tcx.bin" sha1: "" md5: "" required: false note: "TCX framebuffer FCode driver for Sparc32 OpenBIOS." source_ref: "pc-bios/meson.build:45" - name: "QEMU cgthree display" path: "qemu/QEMU,cgthree.bin" sha1: "" md5: "" required: false note: "CG3 framebuffer FCode driver for Sparc32 OpenBIOS." source_ref: "pc-bios/meson.build:46" # ======================================================== # ALPHA FIRMWARE # ======================================================== - name: "Alpha PALcode" path: "qemu/palcode-clipper" sha1: "47b0870aaa45a7aa0d48847fd905908fb06f3e9f" md5: "" size: 153728 required: false note: "PALcode firmware for Alpha (Clipper/DP264) machine emulation." source_ref: "pc-bios/README" # ======================================================== # RISC-V FIRMWARE # ======================================================== - name: "OpenSBI RISC-V 32" path: "qemu/opensbi-riscv32-generic-fw_dynamic.bin" sha1: "7a23dfdeef3d78ffc89d86e89fc06a36f1e4386f" md5: "" size: 268312 required: false note: > OpenSBI (Supervisor Binary Interface) firmware for RISC-V 32-bit. Required for riscv32-softmmu machine types. source_ref: "pc-bios/README" - name: "OpenSBI RISC-V 64" path: "qemu/opensbi-riscv64-generic-fw_dynamic.bin" sha1: "6883bfd1991c0ef0d67b0967e7dcbd60420dd480" md5: "" size: 272504 required: false note: > OpenSBI firmware for RISC-V 64-bit. Required for riscv64-softmmu machine types. source_ref: "pc-bios/README" # ======================================================== # S390X FIRMWARE # ======================================================== - name: "S390 CCW firmware" path: "qemu/s390-ccw.img" sha1: "7b4fa888d32ca8ddbc752f7442e4d055cee1871a" md5: "" size: 42608 required: false note: "Channel Command Word boot firmware for s390x emulation." source_ref: "pc-bios/meson.build:68" - name: "S390 network boot" path: "qemu/s390-netboot.img" sha1: "f6cec671408117bd9a31e982682662f27ef4fb2c" md5: "" size: 67232 required: false note: "Network boot firmware for s390x emulation." source_ref: "pc-bios/meson.build:69" # ======================================================== # HP-PA FIRMWARE # ======================================================== - name: "HP-PA firmware (32-bit)" path: "qemu/hppa-firmware.img" sha1: "605c36ede6c120c6cc7efe147a75a3dc4b7e4fb0" md5: "" size: 167820 required: false note: "SeaBIOS-hppa firmware for 32-bit HP-PARISC emulation." source_ref: "pc-bios/README" - name: "HP-PA firmware (64-bit)" path: "qemu/hppa-firmware64.img" sha1: "b42f6d4ca74073de6c038579b4a9323ad0a6b398" md5: "" size: 206024 required: false note: "SeaBIOS-hppa firmware for 64-bit HP-PARISC emulation." source_ref: "pc-bios/README" # ======================================================== # DEVICE TREE BLOBS # ======================================================== - name: "Bamboo DTB (PPC)" path: "qemu/bamboo.dtb" sha1: "ebdf1745479f4ec88459bbd9ef16ee1114018508" md5: "" size: 3211 required: false note: "Device tree blob for PowerPC Bamboo (440EP) board." source_ref: "pc-bios/meson.build:88" - name: "Canyonlands DTB (PPC)" path: "qemu/canyonlands.dtb" sha1: "8a2fda0b4f23a92eb44776b5d7ffe951987062da" md5: "" size: 9779 required: false note: "Device tree blob for PowerPC Canyonlands (460EX) board." source_ref: "pc-bios/meson.build:89" - name: "Petalogix ML605 DTB (MicroBlaze)" path: "qemu/petalogix-ml605.dtb" sha1: "892d265838866869b8a8ef104252ff5b2fda156f" md5: "" size: 9882 required: false note: "Device tree blob for Xilinx Petalogix ML605 MicroBlaze board." source_ref: "pc-bios/meson.build:91" - name: "Petalogix S3ADSP1800 DTB (MicroBlaze)" path: "qemu/petalogix-s3adsp1800.dtb" sha1: "976600e3f89ecc1f3564b7077f53c58e0b565280" md5: "" size: 8161 required: false note: "Device tree blob for Xilinx Petalogix S3ADSP1800 MicroBlaze board." source_ref: "pc-bios/meson.build:90" # ======================================================== # OTHER # ======================================================== - name: "NPCM7xx boot ROM" path: "qemu/npcm7xx_bootrom.bin" sha1: "22a75d26a0591d2c7763765b6381fa2f73de43e1" md5: "" size: 768 required: false note: "Boot ROM for Nuvoton NPCM7xx BMC (ARM Cortex-A9)." source_ref: "pc-bios/README" notes: bios_directory: > All files go in {retroarch_system_dir}/qemu/. The libretro core adds this path via qemu_add_data_dir() in ui/libretro.c:659-660. default_usage: > For typical x86/x86_64 usage (loading .iso/.img/.qcow files directly), only bios.bin (or bios-256k.bin) and vgabios.bin are strictly needed. Other VGA BIOS variants are loaded depending on the emulated GPU. PXE/EFI ROMs are only needed for network booting. multi_arch: > The libretro build supports 16 target architectures. Non-x86 firmware is only needed when using .qemu_cmd_line files that invoke a different qemu-system-* binary (e.g. qemu-system-ppc for MacOS 9). experimental: > This core is marked is_experimental=true in its .info file. Savestates are not supported. version: "Based on QEMU 9.0.50 (io12/qemu-libretro)"