VLAN with NetworkManager
nmcli connection add type bridge con-name Bridge0 ifname br0 ip4 192.168.0.2/24
nmcli connection add type vlan con-name V20 ifname enp3s0.20 dev enp3s0 id 20 master br0 slave-type bridge
VLAN manually
Create a vlan on the host.
sudo ip link add link enp3s0 name enp3s0.20 type vlan id 20
sudo ip addr add 192.168.0.2/24 brd 192.168.0.255 dev enp3s0.20
sudo ip link set dev enp3s0.20 up
Create a bridge.
sudo brctl addbr br0
sudo brctl addif br0 enp3s0.20
sudo ip link set dev br0 up
Set an IP to the bridge so the host has an IP on the vlan.
sudo ip link set dev br0 down
sudo ip addr add 192.168.0.2/24 brd 192.168.0.255 dev br0
sudo ip link set dev br0 up
Add the interface br0 to the vm and set the IP manualy if needed.
Remove the vlan from the host.
sudo ip link set dev enp3s0.20 down
sudo ip link delete enp3s0.20
Remove the bridge.
sudo ip link set dev br0 down
sudo brctl delbr br0
Connect to a remote instance
virt-manager -c 'qemu+ssh://user@192.168.0.10:2222/system?keyfile=/path/to/key/id_rsa'
For connecting over ssh you need openbsd-netcat
instead of gnu-netcat
on the server.
Virgil3d virtio-gpu
VirGL is a virtual 3D GPU for use inside QEMU virtual machines, that allows the guest operating system to use the capabilities of the host GPU to accelerate 3D rendering.
<domain type="kvm">
<name>vm_name</name>
[...]
<devices>
[...]
<controller type="virtio-serial" index="0">
<address type="pci" domain="0x0000" bus="0x03" slot="0x00" function="0x0"/>
</controller>
<channel type="spicevmc">
<target type="virtio" name="com.redhat.spice.0"/>
<address type="virtio-serial" controller="0" bus="0" port="1"/>
</channel>
<graphics type="spice">
<listen type="none"/>
<gl enable="yes"/>
</graphics>
<video>
<model type="virtio" heads="1" primary="yes">
<acceleration accel3d="yes"/>
</model>
<address type="pci" domain="0x0000" bus="0x00" slot="0x01" function="0x0"/>
</video>
[...]
</devices>
</domain>
virt-viewer --attach vm_name
Windows Drivers
https://github.com/virtio-win/virtio-win-pkg-scripts/blob/master/README.md