QEMU is a generic and open source machine emulator and virtualizer. When used as a machine emulator, QEMU can run OSes and programs made for one machine (e.g. an ARM board) on a different machine (e.g. your PC). By using dynamic translation, it achieves very good performances. qemu (with kvm enabled) achieves near native performances by leveraging the kvm-kmod modules and executing the guest code directly on the host CPU. Slackware provides pre-built 32/64 bit x86 kvm-kmod modules or you can build different versions with the kvm-kmod package. By default, this script builds all emulation targets for qemu; if you prefer to build specific target(s), do this: TARGETS=arm-softmmu,arm-linux-user,armeb-linux-user ./qemu.SlackBuild (Refer to qemu documentation for available emulation targets.) Disable vnc support via: VNC_ENABLE=no ./qemu.SlackBuild Audio drivers support defaults to "pa,alsa,oss,sdl" and can be adusted by running the build script like this: AUDIODRIVERS="pa,alsa,oss" ./qemu.SlackBuild We patch the installed udev rules to require membership in "users" group instead of a custom "kvm" group to use /dev/kvm. If you prefer something different, then run the build script like this: KVMGROUP=group ./qemu.SlackBuild To have the qemu-bridge-helper installed setuid root, allowing regular users to use extended networking capabilities, do this: BRIDGE_HELPER_SETUID=yes ./qemu.SlackBuild Don't forget to load the 'kvm-intel' or 'kvm-amd' module (depending on your processor) prior to launching qemu-system-ARCH with kvm enabled. For older/unmaintained qemu frontends, this build also creates a symlink to qemu-system-ARCH at /usr/bin/qemu-kvm. libslirp (user mode networking), libcacard, spice, usbredir, virglrenderer, libnfs, snappy, device-tree-compiler, glusterfs, and vde2 are optional dependencies. To enable user mode networking, install libslirp (availale on SBO), then compile qemu: SLIRP=yes ./qemu.SlackBuild libiscsi (to access iSCSI targets directly) is optional dependency, and will be picked up, if present, during the compilation. sphinx-rtd-theme and Sphinx (both on SBo) are optional but required in order for any of the documentation to be built. If you wish to emulate ARM, you will want device-tree-compiler. NOTES: This version breaks some backward compatibility with earlier versions. Consult the official changelogs for details. If there are problems after upgrading with missing or wrong versioned libraries please try uninstalling any previous versions before rebuilding a new one.