Hardware
What you need to run SlopOS in QEMU, and what works on the one laptop it has run on.
You run SlopOS in QEMU on a Linux or macOS computer. The only real machine it has run on is one Lenovo laptop, which boots the live ISO from a USB stick.
What your computer needs
QEMU emulates a whole PC, so the host needs QEMU itself, a few image tools and enough memory for the guest:
| Host | Packages |
|---|---|
| Arch | qemu-full xorriso e2fsprogs just go |
| Debian or Ubuntu | qemu-system-x86 xorriso e2fsprogs golang, plus just |
| macOS | qemu xorriso e2fsprogs just go from Homebrew |
Go runs the test harness behind just test, and openssl is needed for the
TLS tests in just test-host. just setup installs the pinned Rust nightly and
the rest. The Quickstart walks through it.
QEMU is much faster when it can use the processor's virtualisation support: KVM on Linux, HVF on macOS. Without it, QEMU falls back to emulating every instruction in software (TCG), which works but is slow.
Memory for each way of booting
| What you boot | Guest memory | Change it with |
|---|---|---|
Live ISO (just boot-live) | 512 MB | QEMU_MEM |
Test suite (just test) | 1 GB | QEMU_MEM |
Development machine (just boot, just boot-fast) | 4 GB | DEV_QEMU_MEM |
| Self-hosted builds of the test kernel | 8 GB | DEV_QEMU_MEM=8G |
The guest gets 4 CPUs by default (QEMU_SMP, which must be a power of two).
So the development machine wants a host with comfortably more than 4 GB free.
Every QEMU setting is listed on QEMU options.
The emulated machine
QEMU presents a modern PC (the q35 machine) with UEFI firmware (OVMF) and the
Limine boot loader. Disks are NVMe, plus one virtio disk the tests still use;
the network card and the display are virtio devices, and the keyboard and mouse
are the classic PS/2 kind. The development machine boots from an NVMe disk
holding two boot slots and keeps its files on another; the live ISO boots from
an emulated CD with no disk at all. Disks explains
how those disks are laid out.
The tested laptop
The live ISO (just iso, written to a USB stick) boots a Lenovo laptop with an
Intel Raptor Lake-P processor, with Secure Boot turned off. It runs from memory
and does not touch the laptop's disk.
| Part | What works |
|---|---|
| Processor (12 hardware threads) | All threads run, with per-CPU timers |
| Display (Intel UHD Graphics) | Our Intel Xe display driver draws the desktop |
| Keyboard | Works, found through the firmware's ACPI tables |
| Touchpad (I2C-HID) | Works, found through ACPI, over the I2C controller |
| NVMe disk | Driver loads; the live system does not mount it |
| Firmware | Reset and power-off through UEFI |
The kernel log, and any panic message, appear on screen.
What real hardware still lacks
The laptop has no network under SlopOS, because its Realtek wired card and Intel Wi-Fi have no drivers. Its USB controllers have no driver either, so USB devices stop working once the kernel starts. The disk layout SlopOS boots from can already share a disk with the laptop's existing OS, but nothing inside SlopOS can create that layout, so it cannot install itself onto the laptop's disk yet. A panic still leaves no record after the machine resets. The Roadmap covers what is planned for each, and Known limitations lists the rest.