- #LSPCI ON WINDOWS HOW TO#
- #LSPCI ON WINDOWS UPDATE#
- #LSPCI ON WINDOWS PATCH#
- #LSPCI ON WINDOWS FULL#
Your channel and hardware ID will be different. The video card that I want to blacklist is the GTX 960, so the relevant information that I need is the channel 41:00.0 and hardware ID. The hex numbers in near the end of each line is the hardware ID. The first numbers before “VGA” is the channel of the device. The output should look something like this: 08:00.0 VGA compatible controller : NVIDIA Corporation GK208B (rev a1)Ĥ1:00.0 VGA compatible controller : NVIDIA Corporation GM206 (rev a1) Get the hardware ID and IOMMU channel of the video card: Execute lspci -nn | grep -i vga to see all video cards installed. We will detect the hardware ID of the video card and black list it.
#LSPCI ON WINDOWS PATCH#
ACS and the downsides of its kernel patch will be explained in its own portion of this guide. IOMMU information is also needed to determine if the ACS patch will be needed. The IOMMU information is to know the identifier of the device that will be attached to the guest for pass through. If it does and you try to attach the video card to the guest, either the guest will hang at boot or the whole host will lock up and need a hard reboot. The hardware IDs are used to blacklist the video card so that the host does not take ownership. Next you we need to get IOMMU configuration information and hardware IDs.
Step 2: Gathering System Information to Determine Course of Action This is only a snippet of the output I received from my own output. Intel hardware will obviously look different, and AMD hardware will not look exactly the same. perf/amd_iommu: Detected AMD IOMMU #1 (2 banks, 4 counters/bank). perf/amd_iommu: Detected AMD IOMMU #0 (2 banks, 4 counters/bank). iommu: Adding device 0000:01:00.1 to group 0
iommu: Adding device 0000:01:00.0 to group 0 iommu: Adding device 0000:00:19.7 to group 8 iommu: Adding device 0000:00:19.6 to group 8
AMD-Vi: IOMMU performance counters supported You should see something like this: AMD-Vi: IOMMU performance counters supported If you have issues later where your VM is laggy or slow, you may need to add iommu=pt after amd/intel_iommu=on.Ħ: REBOOT: None of these changes take effect until after you reboot.ħ: Check that IOMMU was enabled by running dmesg | grep -i -e DMAR -e IOMMU. If your boot time is noticeably longer try changing amd/intel_iommu=on to iommu=1 or iommu=pt. Find the line that starts with GRUB_CMDLINE_LINUX_DEFAULT= and add the following to the end of the line:
Auto will give worse groupings and make the most difficult portions of this process even harder.Įdit the file /etc/default/grub. Ryzen caveat: On any BIOS that has the options “Auto | Disabled | Enabled” you should choose enabled.
#LSPCI ON WINDOWS HOW TO#
The specific instructions on how to perform this vary between BIOS, so once again it is best to search the internet on instructions on how to perform this task. Even if you BIOS supports IOMMU already, a newer version may have better support that will fix issues causing slowness before the issue ever arises.ģ: Enable virtualization features: on Intel systems you need to enable both VT-d and VT-x.
#LSPCI ON WINDOWS UPDATE#
You can determine this by searching the web for the model of both your CPU and motherboard and “VT-d capable” or “AMD-Vi capable” depending on the hardware you are using.Ģ: Update your motherboard’s BIOS firmware: Mine was not able to enable the IOMMU feature until I updated. AMD hardware should be capable of AMD-Vi. On Intel hardware you should ensure that it is compatible with both VT-x and VT-d.
#LSPCI ON WINDOWS FULL#
Nvidia 740 Step 1: Enable IOMMU and Virtualizationġ: Ensure your hardware is compatible with a full suite of virtualization tools. This guide was written using this hardware and software: The guide will instruct on how to find your own variables to use. This guide hopes to be as complete as possible while also maintaining a step by step process and not going into so much detail that it becomes unreadable.īe careful to replace example variables used in this guide with your own variables. I have read through a large number of guides on how to set up a gaming VM in Linux and all of them seem to have a lot of holes in the process, incorrect information, or are too long and dense to be called a guide and act more as a technical paper on how IOMMU, DMA, etc.