.
This commit is contained in:
commit
73ff9ee8ee
31 changed files with 4906 additions and 0 deletions
70
kernel/vfio.nix
Normal file
70
kernel/vfio.nix
Normal file
|
|
@ -0,0 +1,70 @@
|
|||
{
|
||||
config,
|
||||
lib,
|
||||
pkgs,
|
||||
...
|
||||
}:
|
||||
let
|
||||
cfg = config.custom.kernel.vfio;
|
||||
in
|
||||
{
|
||||
options.custom.kernel.vfio = {
|
||||
enable = lib.mkOption {
|
||||
type = lib.types.bool;
|
||||
default = false;
|
||||
};
|
||||
};
|
||||
config = lib.mkIf cfg.enable {
|
||||
hardware.nvidia = lib.mkForce {
|
||||
modesetting.enable = false;
|
||||
};
|
||||
services.xserver.videoDrivers = [
|
||||
"amdgpu"
|
||||
];
|
||||
boot = {
|
||||
extraModulePackages = [ config.boot.kernelPackages.kvmfr ];
|
||||
extraModprobeConfig = ''
|
||||
options kvmfr static_size_mb=128
|
||||
'';
|
||||
kernelParams = [
|
||||
"vfio-pci.ids=10de:2204,10de:1aef"
|
||||
];
|
||||
kernelModules = [ "kvmfr" ];
|
||||
initrd.availableKernelModules = [
|
||||
"nvme"
|
||||
"xhci_pci"
|
||||
"ahci"
|
||||
"usbhid"
|
||||
"sd_mod"
|
||||
"uas"
|
||||
"usbcore"
|
||||
"usb_storage"
|
||||
"vfat"
|
||||
"nls_cp437"
|
||||
"nls_iso8859_1"
|
||||
"virtio_pci"
|
||||
"virtio_blk"
|
||||
"virtio_net"
|
||||
"virtio_ring"
|
||||
];
|
||||
initrd.kernelModules = [
|
||||
"vfio_pci"
|
||||
"vfio_iommu_type1"
|
||||
"vfio"
|
||||
|
||||
"amdgpu"
|
||||
"kvmfr"
|
||||
"kvm-amd"
|
||||
];
|
||||
};
|
||||
services = {
|
||||
udev.extraRules = ''
|
||||
SUBSYSTEM=="kvmfr", OWNER="user", GROUP="kvm", MODE="0660"
|
||||
'';
|
||||
};
|
||||
|
||||
environment.systemPackages = [
|
||||
pkgs.looking-glass-client
|
||||
];
|
||||
};
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue