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 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 "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.
libcacard, spice, usbredir, virglrenderer, device-tree-compiler,
libnfs, snappy, glusterfs and vde2 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.