Virt-manager: Difference between revisions
added beginning sentence |
add section on wayland |
||
Line 90: | Line 90: | ||
The host must [https://wiki.libvirt.org/Qemu_guest_agent.html#setting-qemu-ga-up provide the needed virtio serial port] under the special name <code>org.qemu.guest_agent.0</code>. | The host must [https://wiki.libvirt.org/Qemu_guest_agent.html#setting-qemu-ga-up provide the needed virtio serial port] under the special name <code>org.qemu.guest_agent.0</code>. | ||
=== Wayland === | |||
In order to run on Wayland, virt-manager must be ran under XWayland with `$ GDK_BACKEND=x11 virt-manager` or a gdk cursor must be set. An example of setting a gdk cursor with home-manager is as follows: | |||
home.pointerCursor = { | |||
gtk.enable = true; | |||
package = pkgs.vanilla-dmz; | |||
name = "Vanilla-DMZ"; | |||
}; | |||
[[Category:Virtualization]] | [[Category:Virtualization]] |
Revision as of 01:51, 22 April 2024
Virt-manager is a GUI for managing local and remote virtual machines.
Requisites
Even though Virt-manager (using the KVM hypervisor) is able to take advantage of virtualisation capabilities without any UEFI/BIOS configuration, best performances demand that host have Vt-x and Vt-d (Intel) or AMD-V and AMD-Vi (AMD) enabled. These settings can usually be found under the UEFI/BIOS settings.
Installation
NixOS
Before 23.11:
virtualisation.libvirtd.enable = true;
programs.dconf.enable = true; # virt-manager requires dconf to remember settings
environment.systemPackages = with pkgs; [ virt-manager ];
After 23.11:
virtualisation.libvirtd.enable = true;
programs.virt-manager.enable = true;
You will get a warning when you open it for the first time:
Could not detect a default hypervisor. Make sure the appropriate QEMU/KVM virtualization packages are installed to manage virtualization on this host.
A virtualization connection can be manually added via File->Add Connection
To resolve:
File (in the menu bar) -> Add connection HyperVisor = QEMU/KVM Autoconnect = checkmark Connect
The same can also be achieved declaratively by setting the corresponding dconf settings with home-manager. If you want to do this instead of the imperative configuration described above, add the following snippet to your home-manager configuration:
dconf.settings = {
"org/virt-manager/virt-manager/connections" = {
autoconnect = ["qemu:///system"];
uris = ["qemu:///system"];
};
};
You may get the following error:
authentication unavailable: no polkit agent available to authenticate action 'org.libvirt.unix.manage'
To resolve, add the user to the libvirtd
group:
{
users.users.<myuser>.extraGroups = [ "libvirtd" ];
}
Networking
The default network starts off as being inactive, you must enable it before it is accessible. This can be done by running the following command:
virsh net-start default
Or autostart:
virsh net-autostart default
By default this will enable the virbr0
virtual network bridge.
Display
The default Video may not allow different resolutions, `Virtio` will allow for more.
Windows Guest
See Virtio-win guest tools for additional drivers for both paravirtual and emulated hardware
Guest Agent
When running NixOS as a guest, enable the QEMU guest agent with:
{
services.qemuGuest.enable = true;
}
The host must provide the needed virtio serial port under the special name org.qemu.guest_agent.0
.
Wayland
In order to run on Wayland, virt-manager must be ran under XWayland with `$ GDK_BACKEND=x11 virt-manager` or a gdk cursor must be set. An example of setting a gdk cursor with home-manager is as follows:
home.pointerCursor = { gtk.enable = true; package = pkgs.vanilla-dmz; name = "Vanilla-DMZ"; };