aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRaghuram Subramani <raghus2247@gmail.com>2024-06-02 10:38:58 +0530
committerRaghuram Subramani <raghus2247@gmail.com>2024-06-02 10:38:58 +0530
commita0b3b76527f45a1253b2a521a1dac87a8922a20d (patch)
tree0ddb7369e2ce5b2f6eb776841ee2f54f03c13cf8
parent7bc0a5ef1cdbaed57d5248cf6516ee412910d900 (diff)
update
-rw-r--r--compose.yaml2
-rw-r--r--debian/Vagrantfile10
-rw-r--r--p_windows11/Vagrantfile40
-rwxr-xr-xscripts/bind-vfio.sh13
-rwxr-xr-xscripts/unbind-vfio.sh13
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