diff --git a/.gitignore b/.gitignore
index 01844b2..2c795d8 100644
--- a/.gitignore
+++ b/.gitignore
@@ -25,3 +25,4 @@ seabios-0.6.0.tar.gz
 /seabios-1.11.1.tar.gz
 /seabios-1.11.2.tar.gz
 /seabios-1.12.0.tar.gz
+/seabios-1.12.1.tar.xz
diff --git a/config.seabios-128k b/config.seabios-128k
index d8948a4..1c5f888 100644
--- a/config.seabios-128k
+++ b/config.seabios-128k
@@ -1,20 +1,20 @@
-CONFIG_XEN=n
-CONFIG_ESP_SCSI=n
-CONFIG_LSI_SCSI=n
-CONFIG_USB_OHCI=n
-CONFIG_BOOTSPLASH=n
-CONFIG_MEGASAS=n
-CONFIG_PVSCSI=n
+# for qemu machine types 1.7 + older
+# need to turn off features (xhci,uas) to make it fit into 128k
+CONFIG_QEMU=y
 CONFIG_ROM_SIZE=128
+CONFIG_ATA_DMA=n
+CONFIG_BOOTSPLASH=n
+CONFIG_XEN=n
 CONFIG_USB_OHCI=n
 CONFIG_USB_XHCI=n
 CONFIG_USB_UAS=n
+CONFIG_SDCARD=n
 CONFIG_TCGBIOS=n
-CONFIG_USE_SMM=n
-CONFIG_NVME=n
-CONFIG_VGAHOOKS=n
+CONFIG_MPT_SCSI=n
+CONFIG_PVSCSI=n
 CONFIG_NVME=n
+CONFIG_USE_SMM=n
 CONFIG_VGAHOOKS=n
-CONFIG_SERCON=n
-CONFIG_SDCARD=n
-CONFIG_MPT_SCSI=n
+CONFIG_ESP_SCSI=n
+CONFIG_LSI_SCSI=n
+CONFIG_MEGASAS=n
diff --git a/config.seabios-256k b/config.seabios-256k
index 65e5015..d1bcc94 100644
--- a/config.seabios-256k
+++ b/config.seabios-256k
@@ -1,3 +1,4 @@
 # for qemu machine types 2.0 + newer
 CONFIG_QEMU=y
 CONFIG_ROM_SIZE=256
+CONFIG_ATA_DMA=n
diff --git a/config.vga-bochs-display b/config.vga-bochs-display
new file mode 100644
index 0000000..d2adaae
--- /dev/null
+++ b/config.vga-bochs-display
@@ -0,0 +1,3 @@
+CONFIG_BUILD_VGABIOS=y
+CONFIG_DISPLAY_BOCHS=y
+CONFIG_VGA_PCI=y
diff --git a/config.vga-cirrus b/config.vga-cirrus
new file mode 100644
index 0000000..c8fe582
--- /dev/null
+++ b/config.vga-cirrus
@@ -0,0 +1,3 @@
+CONFIG_BUILD_VGABIOS=y
+CONFIG_VGA_CIRRUS=y
+CONFIG_VGA_PCI=y
diff --git a/config.vga-isavga b/config.vga-isavga
new file mode 100644
index 0000000..e55e294
--- /dev/null
+++ b/config.vga-isavga
@@ -0,0 +1,3 @@
+CONFIG_BUILD_VGABIOS=y
+CONFIG_VGA_BOCHS=y
+CONFIG_VGA_PCI=n
diff --git a/config.vga-qxl b/config.vga-qxl
new file mode 100644
index 0000000..d393f0c
--- /dev/null
+++ b/config.vga-qxl
@@ -0,0 +1,6 @@
+CONFIG_BUILD_VGABIOS=y
+CONFIG_VGA_BOCHS=y
+CONFIG_VGA_PCI=y
+CONFIG_OVERRIDE_PCI_ID=y
+CONFIG_VGA_VID=0x1b36
+CONFIG_VGA_DID=0x0100
diff --git a/config.vga-ramfb b/config.vga-ramfb
new file mode 100644
index 0000000..c809c79
--- /dev/null
+++ b/config.vga-ramfb
@@ -0,0 +1,3 @@
+CONFIG_BUILD_VGABIOS=y
+CONFIG_VGA_RAMFB=y
+CONFIG_VGA_PCI=n
diff --git a/config.vga-stdvga b/config.vga-stdvga
new file mode 100644
index 0000000..7d063b7
--- /dev/null
+++ b/config.vga-stdvga
@@ -0,0 +1,3 @@
+CONFIG_BUILD_VGABIOS=y
+CONFIG_VGA_BOCHS=y
+CONFIG_VGA_PCI=y
diff --git a/config.vga-virtio b/config.vga-virtio
new file mode 100644
index 0000000..aa7a15b
--- /dev/null
+++ b/config.vga-virtio
@@ -0,0 +1,6 @@
+CONFIG_BUILD_VGABIOS=y
+CONFIG_VGA_BOCHS=y
+CONFIG_VGA_PCI=y
+CONFIG_OVERRIDE_PCI_ID=y
+CONFIG_VGA_VID=0x1af4
+CONFIG_VGA_DID=0x1050
diff --git a/config.vga-vmware b/config.vga-vmware
new file mode 100644
index 0000000..eb10427
--- /dev/null
+++ b/config.vga-vmware
@@ -0,0 +1,6 @@
+CONFIG_BUILD_VGABIOS=y
+CONFIG_VGA_BOCHS=y
+CONFIG_VGA_PCI=y
+CONFIG_OVERRIDE_PCI_ID=y
+CONFIG_VGA_VID=0x15ad
+CONFIG_VGA_DID=0x0405
diff --git a/config.vga.cirrus b/config.vga.cirrus
deleted file mode 100644
index c8fe582..0000000
--- a/config.vga.cirrus
+++ /dev/null
@@ -1,3 +0,0 @@
-CONFIG_BUILD_VGABIOS=y
-CONFIG_VGA_CIRRUS=y
-CONFIG_VGA_PCI=y
diff --git a/config.vga.isavga b/config.vga.isavga
deleted file mode 100644
index e55e294..0000000
--- a/config.vga.isavga
+++ /dev/null
@@ -1,3 +0,0 @@
-CONFIG_BUILD_VGABIOS=y
-CONFIG_VGA_BOCHS=y
-CONFIG_VGA_PCI=n
diff --git a/config.vga.qxl b/config.vga.qxl
deleted file mode 100644
index d393f0c..0000000
--- a/config.vga.qxl
+++ /dev/null
@@ -1,6 +0,0 @@
-CONFIG_BUILD_VGABIOS=y
-CONFIG_VGA_BOCHS=y
-CONFIG_VGA_PCI=y
-CONFIG_OVERRIDE_PCI_ID=y
-CONFIG_VGA_VID=0x1b36
-CONFIG_VGA_DID=0x0100
diff --git a/config.vga.stdvga b/config.vga.stdvga
deleted file mode 100644
index 7d063b7..0000000
--- a/config.vga.stdvga
+++ /dev/null
@@ -1,3 +0,0 @@
-CONFIG_BUILD_VGABIOS=y
-CONFIG_VGA_BOCHS=y
-CONFIG_VGA_PCI=y
diff --git a/config.vga.virtio b/config.vga.virtio
deleted file mode 100644
index aa7a15b..0000000
--- a/config.vga.virtio
+++ /dev/null
@@ -1,6 +0,0 @@
-CONFIG_BUILD_VGABIOS=y
-CONFIG_VGA_BOCHS=y
-CONFIG_VGA_PCI=y
-CONFIG_OVERRIDE_PCI_ID=y
-CONFIG_VGA_VID=0x1af4
-CONFIG_VGA_DID=0x1050
diff --git a/config.vga.vmware b/config.vga.vmware
deleted file mode 100644
index eb10427..0000000
--- a/config.vga.vmware
+++ /dev/null
@@ -1,6 +0,0 @@
-CONFIG_BUILD_VGABIOS=y
-CONFIG_VGA_BOCHS=y
-CONFIG_VGA_PCI=y
-CONFIG_OVERRIDE_PCI_ID=y
-CONFIG_VGA_VID=0x15ad
-CONFIG_VGA_DID=0x0405
diff --git a/seabios.spec b/seabios.spec
index 5890fc6..d027a9d 100644
--- a/seabios.spec
+++ b/seabios.spec
@@ -3,29 +3,32 @@
 %endif
 
 Name:           seabios
-Version:        1.12.0
-Release:        2%{?dist}
+Version:        1.12.1
+Release:        1%{?dist}
 Summary:        Open-source legacy BIOS implementation
 
 License:        LGPLv3
 URL:            http://www.coreboot.org/SeaBIOS
 
-Source0:        http://code.coreboot.org/p/seabios/downloads/get/%{name}-%{version}.tar.gz
+#Source0:        http://code.coreboot.org/p/seabios/downloads/get/{name}-{version}.tar.gz
+Source0:        %{name}-%{version}.tar.xz
 
 Patch0001:      0001-Workaround-for-a-win8.1-32-S4-resume-bug.patch
 Patch0002:      0002-reserve-more-memory-on-fseg.patch
 Patch0003:      0003-vgabios-Reorder-video-modes-to-work-around-a-Windows.patch
 
-Source10:       config.vga.cirrus
-Source11:       config.vga.isavga
-Source12:       config.vga.qxl
-Source13:       config.vga.stdvga
-Source14:       config.vga.vmware
+Source10:       config.vga-cirrus
+Source11:       config.vga-isavga
+Source12:       config.vga-qxl
+Source13:       config.vga-stdvga
+Source14:       config.vga-vmware
 Source15:       config.csm
 Source16:       config.coreboot
 Source17:       config.seabios-128k
 Source18:       config.seabios-256k
-Source19:       config.vga.virtio
+Source19:       config.vga-virtio
+Source20:       config.vga-ramfb
+Source21:       config.vga-bochs-display
 
 BuildRequires: gcc
 BuildRequires: python3 iasl
@@ -121,9 +124,9 @@ build_bios %{_sourcedir}/config.coreboot bios.bin.elf bios-coreboot.bin
 %endif
 
 # seavgabios
-%global vgaconfigs cirrus isavga qxl stdvga vmware virtio
+%global vgaconfigs bochs-display cirrus isavga qxl stdvga ramfb vmware virtio
 for config in %{vgaconfigs}; do
-    build_bios %{_sourcedir}/config.vga.${config} \
+    build_bios %{_sourcedir}/config.vga-${config} \
                vgabios.bin vgabios-${config}.bin out/vgabios.bin
 done
 
@@ -154,6 +157,9 @@ install -m 0644 binaries/vgabios*.bin $RPM_BUILD_ROOT%{_datadir}/seavgabios
 
 
 %changelog
+* Wed Mar 27 2019 Cole Robinson <aintdiscole@gmail.com> - 1.12.1-1
+- Update to 1.12.1 for qemu 4.0
+
 * Sat Feb 02 2019 Fedora Release Engineering <releng@fedoraproject.org> - 1.12.0-2
 - Rebuilt for https://fedoraproject.org/wiki/Fedora_30_Mass_Rebuild
 
diff --git a/sources b/sources
index 975755b..c4812a3 100644
--- a/sources
+++ b/sources
@@ -1 +1 @@
-SHA512 (seabios-1.12.0.tar.gz) = e52c5363e5bb37b5286e55545aa06bd126218f9d0e3a06ac2e189de68fe3de3256c11ca1bb13357a9c384d7e3af6284083ff3aa587688b5de04ef11b97bdfa27
+SHA512 (seabios-1.12.1.tar.xz) = 9cff995868b338a668e0cd78a382828c80a11dd36193502a45cbef6b2c8c207c198c76ffb9d7a299306f5cb1c981bd5b6d5456900e67b8622324da0763917a21