diff options
author | Raghuram Subramani <raghus2247@gmail.com> | 2024-06-02 10:38:58 +0530 |
---|---|---|
committer | Raghuram Subramani <raghus2247@gmail.com> | 2024-06-02 10:38:58 +0530 |
commit | a0b3b76527f45a1253b2a521a1dac87a8922a20d (patch) | |
tree | 0ddb7369e2ce5b2f6eb776841ee2f54f03c13cf8 | |
parent | 7bc0a5ef1cdbaed57d5248cf6516ee412910d900 (diff) |
update
-rw-r--r-- | compose.yaml | 2 | ||||
-rw-r--r-- | debian/Vagrantfile | 10 | ||||
-rw-r--r-- | p_windows11/Vagrantfile | 40 | ||||
-rwxr-xr-x | scripts/bind-vfio.sh | 13 | ||||
-rwxr-xr-x | scripts/unbind-vfio.sh | 13 |
5 files changed, 72 insertions, 6 deletions
diff --git a/compose.yaml b/compose.yaml index 6327c98..d63c308 100644 --- a/compose.yaml +++ b/compose.yaml @@ -15,7 +15,7 @@ services: deploy: resources: limits: - cpus: '4' + cpus: '14' secrets: id_rsa: diff --git a/debian/Vagrantfile b/debian/Vagrantfile index 9ca4ce1..12fcd0f 100644 --- a/debian/Vagrantfile +++ b/debian/Vagrantfile @@ -11,14 +11,14 @@ Vagrant.configure('2') do |config| # config.vm.synced_folder './data', '/data' config.vm.synced_folder '~/shared', '/shared', type: '9p', disabled: false, accessmode: 'mapped' - config.vm.synced_folder '.', '/vagrant', disabled: true, type: '9p', disabled: false, accessmode: 'mapped' + config.vm.synced_folder '.', '/vagrant', type: '9p', disabled: false, accessmode: 'mapped' config.vm.provider :libvirt do |libvirt| - libvirt.cpus = 4 - libvirt.cputopology :sockets => '1', :cores => '2', :threads => '2' - libvirt.memory = 16384 + libvirt.cpus = 14 + libvirt.cputopology :sockets => '1', :cores => '7', :threads => '2' + libvirt.memory = 57344 - libvirt.machine_virtual_size = 35 + libvirt.machine_virtual_size = 120 libvirt.cpu_model = 'host-passthrough' end diff --git a/p_windows11/Vagrantfile b/p_windows11/Vagrantfile new file mode 100644 index 0000000..f6d7235 --- /dev/null +++ b/p_windows11/Vagrantfile @@ -0,0 +1,40 @@ +# -*- mode: ruby -*- +# vi: set ft=ruby : + +Vagrant.configure('2') do |config| + config.vm.box = 'valengus/windows11-22h2-x64' + + config.vm.box_check_update = false + + # config.vm.synced_folder './data', '/data' + # config.vm.synced_folder '~/shared', '/shared', type: '9p', disabled: false, accessmode: 'mapped' + config.vm.synced_folder '.', '/vagrant', type: '9p', accessmode: 'mapped' + + config.vm.provider :libvirt do |libvirt| + libvirt.cpus = 8 + libvirt.cputopology sockets: '1', cores: '4', threads: '2' + libvirt.memory = 32768 + + # libvirt.pci bus: '0x01', slot: '0x00', function: '0x00' + # libvirt.pci bus: '0x01', slot: '0x00', function: '0x01' + + libvirt.machine_virtual_size = 60 + libvirt.cpu_model = 'host-passthrough' + end + + config.trigger.before :up do |t| + t.info = "Binding to VFIO" + t.run = { + path: '../scripts/bind-vfio.sh' + } + end + + [ :destroy, :halt ].each do |action| + config.trigger.after action do |t| + t.info = "Unbinding VFIO" + t.run = { + path: '../scripts/unbind-vfio.sh' + } + end + end +end diff --git a/scripts/bind-vfio.sh b/scripts/bind-vfio.sh new file mode 100755 index 0000000..911b6b9 --- /dev/null +++ b/scripts/bind-vfio.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env bash +sudo modprobe -r nvidia_drm nvidia_modeset nvidia_uvm i2c_nvidia_gpu nvidia + +sudo modprobe vfio +sudo modprobe vfio_iommu_type1 +sudo modprobe vfio_pci + +systemctl --user -M compromyse@ stop pipewire.service pipewire.socket + +sudo virsh nodedev-detach pci_0000_01_00_0 +sudo virsh nodedev-detach pci_0000_01_00_1 + +systemctl --user -M compromyse@ restart pipewire.service pipewire.socket diff --git a/scripts/unbind-vfio.sh b/scripts/unbind-vfio.sh new file mode 100755 index 0000000..5469146 --- /dev/null +++ b/scripts/unbind-vfio.sh @@ -0,0 +1,13 @@ +#!/usr/bin/env bash +systemctl --user -M compromyse@ stop pipewire.service pipewire.socket + +sudo virsh nodedev-reattach pci_0000_01_00_0 +sudo virsh nodedev-reattach pci_0000_01_00_1 + +systemctl --user -M compromyse@ restart pipewire.service pipewire.socket + +sudo modprobe -r vfio_pci +sudo modprobe -r vfio_iommu_type1 +sudo modprobe -r vfio + +sudo modprobe nvidia_drm nvidia_modeset nvidia_uvm i2c_nvidia_gpu nvidia |