libvirt is an
open-source
Open source is source code that is made freely available for possible modification and redistribution. Products include permission to use and view the source code, design documents, or content of the product. The open source model is a decentrali ...
API
An application programming interface (API) is a connection between computers or between computer programs. It is a type of software interface, offering a service to other pieces of software. A document or standard that describes how to build ...
,
daemon
A demon is a malevolent supernatural being, evil spirit or fiend in religion, occultism, literature, fiction, mythology and folklore.
Demon, daemon or dæmon may also refer to:
Entertainment Fictional entities
* Daemon (G.I. Joe), a character ...
and management tool for managing
platform virtualization
In computing, virtualization (abbreviated v12n) is a series of technologies that allows dividing of physical computing resources into a series of Virtual machine, virtual machines, Operating system, operating systems, processes or containers.
Vir ...
.
It can be used to manage
KVM,
Xen,
VMware ESXi
VMware ESXi (formerly ESX) is an Enterprise software, enterprise-class, Native hypervisor, type-1 hypervisor developed by VMware, a subsidiary of Broadcom, for deploying and Server (computing), serving Hardware virtualization, virtual computers. ...
,
QEMU
The Quick Emulator (QEMU) is a free and open-source emulator that uses dynamic binary translation to emulate a computer's processor; that is, it translates the emulated binary codes to an equivalent binary format which is executed by the mach ...
and other virtualization technologies. These APIs are widely used in the orchestration layer of
hypervisor
A hypervisor, also known as a virtual machine monitor (VMM) or virtualizer, is a type of computer software, firmware or hardware that creates and runs virtual machines. A computer on which a hypervisor runs one or more virtual machines is called ...
s in the development of a cloud-based solution.
Internals

libvirt is a
C library with bindings in other languages, notably in
Python,
Perl
Perl is a high-level, general-purpose, interpreted, dynamic programming language. Though Perl is not officially an acronym, there are various backronyms in use, including "Practical Extraction and Reporting Language".
Perl was developed ...
,
OCaml
OCaml ( , formerly Objective Caml) is a General-purpose programming language, general-purpose, High-level programming language, high-level, Comparison of multi-paradigm programming languages, multi-paradigm programming language which extends the ...
,
Ruby
Ruby is a pinkish-red-to-blood-red-colored gemstone, a variety of the mineral corundum ( aluminium oxide). Ruby is one of the most popular traditional jewelry gems and is very durable. Other varieties of gem-quality corundum are called sapph ...
,
Java
Java is one of the Greater Sunda Islands in Indonesia. It is bordered by the Indian Ocean to the south and the Java Sea (a part of Pacific Ocean) to the north. With a population of 156.9 million people (including Madura) in mid 2024, proje ...
,
JavaScript
JavaScript (), often abbreviated as JS, is a programming language and core technology of the World Wide Web, alongside HTML and CSS. Ninety-nine percent of websites use JavaScript on the client side for webpage behavior.
Web browsers have ...
(via
Node.js) and
PHP
PHP is a general-purpose scripting language geared towards web development. It was originally created by Danish-Canadian programmer Rasmus Lerdorf in 1993 and released in 1995. The PHP reference implementation is now produced by the PHP Group. ...
. libvirt for these programming languages is composed of wrappers around another class/package called libvirtmod. libvirtmod's implementation is closely associated with its counterpart in C/C++ in syntax and functionality.
Supported Hypervisors
*
LXC
Linux Containers (LXC) is an operating system-level virtualization method for running multiple isolated Linux systems (containers) on a control host using a single Linux kernel.
The Linux kernel provides the cgroups functionality that allows l ...
– lightweight Linux container system
*
OpenVZ
OpenVZ (Open Virtuozzo) is an operating-system-level virtualization technology for Linux. It allows a physical server to run multiple isolated operating system instances, called containers, virtual private servers (VPSs), or virtual environments ...
– lightweight Linux container system
*
Kernel-based Virtual Machine
Kernel-based Virtual Machine (KVM) is a free and open-source virtualization module in the Linux kernel that allows the Kernel (operating system), kernel to function as a hypervisor. It was merged into the Mainline Linux, mainline Linux kernel i ...
/
QEMU
The Quick Emulator (QEMU) is a free and open-source emulator that uses dynamic binary translation to emulate a computer's processor; that is, it translates the emulated binary codes to an equivalent binary format which is executed by the mach ...
(KVM) – open-source hypervisor for Linux and SmartOS
*
Xen – bare-metal hypervisor
*
User-mode Linux (UML) – paravirtualized kernel
*
VirtualBox
Oracle VirtualBox (formerly Sun VirtualBox, Sun xVM VirtualBox and InnoTek VirtualBox) is a hosted hypervisor for x86 virtualization developed by Oracle Corporation. VirtualBox was originally created by InnoTek Systemberatung GmbH, which was ac ...
– hypervisor by Oracle (formerly by Sun) for Windows, Linux,
macOS
macOS, previously OS X and originally Mac OS X, is a Unix, Unix-based operating system developed and marketed by Apple Inc., Apple since 2001. It is the current operating system for Apple's Mac (computer), Mac computers. With ...
, and
Solaris
Solaris is the Latin word for sun.
It may refer to:
Arts and entertainment Literature, television and film
* ''Solaris'' (novel), a 1961 science fiction novel by Stanisław Lem
** ''Solaris'' (1968 film), directed by Boris Nirenburg
** ''Sol ...
*
VMware ESXi
VMware ESXi (formerly ESX) is an Enterprise software, enterprise-class, Native hypervisor, type-1 hypervisor developed by VMware, a subsidiary of Broadcom, for deploying and Server (computing), serving Hardware virtualization, virtual computers. ...
and GSX – hypervisors for Intel hardware
*
VMware Workstation
VMware Workstation Pro (known as VMware Workstation until release of VMware Workstation 12 in 2015) is a hosted (Type 2) hypervisor that runs on x64 versions of Windows and Linux operating systems. It enables users to set up virtual machines (VM ...
and Player – hypervisors for Windows and Linux
*
Hyper-V
Hyper-V is a native hypervisor developed by Microsoft; it can create virtual machines on x86-64 systems running Windows. It is included in Pro and Enterprise editions of Windows (since Windows 8) as an optional feature to be manually enabled. A ...
– hypervisor for Windows by Microsoft
*
PowerVM
PowerVM, formerly known as Advanced Power Virtualization (APV), is a chargeable feature of IBM POWER5, POWER6, POWER7, POWER8, POWER9 and Power10 servers and is required for support of micro-partitions and other advanced features. Support is p ...
– hypervisor by IBM for
AIX
Aix or AIX may refer to:
Computing
* AIX, a line of IBM computer operating systems
*Alternate index, for an IBM Virtual Storage Access Method key-sequenced data set
* Athens Internet Exchange, a European Internet exchange point
Places Belg ...
, Linux and IBM i
*
Bhyve – hypervisor for
FreeBSD
FreeBSD is a free-software Unix-like operating system descended from the Berkeley Software Distribution (BSD). The first version was released in 1993 developed from 386BSD, one of the first fully functional and free Unix clones on affordable ...
10+ (support added with libvirt 1.2.2)
User Interfaces
Various virtualization programs and platforms use libvirt.
Virtual Machine Manager,
GNOME Boxes and others provide graphical interfaces. The most popular command line interface is virsh, and higher level tools such as
oVirt.
Corporate
Development of libvirt is backed by
Red Hat
Red Hat, Inc. (formerly Red Hat Software, Inc.) is an American software company that provides open source software products to enterprises and is a subsidiary of IBM. Founded in 1993, Red Hat has its corporate headquarters in Raleigh, North ...
, with significant contributions by other organisations and individuals. libvirt is available on most Linux distributions; remote servers are also accessible from
Apple
An apple is a round, edible fruit produced by an apple tree (''Malus'' spp.). Fruit trees of the orchard or domestic apple (''Malus domestica''), the most widely grown in the genus, are agriculture, cultivated worldwide. The tree originated ...
and
Microsoft Windows
Windows is a Product lining, product line of Proprietary software, proprietary graphical user interface, graphical operating systems developed and marketed by Microsoft. It is grouped into families and subfamilies that cater to particular sec ...
clients.
See also
*
SPICE
In the culinary arts, a spice is any seed, fruit, root, Bark (botany), bark, or other plant substance in a form primarily used for flavoring or coloring food. Spices are distinguished from herbs, which are the leaves, flowers, or stems of pl ...
*
libguestfs
*
References
Books
*
External links
* {{Official website
Mailing lists
Free software programmed in C
Free virtualization software
Hardware virtualization
Linux APIs
Virtualization software for Linux
Software that uses Meson
Red Hat software