It would be sometimes useful if #QEMU w/o libvirt could interpret domain XML to some level.
Like for instance if you want to CI kernel, that would be one use case for this.
For the sake of example, here’s the QEMU command-line that I use as starting point for any kernel testing/CI:
qemu-system-x86_64 \
-M pc \
-monitor unix:monitor.sock,server,nowait \
-serial unix:serial.sock,server,wait \
-drive file=disk.img,if=virtio,format=raw \
-net nic,model=virtio \
-net user,hostfwd=tcp::10022-:22 \
-rtc base=localtime \
-nographic \
-chardev socket,id=chrtpm,path=${SWTPM_DIR}/swtpm-sock \
-tpmdev emulator,id=tpm0,chardev=chrtpm \
-device ${QEMU_TPM_DEVICE},tpmdev=tpm0 \
-bios /usr/share/edk2/ovmf/OVMF_CODE.fd \
"$@"
@jarkko I don't understand. How would XML improve your use case?
Also, why would you want to do it without libvirt? Interpreting domain XML and running QEMU is what using QEMU with libvirt does.