[vfio-users] [help] 2 identical GPUs in Arch

sL1pKn07 SpinFlo sl1pkn07 at gmail.com
Tue Feb 23 19:21:48 UTC 2016


tnx :D

if you have problems with the unsafe interrupts:

└───╼  cat /etc/modprobe.d/vfio.conf
options vfio_iommu_type1 allow_unsafe_interrupts=1

greetings

2016-02-23 20:14 GMT+01:00 Garland Key <david.garland.key at gmail.com>:
> @sL1pKn07 SpinFlo
>
> This is a jackpot of information - THANK YOU!  I'll let you know if/when I'm
> able to make this work :D
>
> On Tue, Feb 23, 2016 at 2:03 PM sL1pKn07 SpinFlo <sl1pkn07 at gmail.com> wrote:
>>
>> double identical gpu, i mean
>>
>> greetings
>>
>> 2016-02-23 20:00 GMT+01:00 sL1pKn07 SpinFlo <sl1pkn07 at gmail.com>:
>> > my arch script:
>> >
>> > systemd service:
>> >
>> > [Unit]
>> > Description=Binds devices to vfio-pci
>> > After=syslog.target
>> >
>> > [Service]
>> > Type=oneshot
>> > RemainAfterExit=yes
>> > ExecStart=-/usr/bin/setup_kvm_vfio.sh
>> >
>> > [Install]
>> > WantedBy=multi-user.target
>> >
>> > setup_kvm_vfio.sh script:
>> >
>> > #!/bin/bash
>> >
>> > # Get pci-id host GPU
>> > host_gpu=$(lspci | grep "GTX 770" | awk '{print $1;}')
>> > host_gpu_audio=$(echo $host_gpu | sed -e 's/\.0$/.1/')
>> >
>> > # Get pci-id/vendor-id/device-id guest GPU
>> > guest_gpu=$(lspci | grep "GTX TITAN Black" | awk '{print $1;}')
>> > guest_gpu_vendor=$(cat /sys/bus/pci/devices/0000:$guest_gpu/vendor)
>> > guest_gpu_device=$(cat /sys/bus/pci/devices/0000:$guest_gpu/device)
>> > guest_gpu_audio=$(echo $guest_gpu | sed -e 's/\.0$/.1/')
>> > guest_gpu_audio_vendor=$(cat
>> > /sys/bus/pci/devices/0000:$guest_gpu_audio/vendor)
>> > guest_gpu_audio_device=$(cat
>> > /sys/bus/pci/devices/0000:$guest_gpu_audio/device)
>> >
>> > # Get pci-id/vendor-id/device-id guest USB
>> > # usb_pci=$(lspci | grep "NEC" | head -1 | awk '{print $1;}')
>> > # usb_pci_vendor=$(cat /sys/bus/pci/devices/0000:$usb_pci/vendor)
>> > # usb_pci_device=$(cat /sys/bus/pci/devices/0000:$usb_pci/device)
>> >
>> > # Get pci-id/vendor-id/device-id guest SATA
>> > # sata_pci=$(lspci | grep "Marvell Technology Group Ltd. 88SE9120
>> > SATA" | awk '{print $1;}')
>> > # sata_pci_vendor=$(cat /sys/bus/pci/devices/0000:$sata_pci/vendor)
>> > # sata_pci_device=$(cat /sys/bus/pci/devices/0000:$sata_pci/device)
>> >
>> > # Set real driver for host GPU/GPU-audio
>> > echo nvidia        > /sys/bus/pci/devices/0000:$host_gpu/driver_override
>> > echo snd-hda-intel >
>> > /sys/bus/pci/devices/0000:$host_gpu_audio/driver_override
>> >
>> > # Set vfio-pci driver for guest GPU/GPU-audio/USB/SATA
>> > echo vfio-pci      >
>> > /sys/bus/pci/devices/0000:$guest_gpu/driver_override
>> > echo vfio-pci      >
>> > /sys/bus/pci/devices/0000:$guest_gpu_audio/driver_override
>> > # echo vfio-pci       >
>> > /sys/bus/pci/devices/0000:$usb_pci/driver_override
>> > # echo vfio-pci       >
>> > /sys/bus/pci/devices/0000:$sata_pci/driver_override
>> >
>> > # Load vfio-pci kernel module
>> > modprobe vfio-pci
>> >
>> > # Set GPU/GPU-audio/USB/SATA vfio-pci id
>> > echo $guest_gpu_vendor $guest_gpu_device             >
>> > /sys/bus/pci/drivers/vfio-pci/new_id
>> > echo $guest_gpu_audio_vendor $guest_gpu_audio_device >
>> > /sys/bus/pci/drivers/vfio-pci/new_id
>> > # echo $usb_pci_vendor $usb_pci_device                 >
>> > /sys/bus/pci/drivers/vfio-pci/new_id
>> > # echo $sata_pci_vendor $sata_pci_device               >
>> > /sys/bus/pci/drivers/vfio-pci/new_id
>> >
>> > # Unbind GPU/GPU-audio/USB/SATA real driver
>> > echo 0000:$guest_gpu       >
>> > /sys/bus/pci/devices/0000:$guest_gpu/driver/unbind
>> > echo 0000:$guest_gpu_audio >
>> > /sys/bus/pci/devices/0000:$guest_gpu_audio/driver/unbind
>> > # echo 0000:$usb_pci          >
>> > /sys/bus/pci/devices/0000:$usb_pci/driver/unbind
>> > # echo 0000:$sata_pci         >
>> > /sys/bus/pci/devices/0000:$sata_pci/driver/unbind
>> >
>> > # Bind GPU/GPU-audio/USB/SATA to vfio-pci
>> > echo 0000:$guest_gpu       > /sys/bus/pci/drivers/vfio-pci/bind
>> > echo 0000:$guest_gpu_audio > /sys/bus/pci/drivers/vfio-pci/bind
>> > # echo 0000:$usb_pci        > /sys/bus/pci/drivers/vfio-pci/bind
>> > # echo 0000:$sata_pci       > /sys/bus/pci/drivers/vfio-pci/bind
>> >
>> > # Load nvidia kernel module
>> > modprobe nvidia
>> >
>> > zero config about vfio/pcistub on the grub/modprobe.d/modules-load/etc,
>> > except:
>> >
>> > GRUB_CMDLINE_LINUX_DEFAULT="intel_iommu=on"
>> >
>> > taked from:
>> > http://www.altechnative.net/2015/04/05/virtually-gaming-part-2-evolution-consolidation-and-move-to-kvm/
>> >
>> > that configuration have a identical GPU like you
>> >
>> > i hope helps you
>> >
>> > greetings




More information about the vfio-users mailing list