Lachlan Smith

Blog

Blog

Home NAS 2016 Part 5 GPU Passthrough revisited

Public

April 14, 2017

I feel like I need to provide an update on GPU passthrough. As it so happens, there is likely to be an IRQ interrupt clash resulting in audio lockups over HDMI and pixelated graphic corruption.

The solution to this is to force windows to use your graphics card in message based rather than line based interrupts. GeForce cards use the line based interrupts by default but support message based interrupts. I was able to get a far more stable graphics performance using the utility linked to from this post on the guru3d forums. This utility forces message base (MSI) interrupts on selected devices. I was able to force my Geforce graphics card to use MSI and stability improved remarkably.

You can check if your card supports MSI by running the following command and looking for MSI: Enable. When this is followed by a minus (-) symbol MSI is enabled and not used, and when followed by a plus (+) symbol MSI is enabled and used for that particular device.

Code

$ sudo lspci -v -s 4:00.0
04:00.0 VGA compatible controller: NVIDIA Corporation Device 1c82 (rev a1) (prog-if 00 [VGA controller])
        Subsystem: eVga.com. Corp. Device 6251
        Physical Slot: 2
        Flags: bus master, fast devsel, latency 0, IRQ 65
        Memory at fa000000 (32-bit, non-prefetchable) [size=16M]
        Memory at e0000000 (64-bit, prefetchable) [size=256M]
        Memory at f0000000 (64-bit, prefetchable) [size=32M]
        I/O ports at d000 [size=128]
        Expansion ROM at fb000000 [disabled] [size=512K]
        Capabilities: [60] Power Management version 3
        Capabilities: [68] MSI: Enable+ Count=1/1 Maskable- 64bit+
        Capabilities: [78] Express Legacy Endpoint, MSI 00
        Capabilities: [100] Virtual Channel
        Capabilities: [250] Latency Tolerance Reporting
        Capabilities: [128] Power Budgeting <?>
        Capabilities: [420] Advanced Error Reporting
        Capabilities: [600] Vendor Specific Information: ID=0001 Rev=1 Len=024 <?>
        Capabilities: [900] #19
        Kernel driver in use: vfio-pci
        Kernel modules: nvidiafb, nouveau

You can read more about interrupts on the VFIO tips blog.

Tags: homelab nas

  • No comments have been posted

You cannot post comments. Sign in.