From 9b18ef28780ecd3e323fc2cf71e9792174791e16 Mon Sep 17 00:00:00 2001 From: Foxlet Date: Fri, 7 Jun 2019 16:53:10 -0400 Subject: [PATCH] [DOCS] Include new features. --- README.md | 2 +- docs/guide-networking.md | 4 ++++ docs/guide-passthrough.md | 8 +++++--- 3 files changed, 10 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 6ecab4f..205251f 100644 --- a/README.md +++ b/README.md @@ -40,4 +40,4 @@ If instead of QEMU, you'd like to import the setup into Virt-Manager for further You're done! -Look in the `docs` folder for more information on adding passthrough hardware (for GPU graphics), set up bridged networking, and enabling sound features. +To fine-tune the system and improve performance, look in the `docs` folder for more information on [adding memory](docs/guide-performance.md), seting up [bridged networking](docs/guide-networking.md), adding [passthrough hardware (for GPUs)](docs/guide-passthrough.md), and enabling sound features. diff --git a/docs/guide-networking.md b/docs/guide-networking.md index 565f3af..298e5cd 100644 --- a/docs/guide-networking.md +++ b/docs/guide-networking.md @@ -51,3 +51,7 @@ Once you have set up the bridge and tun/tap on the host, you'll have to add the ``` -netdev tap,id=net0,ifname=tap0,script=no,downscript=no \ ``` +You can optionally use the `vmxnet3` driver for higher performance compared to the default e1000. Note that replacing it requires macOS El Capitan or higher. +``` + -device vmxnet3,netdev=net0,id=net0,mac=52:54:00:c9:18:27 \ +``` diff --git a/docs/guide-passthrough.md b/docs/guide-passthrough.md index 11548e7..72f1dba 100644 --- a/docs/guide-passthrough.md +++ b/docs/guide-passthrough.md @@ -1,6 +1,5 @@ Guide to PCIe Passthrough ========================= -This is a draft. ## Enable BIOS features To use PCIe Passthrough, you will need a compatible motherboard and CPU with support for iommu. Look up your motherboard manual on how to enable these features, but they are commonly named `VT-d` or `AMD Vi`. @@ -22,6 +21,9 @@ An example output might look like this: The first value (`26:00.0`) is the BDF ID, and the last (`1002:6810`) is the Device ID. Cards with a built-in audio controller have to be passed together, so note the IDs for both subdevices. +## Load the vfio-pci module +The `vfio-pci` module is not included in the kernel on all systems, you may need for load it as part of initramfs. Look up your distro's documentation on how to do this. + ## Add Kernel Flags The `iommu` kernel module is not enabled by default, but you can enable it on boot by passing the following flags to the kernel. Replace the Device IDs with your corresponding card. @@ -35,7 +37,7 @@ iommu=pt amd_iommu=on vfio-pci.ids=1002:66af,1002:ab20 iommu=pt intel_iommu=on vfio-pci.ids=1002:66af,1002:ab20 ``` -To do this permanently, you can add it to your bootloader. If you're using GRUB, for example, edit `/etc/default/grub` and add the previous lines to the `GRUB_CMDLINE_LINUX_DEFAULT` section, then run `sudo update-grub` and reboot. +To do this permanently, you can add it to your bootloader. If you're using GRUB, for example, edit `/etc/default/grub` and add the previous lines to the `GRUB_CMDLINE_LINUX_DEFAULT` section, then run `sudo update-grub` (or `sudo grub-mkconfig` on some systems) and reboot. ## Attach card to QEMU You will need to attach the cards using the BDF IDs for the audio and video controller. The following example shows the config for a card with two devices. The romfile parameter is optional. @@ -44,7 +46,7 @@ You will need to attach the cards using the BDF IDs for the audio and video cont ``` -vga none \ - -device ioh3420,bus=pcie.0,multifunction=on,port=1,chassis=1,id=port.1 \ + -device pcie-root-port,bus=pcie.0,multifunction=on,port=1,chassis=1,id=port.1 \ -device vfio-pci,host=26:00.0,bus=port.1,multifunction=on,romfile=/path/to/card.rom \ -device vfio-pci,host=26:00.1,bus=port.1 \ ```