wiki/virt/vm/virtio.md

90 lines
2.9 KiB
Markdown
Raw Permalink Normal View History

2022-01-12 14:22:55 +00:00
---
title: On paravirtualized hardware
2022-01-12 14:24:23 +00:00
description:
2022-01-12 14:22:55 +00:00
published: true
2022-01-25 21:48:21 +00:00
date: 2022-01-25T21:48:19.363Z
2022-01-12 14:22:55 +00:00
tags:
editor: markdown
dateCreated: 2022-01-12T14:22:51.514Z
---
2022-01-12 16:01:28 +00:00
# Paravirtual hardware
2022-01-12 14:22:55 +00:00
2022-01-25 21:48:21 +00:00
[Paravirtual hardware](/virt/lexicon#paravirtualization) are emulated hardware or devices that can be found in a virtual environment. Contrary to other emulated hardware, they don't intend to mimic a particular piece of real hardware.
2022-01-12 14:22:55 +00:00
2022-01-25 21:48:21 +00:00
In this section, the focus is oriented towards Virtual I/O Devices (VIRTIO), better known as the `virtio` family of devices.
2022-01-12 14:22:55 +00:00
2022-01-25 21:48:21 +00:00
## List of paravirtual devices
2022-01-12 16:19:41 +00:00
2022-01-25 21:48:21 +00:00
> *This list is not meant to be exhaustive*
{.is-info}
2022-01-12 16:19:41 +00:00
2022-01-25 21:48:21 +00:00
### Graphical frame buffer
2022-01-12 16:01:28 +00:00
* [`virtio-gpu`](/virt/virtio/gpu)
2022-01-12 16:19:41 +00:00
* Paravirtual GPU that provides a subset of the host GPU capabilities to a guest virtual machine
2022-01-12 16:01:28 +00:00
2022-01-25 21:48:21 +00:00
### Video decoding/encoding
2022-01-12 16:01:28 +00:00
* [`virtio-video`](/virt/virtio/video)
2022-01-12 16:19:41 +00:00
* Paravirtual video device that provides encoding and decoding capabilities to a guest virtual machine
2022-01-12 16:01:28 +00:00
2022-01-25 21:48:21 +00:00
### Sound
2022-01-12 16:01:28 +00:00
* [`virtio-snd`](/virt/virtio/snd)
2022-01-25 21:48:21 +00:00
### Storage
2022-01-12 16:01:28 +00:00
* [`virtio-blk`](/virt/virtio/blk)
* [`virtio-scsi`](/virt/virtio/scsi)
2022-01-12 16:19:41 +00:00
* [`virtio-fs`](/virt/virtio/fs)
2022-01-12 16:01:28 +00:00
2022-01-25 21:48:21 +00:00
### Network
2022-01-12 16:01:28 +00:00
* [`virtio-net`](/virt/virtio/net)
2022-01-25 21:48:21 +00:00
### Input devices
2022-01-12 16:01:28 +00:00
* [`virtio-kbd`](/virt/virtio/blk)
2022-01-12 16:19:41 +00:00
* [`virtio-tablet`](/virt/virtio/tabket)
2022-01-25 21:48:21 +00:00
### Miscellaneous
2022-01-12 14:33:21 +00:00
2022-01-12 16:19:41 +00:00
* [`virtio-rng`](/virt/virtio/rng)
* [`virtio-crypto`](/virt/virtio/crypto)
* [`virtio-balloon`](/virt/virtio/balloon)
* [`virtio-iommu`](/virt/virtio/iommu)
* [`virtio-console`](/virt/virtio/console)
2022-01-12 14:33:21 +00:00
2022-01-12 15:52:53 +00:00
## Virtual I/O Devices specifications
2022-01-12 14:41:52 +00:00
2022-01-12 16:26:06 +00:00
> [OASIS Open](https://www.oasis-open.org/org/) is a non-profit hosting standards related to the IT sector. They host VIRTIO specifications and its technical committee.
2022-01-12 14:41:52 +00:00
{.is-info}
2022-01-12 14:22:55 +00:00
2022-01-12 15:52:53 +00:00
* Below is a table showing support of `virtio` devices depending on the specification version
2022-01-12 16:19:41 +00:00
| **Paravirtual device** | Spec. 1.0 | Spec. 1.1 | Spec. 1.2 |
2022-01-12 15:52:53 +00:00
| :- | :-: | :-: | :-: |
2022-01-12 16:19:41 +00:00
| *`virtio-gpu`* | No | **Yes** | **Yes** |
| *`virtio-video`* | No | No | **Yes** |
| *`virtio-snd`* | No | No | **Yes** |
| *`virtio-blk`* | **Yes** | **Yes** | **Yes** |
| *`virtio-scsi`* | **Yes** | **Yes** | **Yes** |
| *`virtio-fs`* | No | No | ? |
| *`virtio-net`* | **Yes** | **Yes** | **Yes** |
| *`virtio-keyboard`* | No | No | ? |
| *`virtio-tablet`* | No | No | ? |
| *`virtio-wayland`* | No | No | ? |
| *`virtio-console`* | **Yes** | **Yes** | **Yes** |
2022-01-12 15:52:53 +00:00
## Resources
2022-01-12 15:52:53 +00:00
2022-01-12 14:33:21 +00:00
* Specifications
* [Version 1.0](https://docs.oasis-open.org/virtio/virtio/v1.0/virtio-v1.0.html) of the specification for Virtual I/O Devices
* [Version 1.1](https://docs.oasis-open.org/virtio/virtio/v1.1/csprd01/virtio-v1.1-csprd01.html) of the specification for Virtual I/O Devices
2022-01-12 14:41:52 +00:00
* OASIS Virtual I/O Device (VIRTIO) [Technical Commitee's Page](https://www.oasis-open.org/committees/tc_home.php?wg_abbrev=virtio)
2022-01-25 21:48:21 +00:00
* `virtio` [entry on OSDev.org](https://wiki.osdev.org/Virtio)
---
*[**Go to parent page**](https://wiki.phyllo.me/)*