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 own 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 only the x86 and arm emulation targets for qemu; if you prefer to build all supported targets, do this: TARGETS=all ./qemu.SlackBuild Disable vnc support via: VNC_ENABLE=no ./qemu.SlackBuild Audio drivers support defaults to "alsa,oss,sdl" and can be adusted via AUDIODRIVERS="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 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. libcacard, spice, usbredir, and device-tree-compiler are optional dependencies. 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. Slackware's libusb is too old. Thus, to enable usb redirection, install usbredir, download libusb-1.19, and build with LIBUSB=yes ./qemu.SlackBuild