summaryrefslogtreecommitdiffstats
path: root/system/qemu/README
blob: 18c9543e9e91002b8f8fe488c30646abd1c15631 (plain)
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 for using 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.