Michael Hill
mdhillca@gmail.com 2012
Baptiste Mille-Mathias
baptistem@gnome.org 2012

# What is the technology used by Boxes?

Boxes uses qemu-kvm, libvirt-glib and spice-gtk to allow users to easily manage virtual machines.

# QEMU KVM bidez

QEMU is a machine emulator and virtualizer. As a machine emulator, it can run OSes and programs made for one machine (e.g. an ARM board) on a different machine (e.g. your own PC). As a virtualizer, QEMU achieves near native performance by executing the guest code directly on the host CPU using KVM.

KVM (Kernel-based Virtual Machine) is a Linux kernel module that allows a user space program to use the hardware virtualization features of various processors.

# libvirt

libvirt is a toolkit for manipulating (creating, deleting and modifying) and monitoring virtual machines.

libvirt-glib wraps libvirt to provide a high-level object-oriented API suited for glib-based applications.

# SPICE

SPICE, the Simple Protocol for Independent Computing Environments, is a system for accessing and controlling remote desktops across a network.

The SPICE server is a library that runs inside the QEMU binary. It is mainly responsible for authentication of client connections, relaying of graphics output of the guest OS to the client and relaying of user input (mouse and keyboard) from client to guest.

spice-gtk is the SPICE client that provides a view into the guest OS.