VM Direct Access to External GPU

Discussion in 'Parallels Desktop for Mac Feature Suggestions' started by Hanterdro, Jul 26, 2017.


What kind of card would you use in guest OS if PCI passthrough were available in Parallels?

  1. GPU (Graphics card)

  2. non-GPU PCIe card

Multiple votes are allowed.
  1. Hanterdro

    Hanterdro Bit poster

    It would be cool if the external GPU could be assigned to a guest VM with direct Hardware access.

    If this would be possible we could run the external GPU on a guest Windows with original drivers and native speed (and maybe out of the box DX 12) :)
    Abadi, tonza, Ian Birchman and 37 others like this.
  2. Shathish@Parallels

    Shathish@Parallels Pro

    Hello Hanterdro, we would request you refer this article http://kb.parallels.com/122807 to know more about how the Graphics card works on Parallels Desktop. Thanks, Shathish
  3. Hanterdro

    Hanterdro Bit poster

    If I would ask for something which would be working right now I didn't have to open a feature request... right? :)

    But your article talks about Crossfire and SLI.
    I asked for giving a guest system physical access to an external GPU with high Sierra via Thunderbolt 3.
  4. JohnS41

    JohnS41 Bit poster

    But on the new MacBooks, the Thunderbolt 3 Ports is connected with the PCI and not directly with the CPU. Therefore it should be possible to route a certain Thunderbolt Port directly to the VM
  5. NathanM3

    NathanM3 Bit poster

    +1 vote for this idea.
    Provide the option to grant the Guest OS native access to a discrete GPU (laptop) or GPU card (desktop) as an alternative to the virtual GPU. This should include support for Nvidia drivers (including CUDA and SLI), AMD ATI drivers (including Crossfire) as well as OpenCL and OpenGL.

    Please note, I reviewed http://kb.parallels.com/122807 before adding my vote and suggestion details.
    RoyceG and poshd like this.
  6. poshd

    poshd Bit poster

    MacBook,thunderbolt 3 port both can connect with the PCI so that u can directly route port to the VM.
    Last edited by a moderator: Jan 22, 2018
  7. yoni

    yoni Bit poster

    Hey guys,

    Support long-shot and I'm sure this is something you guys have probably already thought of, but what if graphics card passthrough could be implemented in parallels? Apparently the graphics card device on mac isn't directly accessible making things like vfio currently impossible to use, but maybe it's worth getting Apple involved for it? This basically solves the "gaming on mac" problem, and would be natively supported by Apple's adoption of eGPU's.

    Here's what vfio looks like (4 years ago):
    Link to discussion I tried to start:
  8. VictorH6

    VictorH6 Bit poster

    Ability to use PCI devices directly in guest operating systems would be great. Current macs can utilise Thunderbolt 3 ports to connect PCIe devices at 40 Gbps, but there is huge problem with drivers availability for the devices. Connecting devices directly to Windows guest and bypassing macOS would resolve the issue. In my particular case I would connect SAS card directly to Mac, rather then use 10GbE network connected to NAS with SAS card.

    Another usage scenario for IOMMU is gaming, as described in following request: https://forum.parallels.com/threads/vfio-support.344691/ . PCI passthrough would allow to assign GPU to virtual machine and use it (play games, use CAD software etc.) as if machine had this GPU attached directly in the system, with minimal performance penalty.
    MatthewR20 likes this.
  9. LarryJ3

    LarryJ3 Bit poster

    I understand that you want to use display adapter resources to run a virtual machine. As a display adapter (or GPU as you call it) doesn't relate to the workings of a processor, not to speak of any support instructions for virtualisation, there is no effective way to use a GPU for CPU virtualisaion purposes.

    It's too specialized for computing graphics related things and thus doesn't even remotely have the feature set a CPU does.
  10. DavidW13

    DavidW13 Bit poster

    I think our CPU should support GVT-g, the kernel should support it, and Parallels Desktop should implement it.
  11. Ian Birchman

    Ian Birchman Bit poster

    GPU = Intel quick sync video

    Some programs can use the GPU in processors that are in existing CPU (Intel quick sync video)


    Wish to be able to access the GPU from Windows 10 for applications that can utilize the GPU processor

    Example: Page 7



  12. Ian Birchman

    Ian Birchman Bit poster

    I want to use a nVida card ( nVida not supported on Mac since 10.13.x ) to make calculations for the program MileStone

    So connect a eGPU to a Mac and let the Windows 10 connect to the eGPU or access IGP to use it for calculations in Windows 10

    A suggestion for speeding up Windows 10


    Ian Birchman
  13. Hi, please check this KB article for more info about eGPU using and let us know if it's not that case.
  14. Ian Birchman

    Ian Birchman Bit poster

    Thanks Maria,
    I want to use / connect an eGPU device directly to VM, not to Mac via PCIe interface which requires VT-d technology support to make virtualization of such connection, but VT-d on Windows, so be used for passing an external GPU to a virtual machine. Use in program, as use the eGPU as extra performance in calculations.

  15. We'd like to inform you that the Parallels Desktop 15 is finally here.
    And Metal and better eGPU support is one of the newest features. Easy to switch to eGPU is possible with Parallels Desktop 15. Check this out.
    Please upgrade and check.
    Your feedback will be appreciated.
    Last edited: Aug 13, 2019
  16. Mac Fan

    Mac Fan Bit poster

    Please add eGPU support
  17. EmilK2

    EmilK2 Bit poster

    Do you have plans for supporting a eGPU directly in a VM? Previosly, you have said that it depends of the VT-d on Mac, but do you know, if you or Apple has planned to support this eventually? Could really use it for the future development on my companys
    Last edited by a moderator: Jan 14, 2020
  18. DavidH66

    DavidH66 Bit poster

    Qemu is a KVM that runs on osx, and I believe qemu in general has pci passthrough. Whether the end result is a workable way of running winxp with discreet graphics, I don't know. It sounds like a nightmare though.

    Not only are you working with a niche version of the KVM client on a (relatively) niche host os, if it works you now have to deal with getting it to work properly with XP, since windows support of recent discreet cards only goes back to 7.

    I can guarantee that the total time that it takes to get this working would exceed the sum of all reboots into bootcamp, especially on one of Apple's stupid quick ssds
  19. RobertS63

    RobertS63 Bit poster

    The feature you're looking for requires hardware support for IOMMU and Intel VT-d, both of which are factory deleted by Apple. Even if you install Linux on a Macbook Pro and set up IOMMU on a virtual machine, it wont work because the hardware feature was deliberately removed by Apple in favor of Apple's own low-level hardware interfaces such as Metal Graphics API and the hypervisor framework. This is beyond the scope of what Parallels can do
  20. Dmitry@Parallels

    Dmitry@Parallels Parallels Team

    Hi @EmilK2, currently there is not technical possibility to implement eGPU passthrough to a VM.

Share This Page