Libvirt XML definitions for common OS
Go to file
2023-02-11 23:05:37 +01:00
xml Add definition for Windows 2023-02-11 22:27:15 +01:00
LICENSE Initial commit 2023-02-11 16:06:19 +01:00
README.md add status section 2023-02-11 23:05:37 +01:00

Libvirt-friendly definitions for common operating systems

Libvirt, the most common virtualization library on Linux, uses XML to store the definition of a virtual machine.

The reference Domain XML format webpage, which lists most of the accepted parameters that can be used to define a virtual machine, is almost 100 pages long. It is daunting to pick the most optimized parameters for running a particular guest operating system (OS) well.

This repository's goal is to maintain definitions that are tuned for running modern OS, leveraging as many paravirtualized devices (virtio) the target guest OS support.

More information here on the status for virtio support on guest operating systems.

Requirements

It is expected that libvirt and other dependencies such as QEMU are already installed and that such tools are already correctly configured.

  • At least QEMU emulator version 7.0.0
  • At least libvirt 8.6.0

How to use it

  • Clone this repository locally

Session-driven virtual machines

  • Navigate to the session directory
  • Choose your target OS of choice and, as a normal user, use the following virsh command to define a virtual machine:
$ virsh define linux.xml 

System-driven virtual machines

  • Navigate to the system directory
  • Choose your target OS of choice and, as a root user, use the following virsh command to define a virtual machine:
# virsh define linux.xml

Status

Linux Windows
Chipset Q35 Q35
Platform Firmware OVMF OVMF
Spice display Yes, with 3D Yes, without 3D
virtio-gpu Yes, with 3D Yes, without 3D
virtio-blk Not applicable Not applicable
virtio-scsi Yes Yes
virtio-fs Yes, for System-driven VM Yes
virtio-net Yes Yes
virtio-keyboard Yes Yes
virtio-tablet Yes Yes

Ressources