PCI Passthrough: Difference between revisions

From Proxmox VE
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
To enable PCI passthrough, you need to configure:  
To enable PCI passthrough, you need to configure:  


== INTEL ==
== INTEL ==


<br> edit: <source lang="bash">
<br> edit: <source lang="bash">
Line 14: Line 14:
</source>  
</source>  


<br>


Then run "dmesg | grep -e DMAR -e IOMMU" from the command line. &nbsp;If there is no output, then something is wrong.


Then run "dmesg | grep -e DMAR -e IOMMU" from the command line. &nbsp;If there is no output, then something is wrong.
== AMD ==
 
==AMD==  


Edit:  
Edit:  
Line 26: Line 26:
</source>  
</source>  


Change:  
Change: <source lang="bash">
<source lang="bash">
GRUB_CMDLINE_LINUX_DEFAULT="quiet"  
GRUB_CMDLINE_LINUX_DEFAULT="quiet"  
</source>
</source> To: <source lang="bash">
To:  
<source lang="bash">
GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on"  
GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on"  
</source>
</source> Then: <source lang="bash">
Then:
<source lang="bash">
# update-grub
# update-grub
# echo "options kvm allow_unsafe_assigned_interrupts=1" > /etc/modprobe.d/kvm_iommu_map_guest.conf  
# echo "options kvm allow_unsafe_assigned_interrupts=1" > /etc/modprobe.d/kvm_iommu_map_guest.conf  
Line 41: Line 36:
</source>  
</source>  


[[Category: HOWTO]]
 
 
== Determine your PCI card address, and configure your VM ==
 
 
 
Locate your card using "lspci". &nbsp;The address should be in the form of: 04:00.0
 
Manually edit the node.conf file. &nbsp;It can be located at:&nbsp;/etc/pve/nodes/proxmox3/qemu-server/vmnumber.conf.
 
Add this line to the end of the file: "hostpci0: 04:00.0"
 
 
 
== Verify Operation ==
 
 
 
Start the VM from the UI.
 
Enter the qm monitor. &nbsp;"qm monitor vmnumber"
 
Verify that your card is listed here: "info pci"
 
Then install drivers on your guest OS. &nbsp;
 
 
 
NOTE: Card support might be limited to 2 or 3 devices.
 
NOTE: This process will remove the card from the proxmox host OS. &nbsp;
 
[[Category:HOWTO]]

Revision as of 15:32, 30 August 2013

To enable PCI passthrough, you need to configure:

INTEL


edit:

#vi /etc/default/grub

change

GRUB_CMDLINE_LINUX_DEFAULT="quiet"

to

GRUB_CMDLINE_LINUX_DEFAULT="quiet intel_iommu=on"

then

# update-grub
# reboot


Then run "dmesg | grep -e DMAR -e IOMMU" from the command line.  If there is no output, then something is wrong.

AMD

Edit:

# vi /etc/default/grub

Change:

GRUB_CMDLINE_LINUX_DEFAULT="quiet"

To:

GRUB_CMDLINE_LINUX_DEFAULT="quiet amd_iommu=on"

Then:

# update-grub
# echo "options kvm allow_unsafe_assigned_interrupts=1" > /etc/modprobe.d/kvm_iommu_map_guest.conf 
# reboot


Determine your PCI card address, and configure your VM

Locate your card using "lspci".  The address should be in the form of: 04:00.0

Manually edit the node.conf file.  It can be located at: /etc/pve/nodes/proxmox3/qemu-server/vmnumber.conf.

Add this line to the end of the file: "hostpci0: 04:00.0"


Verify Operation

Start the VM from the UI.

Enter the qm monitor.  "qm monitor vmnumber"

Verify that your card is listed here: "info pci"

Then install drivers on your guest OS.  


NOTE: Card support might be limited to 2 or 3 devices.

NOTE: This process will remove the card from the proxmox host OS.