Files

34 lines
646 B
Nix
Raw Permalink Normal View History

2025-01-08 08:05:24 -06:00
{
writeShellApplication,
kmod,
systemd,
}:
writeShellApplication {
name = "vfio_startup";
runtimeInputs = [
kmod
systemd
];
text = ''
# Stop the service that uses the GPU
echo "Stopping the display manager..."
systemctl stop display-manager.service
# Unload the GPU modules
echo "Unloading the GPU modules..."
modprobe -r nvidia_uvm
modprobe -r nvidia_drm
modprobe -r nvidia_modeset
modprobe -r nvidia
# Insert the vfio modules
echo "Inserting the vfio modules..."
modprobe vfio
modprobe vfio_pci
modprobe vfio_iommu_type1
echo "Aaaand... off you go!"
'';
}