VM Direct Access to External GPU

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

  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) :)
    VasilijF, EmilK2, BenjaminW6 and 16 others like this.
  2. Shathish@Parallels

    Shathish@Parallels Kilo Poster

    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


    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. 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.
  8. DavidW13

    DavidW13 Bit Poster

    I think our CPU should support GVT-g, the kernel should support it, and Parallels Desktop should implement it.
  9. 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
  10. DavidH66


    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
  11. 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
  12. Dmitry@Parallels

    Dmitry@Parallels Staff Member

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

Share This Page