VMware vSphere

 View Only
Expand all | Collapse all

vSphere 7.0- Unable to perform PCI pass through with Nested Virtualization Enabled

SupportExperts

SupportExpertsDec 14, 2021 11:10 AM

  • 1.  vSphere 7.0- Unable to perform PCI pass through with Nested Virtualization Enabled

    Posted Jun 08, 2020 12:18 AM

    I have 2 HCL listed - VMWare servers that I recently upgraded to ESXi 7.0 from 6.5.

    I'm attempting to get DDPIO working with some dedicated legacy SSL Accelerator cards (I know, I know, it's legacy support)

    With ESXi 6.5, I was able to get around this problem by using the following syntax inside of the .vmx files and importing them.

    vhv.enable = TRUE

    hypervisor.cpuid.v0 = FALSE

    However 7.0 doesn't seem to be respecting these flags and I continue to get the following:

    PCI passthrough devices cannot be added when Nested Hardware-Assisted Virtualization is enabled. 

    I'm not seeing anything in the release notes that would indicate that these customization would stop working..

    I'm not expecting them to support the Guest or any of the passthrough configuration/functionality, but c'mon, I can't even power on the VM.

    Before I jump in and open a ticket, does anyone have any direction on doing this on ESXi 7.0?

    Thanks,

    Garrett

    Great Video on PCI Passthrough: PCI pass-through & Folding at Home on the VMware appliance (VMware vSphere ESXi 7) Jason Meers - YouTube

    EDIT: 2020-06-09:

    Added the

    vhv.allowPassthru = TRUE

    flag, and that didn't help either.



  • 2.  RE: vSphere 7.0- Unable to perform PCI pass through with Nested Virtualization Enabled

    Posted Jun 08, 2020 08:19 AM

    Hi

    According to the error that you have mentioned, You can not pass through a PCI device when the hardware virtualization feature of CPU is enabled, so you should check your VM configuration to be sure that "Expose hardware-assisted virtualization to the guest OS" is disabled.

    I hope this could be helpful



  • 3.  RE: vSphere 7.0- Unable to perform PCI pass through with Nested Virtualization Enabled

    Posted Jun 08, 2020 07:47 PM

    I think I didn't make it clear that I WANT to do that behavior, and that I could do it in previous versions. (yes in 6.7, they removed the feature, and require a flag...)

    I'm wanting to enable passthrough as well as nested virtualization the same time in the most recent version as well.



  • 4.  RE: vSphere 7.0- Unable to perform PCI pass through with Nested Virtualization Enabled

    Posted Jun 09, 2020 06:34 AM

    There is another tag in ESXi 6.7 u2, so I believe it can be used in vSphere7

    If you didn't use this tag just give it a try:

    vhv.allowPassthru = "TRUE"

    I hope it could be helpful

    Please share any solution if the problem was solved



  • 5.  RE: vSphere 7.0- Unable to perform PCI pass through with Nested Virtualization Enabled

    Posted Jun 09, 2020 02:58 PM

    Adding in this advanced config flag didn't allow the VM to boot either. It continues to get the same error.

    Any other ideas?



  • 6.  RE: vSphere 7.0- Unable to perform PCI pass through with Nested Virtualization Enabled

    Posted Feb 15, 2022 05:41 PM

    Team,

    Does anyone know how we're supposed to enable VBS (which enables and then grays out the "Expose hardware assisted virtualization to the guest OS" setting) and then pass PCI devices like video cards to a VM which requires this setting to be disabled?  Am I missing something?

    I tried adding the suggested vhv.allowPassthru and vhv.enable settings in 7.0 U3 but the VM won't register when using the UI (hangs indefinitely) and vim-cmd registers the VM but leaves it in an "invalid" status.

    Did anyone find any solutions?  Any help much appreciated.  Seems like a major oversight on the VMWare Engineering team but maybe I'm missing something on how we're supposed to use both VBS and pass through PCI devices at the same time or if we're not why because it seems like we should be able to.

    Thanks!

    Brad



  • 7.  RE: vSphere 7.0- Unable to perform PCI pass through with Nested Virtualization Enabled

    Broadcom Employee
    Posted Feb 16, 2022 08:23 AM

     wrote:

    (...)
    Am I missing something?


    https://docs.vmware.com/en/VMware-vSphere/7.0/com.vmware.vsphere.security.doc/GUID-8361F64B-DE1D-4FF1-A9FC-4DDE7056DC23.html

    Unsupported VMware Features on VBS

    The following features are not supported in a virtual machine when VBS is enabled:

    • Fault tolerance
    • PCI passthrough
    • Hot add of CPU or memory

     

    This isn't an oversight, it is as a serious engineering challenge. VMware (lower case w) can't comment on potential future capabilities or when (if) they ship.



  • 8.  RE: vSphere 7.0- Unable to perform PCI pass through with Nested Virtualization Enabled

    Posted Aug 24, 2020 01:22 AM

    I have this exact problem, had to rollback to 6.5 as that VM is critical

    Here's a screenshot when I attempted to edit the VM config to remove and re-add while on 7 (which also didnt work)



  • 9.  RE: vSphere 7.0- Unable to perform PCI pass through with Nested Virtualization Enabled

    Posted Jan 24, 2021 12:49 AM

    Hi,

    Did you find any solution?

    Knowledge base article, sais "it is not recommended".

    But some people used to run VMs with passthrough and nested virtualization succesfully in ESXi 6.7 and before. And now it is not recommended? Surely I can accept that it is not recommended (although it would be nice to know why). But not recommended does not mean forbidden or impossible, right?

    Is there a way in latest ESXi 7.x to disable check described in kb article and and run VM with passthrough and nested virtualization together?

    Thanks,

    Marek.

     



  • 10.  RE: vSphere 7.0- Unable to perform PCI pass through with Nested Virtualization Enabled

    Posted Jan 30, 2021 06:24 PM

    Hello.

    For now we been able to bypass new checks for simltaneous use of nested virtualization and PCI passthrough with a little hack:

    • power off VM in question
    • remove VM from inventory
    • edit .vmx file of this VM, you want to have both parameters there: vhv.allowPassthru = "true" and vhv.enable = "true"
    • register VM

    But be warned - we resulted in severe performance issues with this setup and now we consider downgrading to 6.5 



  • 11.  RE: vSphere 7.0- Unable to perform PCI pass through with Nested Virtualization Enabled

    Posted Dec 14, 2021 11:10 AM

    hi gskjelstad

    Did you find a solution? thanks



  • 12.  RE: vSphere 7.0- Unable to perform PCI pass through with Nested Virtualization Enabled

    Posted Jul 15, 2022 07:51 PM

    For myself i was not able to do passthrough with k2200 video card until i put off Expose IOMMU to the guest OS in CPU option



  • 13.  RE: vSphere 7.0- Unable to perform PCI pass through with Nested Virtualization Enabled

    Posted Jun 09, 2023 08:13 AM

    Many thanks for your inspiration on that!

    I had the same problem in vSphere 8, fixed doing that:

    1) unregister vm esxi from vCenter

    2) browse datastore containing vm esxi

    3) In the vm .vmx file, add:

    vhv.allowPassthru = "TRUE"

    vhv.enable = "TRUE"

    Good luck!



  • 14.  RE: vSphere 7.0- Unable to perform PCI pass through with Nested Virtualization Enabled

    Posted Dec 08, 2023 01:58 PM

    100% legend. I've been looking at this issue on and off for months.

    The taking it out of the inventory, download the VMX file, amend then delete existing and upload amended VMX Now working.