dotfiles/nixos/configs/i915-sriov.nix
2024-11-07 16:25:41 -07:00

39 lines
927 B
Nix

#
# Configuration for using SR-IOV with i915.
#
# vim: et:ts=2:sw=2:
#
{ deprekages, pkgs, ... }:
{
# Use looking-glass a as a viewer for SRIOV.
imports = [
./looking-glass.nix
];
# Support Intel device SRIOV.
boot = {
# Use our kernel, with its specialized config.
kernelPackages = deprekages.linuxPackages_i915-sriov;
kernelParams = [
"iommu=pt"
"intel_iommu=on"
"i915.enable_guc=3"
"i915.max_vfs=7"
];
# This replaces the i915 module with an extended one.
extraModulePackages = [ deprekages.i915-sriov ];
};
# Make a virtual function for a VM ready and available on VM start.
virtualisation.libvirtd.hooks.qemu = {
ready_sriov = pkgs.writeScript "sriov.sh" ''
#!${pkgs.bash}/bin/bash
echo 0 > /sys/devices/pci0000:00/0000:00:02.0/sriov_drivers_autoprobe
echo 1 > /sys/devices/pci0000:00/0000:00:02.0/sriov_numvfs
'';
};
}