Skip to content

Commit

Permalink
[DOCS] Include new features.
Browse files Browse the repository at this point in the history
  • Loading branch information
foxlet committed Jun 7, 2019
1 parent b7c5556 commit 9b18ef2
Show file tree
Hide file tree
Showing 3 changed files with 10 additions and 4 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -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.
4 changes: 4 additions & 0 deletions docs/guide-networking.md
Original file line number Diff line number Diff line change
Expand Up @@ -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 \
```
8 changes: 5 additions & 3 deletions docs/guide-passthrough.md
Original file line number Diff line number Diff line change
@@ -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`.
Expand All @@ -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.

Expand All @@ -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.
Expand All @@ -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 \
```

0 comments on commit 9b18ef2

Please sign in to comment.