You are not logged in.
I am attempting to follow the Wiki on setting up VGA passthrough but whenever I enable vfio_pci in mkinitcpio my system will not boot.
I followed the instructions to install the edk2.git-ovmf-x64 without issue.
My syslinux.cfg looks like this:
LABEL arch
MENU LABEL Arch Linux
LINUX ../vmlinuz-linux
APPEND root=/dev/sda2 rw intel_iommu=on
INITRD ../initramfs-linux.imgAfter a reboot here is my dmesg | grep -e DMAR -e IOMMU output:
[ 0.000000] ACPI: DMAR 0x00000000B725C9A8 0000B8 (v01 INTEL BDW 00000001 INTL 00000001)
[ 0.000000] DMAR: IOMMU enabled
[ 0.022573] DMAR: Host address width 39
[ 0.022574] DMAR: DRHD base: 0x000000fed90000 flags: 0x0
[ 0.022579] DMAR: dmar0: reg_base_addr fed90000 ver 1:0 cap c0000020660462 ecap f0101a
[ 0.022579] DMAR: DRHD base: 0x000000fed91000 flags: 0x1
[ 0.022582] DMAR: dmar1: reg_base_addr fed91000 ver 1:0 cap d2008c20660462 ecap f010da
[ 0.022582] DMAR: RMRR base: 0x000000b9e7d000 end: 0x000000b9e8bfff
[ 0.022583] DMAR: RMRR base: 0x000000bb000000 end: 0x000000bf1fffff
[ 0.022584] DMAR-IR: IOAPIC id 8 under DRHD base 0xfed91000 IOMMU 1
[ 0.022585] DMAR-IR: HPET id 0 under DRHD base 0xfed91000
[ 0.022586] DMAR-IR: x2apic is disabled because BIOS sets x2apic opt out bit.
[ 0.022586] DMAR-IR: Use 'intremap=no_x2apic_optout' to override the BIOS setting.
[ 0.022783] DMAR-IR: Enabled IRQ remapping in xapic mode
[ 0.404133] DMAR: No ATSR found
[ 0.404191] DMAR: dmar0: Using Queued invalidation
[ 0.404234] DMAR: dmar1: Using Queued invalidation
[ 0.404240] DMAR: Setting RMRR:
[ 0.404251] DMAR: Setting identity map for device 0000:00:02.0 [0xbb000000 - 0xbf1fffff]
[ 0.404512] DMAR: Setting identity map for device 0000:00:14.0 [0xb9e7d000 - 0xb9e8bfff]
[ 0.404527] DMAR: Setting identity map for device 0000:00:1a.0 [0xb9e7d000 - 0xb9e8bfff]
[ 0.404541] DMAR: Setting identity map for device 0000:00:1d.0 [0xb9e7d000 - 0xb9e8bfff]
[ 0.404551] DMAR: Prepare 0-16MiB unity mapping for LPC
[ 0.404556] DMAR: Setting identity map for device 0000:00:1f.0 [0x0 - 0xffffff]
[ 0.404661] DMAR: Intel(R) Virtualization Technology for Directed I/O
[ 2.379417] [drm] DMAR active, disabling use of stolen memoryI am using 2 Nvidia GTX 760's for my video cards. Here is the output of lspci -nn | grep -iP "NVIDIA"
01:00.0 VGA compatible controller [0300]: NVIDIA Corporation GK104 [GeForce GTX 760] [10de:1187] (rev a1)
01:00.1 Audio device [0403]: NVIDIA Corporation GK104 HDMI Audio Controller [10de:0e0a] (rev a1)
02:00.0 VGA compatible controller [0300]: NVIDIA Corporation GK104 [GeForce GTX 760] [10de:1187] (rev a1)
02:00.1 Audio device [0403]: NVIDIA Corporation GK104 HDMI Audio Controller [10de:0e0a] (rev a1)My vfio.conf looks like:
options vfio-pci ids=10de:1187,10de:0e0aMy current bootable /etc/mkinitcpio.conf is:
MODULES="vfio vfio_iommu_type1 vfio_virqfd"But when I add vfio_pci to my mkinitcpio.conf modules my computer fails to boot. The boot looks like: (Please note this is typed from a picture on my phone, so forgive any typo's)
Loading ../vmlinuz-linux... ok
Loading ../initramfs-linux.img... ok
Probing EDD (edd=off to disable)... ok
early console in decompress_kernel
input_data: 0x000000001a1a3b4
input_len: 0x00000000412c31
output: 0x0000000010000000
ouput_len: 0x00000000e1b9a8
run_size: 0x00000000f65000
Decompressing Linux... Parsing ELF... done.
Booting the kernel.
:: running early hook [udev]
starting version 228
_It just stalls there and never finishes booting until i remove vfio_pci.
I've been trying to find a solution online, but I have not found a solution as of yet. Does anyone have any suggestions on a possible fix for this?
Last edited by GuloGuloDesu (2016-02-10 17:41:14)
Offline
I am also want to set up pci-passthrough. And had similar problems.
Please, correct me if I'm wrong. When you passing your VGA cards to vfio, they became unavailable for your host system, thus you have to boot using your integrated VGA. You need to set up in BIOS primary VGA to integrated, and plug one of your display to it, then you will be able boot to your host system.
BTW, what CPU do you use?
Have you tried to use linux-lts-vfio kernel from aur?
Last edited by Druid (2016-02-09 09:21:40)
Offline
Thank you for your response Druid.
After re-reading everything I found my problem. Since I was using 2 of the same graphics cards, they both had the same PCI location. I am unsure why they have the same location, but they do.
The fix that I found was that I replaced one of the cards with another model Nvidia card, and I was able to get Arch to boot with the vfio_pci.
I'm not 100% sure that I have everything working, and I am still building and testing things, but at least I can boot the OS. I think I also have the vfio assigned properly.
Offline