mirror of
https://github.com/PhyllomeOS/wiki.git
synced 2024-12-22 05:35:22 +00:00
add links, tiny fixes
This commit is contained in:
parent
b9d6443256
commit
abcee5f539
@ -33,7 +33,7 @@ When it comes to its longevity and number of variants, the UNIX family is by far
|
||||
### Windows-family
|
||||
|
||||
* **Windows**
|
||||
* Windows and [ReactOS](/virt/guest/reactos)
|
||||
* Windows and ReactOS
|
||||
|
||||
### Independent
|
||||
|
||||
@ -50,7 +50,7 @@ When it comes to its longevity and number of variants, the UNIX family is by far
|
||||
| | Linux | Darwin | Windows |
|
||||
| :- | :-: | :-: | :-: |
|
||||
| *Chipset* | `i440fx` `Q35` `virt` | `Q35` | `i440fx` `Q35` `virt` |
|
||||
| *Platform Firmware* | `SeaBIOS` `OVMF` `RHF` [^1] | `OVMF` | `SeaBIOS` `OVMF` `RHF` |
|
||||
| *Platform firmware* | [`SeaBIOS`](/virt/vm/firmware#seabios) [`OVMF`](/virt/vm/firmware#ovmf) [`RHF`](/virt/vm/firmware#rust-hypervisor-firmware) [^1] | [`OVMF`](/virt/vm/firmware#ovmf) | [`SeaBIOS`](/virt/vm/firmware#seabios) [`OVMF`](/virt/vm/firmware#ovmf) [`RHF`](/virt/vm/firmware#rust-hypervisor-firmware) |
|
||||
| *`virtio-gpu`* | **Yes** | No | No |
|
||||
| *`virtio-video`* | *Upcoming* | No | No |
|
||||
| *`virtio-snd`* | *Upcoming* | No | No |
|
||||
|
@ -12,22 +12,22 @@ dateCreated: 2022-01-25T14:50:10.751Z
|
||||
|
||||
Virtual devices, including virtual chipsets, are shipping alongside platform firmware.
|
||||
|
||||
> ***Definition**: Firmware are software that are tightly integrated with the hardware. Almost every devices are shipping with some kind of firmware associated to it. For instance, motherboards include such programs, which in their case is tasked to properly boot hardware devices such as RAM modules, check their state and make them ready-to-use by an operating system.*
|
||||
> ***Definition**: Firmware are software that are tightly integrated with the hardware. Almost every devices are shipping with some kind of firmware associated to it. For instance, motherboards include such programs, which in their case is tasked to properly boot hardware devices such as RAM modules, check their state and make them ready-to-use by an operating system*
|
||||
{.is-info}
|
||||
|
||||
## Available platform firmware for virtual machines
|
||||
|
||||
### SeaBIOS
|
||||
|
||||
[SeaBIOS](https://www.seabios.org/SeaBIOS) is an implementation of a x86 BIOS which relies on [Coreboot](https://www.coreboot.org/) and can be used to boot virtual machines. It is incompatible with UEFI but, as a result, is simpler.
|
||||
[SeaBIOS](https://www.seabios.org/SeaBIOS) is an implementation of a x86 BIOS which relies on [Coreboot](https://www.coreboot.org/) and can be used to boot virtual machines. It is incompatible with UEFI. It is also simpler.
|
||||
|
||||
### OVMF
|
||||
|
||||
[OVMF](https://github.com/tianocore/tianocore.github.io/wiki/OVMF), which stands for Open Virtual Machine Firmware, is a UEFI compatible firmware. It is part of the larger [TianoCore](https://www.tianocore.org/) project, which provides an open-source implementation of a platform firmware that follows UEFI specifications. It is the default method to boot UEFI-based operating systems in a virtual machine.
|
||||
[OVMF](https://github.com/tianocore/tianocore.github.io/wiki/OVMF), which stands for Open Virtual Machine Firmware, is a UEFI-compatible firmware. It is based on the larger [TianoCore](https://www.tianocore.org/) project, which provides an open-source implementation of a platform firmware that follows UEFI specifications. It is the default method to boot UEFI-based operating systems in a virtual machine.
|
||||
|
||||
### Rust Hypervisor Firmware
|
||||
|
||||
The [Rust Hypervisor Firmware](https://github.com/cloud-hypervisor/rust-hypervisor-firmware) (RHF) is a UEFI compatible firmware. It is focused on simplicity and performance and is designed for virtual workloads. It is tightly integrated with the Cloud Hypervisor.
|
||||
The [Rust Hypervisor Firmware](https://github.com/cloud-hypervisor/rust-hypervisor-firmware) (RHF) is a UEFI-compatible firmware. It is focused on simplicity and performance and is designed for virtual workloads. It is tightly integrated with the Cloud Hypervisor.
|
||||
|
||||
## Comparison
|
||||
|
||||
@ -38,7 +38,7 @@ The [Rust Hypervisor Firmware](https://github.com/cloud-hypervisor/rust-hypervis
|
||||
| *Secureboot* | No | **Yes** | **Yes** |
|
||||
| *Chipset support* | [`i440fx`](/virt/vm/chipset#i440fx) / [`Q35`](/virt/vm/chipset#q35) | [`i440fx`](/virt/vm/chipset#i440fx) / [`Q35`](/virt/vm/chipset#q35) | [`Q35`](/virt/vm/chipset#q35)? / [`virt`](/virt/vm/chipset#virt) |
|
||||
| *Guest support* | **Linux** / **Windows** | **Linux** / **Darwin** / **Windows** | **Linux** / **Windows** |
|
||||
| *Virtual Function I/O* | No | Yes | Yes |
|
||||
| *Virtual Function I/O (VFIO)* | No | Yes | Yes |
|
||||
|
||||
---
|
||||
|
||||
|
@ -16,7 +16,7 @@ Phyllome leverages 3D acceleration within guest operating systems extensively, i
|
||||
* **vfio-mdev** : Sharing a fraction of a compatible physical GPU such as those using [single-root input/output virtualization](https://en.wikipedia.org/wiki/Single-root_input/output_virtualization) (SR-IOV), via the `vfio-mdev` driver
|
||||
* **vfio-gpu** : Using some capabilities of the host GPU, via the `vfio-gpu` driver, which creates a virtual GPU as is used in Chromium OS and Spectrum OS
|
||||
|
||||
| Description | vfio-pci | vfio-mdev | vfio-gpu |
|
||||
| Description | `vfio-pci` | `vfio-mdev` | `vfio-gpu` |
|
||||
|---|---|---|---|
|
||||
| *Performance* | Near-native performance and full features set | Near-native performance and full features set | Degraded performance and limited features set |
|
||||
| *Guests support* | UNIX and non-UNIX guests | UNIX and non-UNIX guests | Works only on selected UNIX guests |
|
||||
|
@ -1,69 +0,0 @@
|
||||
---
|
||||
title: Input devices
|
||||
description: How to share input devices with a virtual machine
|
||||
published: true
|
||||
date: 2022-08-02T09:59:31.526Z
|
||||
tags:
|
||||
editor: markdown
|
||||
dateCreated: 2022-08-01T10:42:14.864Z
|
||||
---
|
||||
|
||||
# Input devices
|
||||
|
||||
Input devices such as keyboards and mice are a must to directly interact with a virtual machine. There are multiple ways to share an input device with your virtual machine.
|
||||
|
||||
## Summary
|
||||
|
||||
* *to-be done. Add table here*.
|
||||
|
||||
## Methods
|
||||
|
||||
### Evdev
|
||||
|
||||
Event devices (evdev) is a generic input event interface available in the [Linux](https://www.kernel.org/doc/Documentation/input/input.txt) and FreeBDS kernels.
|
||||
|
||||
* Identify available input devices under `/dev/input/by-path/` or `/dev/input/by-id/` and look for devices that contains the string *event* in their name.
|
||||
|
||||
```
|
||||
ls /dev/input/*
|
||||
```
|
||||
```
|
||||
/dev/input/by-path:
|
||||
pci-0000:07:00.0-event-mouse
|
||||
pci-0000:09:00.0-mouse
|
||||
pci-0000:07:00.0-mouse platform-i8042-serio-0-event-kbd
|
||||
pci-0000:08:00.0-event-kbd platform-i8042-serio-1-event-mouse
|
||||
pci-0000:09:00.0-event-mouse platform-i8042-serio-1-mouse
|
||||
```
|
||||
|
||||
* Check if it's the correct device using the following command and typing or clicking on your device
|
||||
|
||||
```
|
||||
sudo cat /dev/input/by-path/pci-0000:08:00.0-event-kbd
|
||||
```
|
||||
|
||||
* If gibberish symbols appear on your console as you type, it means that the device has been correctly identified, and that you can <kbd>Ctrl+Z</kbd>
|
||||
|
||||
```
|
||||
<EFBFBD><EFBFBD>b<EFBFBD><EFBFBD><EFBFBD><EFBFBD>b<EFBFBD><EFBFBD><EFBFBD><EFBFBD>b<EFBFBD>!<21><>b<EFBFBD><62><EFBFBD>b<EFBFBD><62> <20><>b<EFBFBD><62><EFBFBD><EFBFBD>b<EFBFBD><62><EFBFBD><EFBFBD>b<EFBFBD><62><EFBFBD><EFBFBD>b<EFBFBD><62><EFBFBD><EFBFBD>b<EFBFBD><62>fdsa<73><61>b<EFBFBD>( <20><>b<EFBFBD>(<28><>b!<21><>b<EFBFBD><62>bR<62><52>bR<62><52>bW<62><57>bW<62><57>b<EFBFBD>!<21><>b<EFBFBD>f<EFBFBD><66>b4 <20><>b4<62><34>bV<62><56>bV<62><56>bX<62><58>bXdsa<73><61>b!: !<21><>b!: <09><>b>: <20><>b>: <09><>b<EFBFBD>
|
||||
<EFBFBD><EFBFBD>b<EFBFBD>
|
||||
<EFBFBD><EFBFBD>b<EFBFBD>y
|
||||
<EFBFBD><EFBFBD>b<EFBFBD>y
|
||||
```
|
||||
|
||||
Edit the virtual machine's definition and replace `MOUSE_NAME` and `KEYBOARD_NAME` with the previously identified devices.
|
||||
|
||||
```
|
||||
<input type="evdev">
|
||||
<source dev="/dev/input/by-path/MOUSE_NAME"/>
|
||||
</input>
|
||||
<input type="evdev">
|
||||
<source dev="/dev/input/by-path/KEYBOARD_NAME" grab="all" repeat="on"/>
|
||||
</input>
|
||||
```
|
||||
|
||||
* In-depth [Passthrough Post article](https://passthroughpo.st/using-evdev-passthrough-seamless-vm-input/) about evdev.
|
||||
|
||||
---
|
||||
|
||||
*[**Go to parent page**](https://wiki.phyllo.me/)*
|
Loading…
Reference in New Issue
Block a user