IGVT-g: Difference between revisions

imported>Gnidorah
No edit summary
imported>Gnidorah
No edit summary
Line 7: Line 7:
For client platforms, 5th, 6th or 7th Generation Intel® Core Processor Graphics is required. For server platforms, E3_v4, E3_v5 or E3_v6 Xeon Processor Graphics is required.
For client platforms, 5th, 6th or 7th Generation Intel® Core Processor Graphics is required. For server platforms, E3_v4, E3_v5 or E3_v6 Xeon Processor Graphics is required.


== NixOS configuration ==
{{file|/etc/nixos/configuration.nix|nix|<nowiki>
  boot.kernelPackages = pkgs.linuxPackages_4_16;
  boot.kernelParams = [ "i915.enable_gvt=1" ];
  nixpkgs.config.packageOverrides = super: let self = super.pkgs; in {
    linux_4_16 = super.linux_4_16.override {
      extraConfig = ''
  # since 4.16-rc1
  DRM_I915_GVT y
  DRM_I915_GVT_KVMGT m
      '';
    };
  };
  environment.systemPackages = with pkgs; [
  virtmanager
  virt-viewer
  libossp_uuid
  ];
  virtualisation.libvirtd.enable = true;
  users.extraUsers.user.extraGroups = [ "libvirtd" ];
</nowiki>}}
== Create or destroy VGPU ==
== Create or destroy VGPU ==


Show mode information
Choose virtual GPU
 
<pre>
$ ls /sys/bus/pci/devices/0000:00:02.0/mdev_supported_types/
i915-GVTg_V5_4/  i915-GVTg_V5_8/
</pre>


<pre>
<pre>
Line 41: Line 25:
</pre>
</pre>


Create
Generate UUID


<pre>
<pre>
$ uuid
$ nix run nixpkgs.libossp_uuid -c uuid
a297db4a-f4c2-11e6-90f6-d3b88d6c9525
a297db4a-f4c2-11e6-90f6-d3b88d6c9525
# echo "a297db4a-f4c2-11e6-90f6-d3b88d6c9525" > "/sys/bus/pci/devices/0000:00:02.0/mdev_supported_types/i915-GVTg_V5_8/create"
</pre>
</pre>


Destroy
== NixOS configuration ==
 
{{file|/etc/nixos/configuration.nix|nix|<nowiki>
<pre>
  boot.kernelPackages = pkgs.linuxPackages_4_16;
# echo 1 > /sys/bus/pci/devices/0000:00:02.0/a297db4a-f4c2-11e6-90f6-d3b88d6c9525/remove
  virtualisation.kvmgt.enable = true;
</pre>
  virtualisation.kvmgt.vgpus = {
    "i915-GVTg_V5_8" = {
      uuid = "a297db4a-f4c2-11e6-90f6-d3b88d6c9525";
    };
  };
  environment.systemPackages = with pkgs; [
  virtmanager
  virt-viewer
  ];
  virtualisation.libvirtd.enable = true;
  users.extraUsers.user.extraGroups = [ "libvirtd" ];
</nowiki>}}


== Configure KVM ==
== Configure KVM ==