3
0
Fork 0
forked from mirrors/nixpkgs

nixos/kvmgt: add udev rules for unprivileged access

This commit is contained in:
Jörg Thalheim 2020-03-13 07:00:17 +00:00
parent 85aae79ca1
commit 505d241ee3
No known key found for this signature in database
GPG key ID: 003F2096411B5F92

View file

@ -19,7 +19,8 @@ in {
virtualisation.kvmgt = { virtualisation.kvmgt = {
enable = mkEnableOption '' enable = mkEnableOption ''
KVMGT (iGVT-g) VGPU support. Allows Qemu/KVM guests to share host's Intel integrated graphics card. KVMGT (iGVT-g) VGPU support. Allows Qemu/KVM guests to share host's Intel integrated graphics card.
Currently only one graphical device can be shared Currently only one graphical device can be shared. To allow users to access the device without root add them
to the kvm group: <literal>users.extraUsers.&lt;yourusername&gt;.extraGroups = [ "kvm" ];</literal>
''; '';
# multi GPU support is under the question # multi GPU support is under the question
device = mkOption { device = mkOption {
@ -35,9 +36,7 @@ in {
and find info about device via <command>cat /sys/bus/pci/devices/*/mdev_supported_types/i915-GVTg_V5_4/description</command> and find info about device via <command>cat /sys/bus/pci/devices/*/mdev_supported_types/i915-GVTg_V5_4/description</command>
''; '';
example = { example = {
i915-GVTg_V5_8 = { i915-GVTg_V5_8.uuid = "a297db4a-f4c2-11e6-90f6-d3b88d6c9525";
uuid = "a297db4a-f4c2-11e6-90f6-d3b88d6c9525";
};
}; };
}; };
}; };
@ -62,6 +61,10 @@ in {
} }
) cfg.vgpus; ) cfg.vgpus;
services.udev.extraRules = ''
SUBSYSTEM=="vfio", OWNER="root", GROUP="kvm"
'';
systemd.services = mapAttrs' (name: value: systemd.services = mapAttrs' (name: value:
nameValuePair "kvmgt-${name}" { nameValuePair "kvmgt-${name}" {
description = "KVMGT VGPU ${name}"; description = "KVMGT VGPU ${name}";