XCP-ng
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Register
    • Login

    Hiding hypervisor from guest to prevent Nvidia Code 43

    Scheduled Pinned Locked Moved Development
    41 Posts 14 Posters 15.7k Views 6 Watching
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • S Offline
      slavD @olivierlambert
      last edited by slavD

      olivierlambert
      Of course I am not alone and of course I am not implying to leave all other work and deal with this. I was just asking if it is a possible (albeit "hacky") and strictly DIY solution (no up-streams or anything like that).

      I will gladly look into this some more over the incoming months when I have the time and preferably appropriate hardware.

      1 Reply Last reply Reply Quote 0
      • I Offline
        imtrobin
        last edited by

        Actually, there are patchs for Xen, and it is working with Xen with driver patcher, but it doesn't work on Xenserver/XCP sadly

        https://github.com/sk1080/nvidia-kvm-patcher/issues/45#issuecomment-574680727
        https://lists.xenproject.org/archives/html/xen-devel/2016-07/msg01713.html

        I'm not familiar with Xen code base (I took a look, and ugh) enough to know where to apply the hiding, but I don't think it should take months for someone familiar with code base.

        MAngel666 created this issue in sk1080/nvidia-kvm-patcher

        open Windows 10 Enterprise 1903 + nvidia 441.66 on xen works! #45

        1 Reply Last reply Reply Quote 0
        • olivierlambertO Offline
          olivierlambert Vates 🪐 Co-Founder CEO
          last edited by olivierlambert

          This is exactly the patch I asked Xen team about, and the answer was: "this is an ugly hack that will never be upstream" (until Xen will expose an interface to made those changes).

          edit: I'll reask when Xen code base will be more ready to get this 🙂

          1 Reply Last reply Reply Quote 1
          • I Offline
            imtrobin
            last edited by

            From the github post, it seems the blacklisting the GPU works, which is similar to how kvm does it, without modification to Xen works?

            1 Reply Last reply Reply Quote 0
            • olivierlambertO Offline
              olivierlambert Vates 🪐 Co-Founder CEO
              last edited by

              So I asked some people in Xen team: CPUID/MSR changes needed to be done for this use case aren't ready yet.

              1 Reply Last reply Reply Quote 1
              • ForzaF Online
                Forza
                last edited by

                Is it not better to vote with your wallet and choose something else than nvidia?

                1 Reply Last reply Reply Quote 0
                • I Offline
                  imtrobin
                  last edited by

                  Thanks Oliver,

                  Sadly, ATI is being going downhill since AMD bought them over.

                  1 Reply Last reply Reply Quote 0
                  • S Offline
                    smithereens
                    last edited by

                    olivierlambert There is a huge and growing market for virtualised GPU: gaming, AI, 3D. Personally I'd pay $$ for this feature alone - having spent days trying to get this working. I do understand that Nvidia will use their might to squash this functionality - as it is not in their commercial interests - they'll claim it circumvents their EULA.

                    1 Reply Last reply Reply Quote 0
                    • S Offline
                      smithereens
                      last edited by

                      I'll look for update on this topic... but for now I'm going to drop XCP-NV and go (back) to KVM. 😞

                      1 Reply Last reply Reply Quote 0
                      • olivierlambertO Offline
                        olivierlambert Vates 🪐 Co-Founder CEO
                        last edited by

                        It's XCP-ng not "XCP-NV" 😉 We'll continue to track if it's possible to do so one day.

                        S 1 Reply Last reply Reply Quote 0
                        • S Offline
                          smithereens @olivierlambert
                          last edited by

                          olivierlambert oops.. typo. Apologies

                          1 Reply Last reply Reply Quote 0
                          • R Offline
                            r1 XCP-ng Team
                            last edited by

                            olivierlambert imtrobin I had worked on CPUID for exposing temperature data of CPU to Guest (Dom0). May be we can use same.

                            # cpuid | grep -I hypervisor_id
                               hypervisor_id = "Microsoft Hv"
                            

                            Is this the one which should be hidden?

                            I 1 Reply Last reply Reply Quote 0
                            • olivierlambertO Offline
                              olivierlambert Vates 🪐 Co-Founder CEO
                              last edited by

                              I'm not entirely sure about that, I need to ask one Xen dev.

                              1 Reply Last reply Reply Quote 0
                              • Z Offline
                                ziomario
                                last edited by ziomario

                                This post is deleted!
                                1 Reply Last reply Reply Quote 0
                                • I Offline
                                  imtrobin @r1
                                  last edited by

                                  r1 said in Hiding hypervisor from guest to prevent Nvidia Code 43:

                                  olivierlambert imtrobin I had worked on CPUID for exposing temperature data of CPU to Guest (Dom0). May be we can use same.

                                  # cpuid | grep -I hypervisor_id
                                     hypervisor_id = "Microsoft Hv"
                                  

                                  Is this the one which should be hidden?

                                  I'm have no idea if that is enough, but maybe. How can we try this? For kvm , they do this

                                  https://wiki.archlinux.org/index.php/PCI_passthrough_via_OVMF#.22Error_43:_Driver_failed_to_load.22_on_Nvidia_GPUs_passed_to_Windows_VMs

                                  1 Reply Last reply Reply Quote 0
                                  • E Offline
                                    eangulus
                                    last edited by

                                    What is the current status on this? We are hoping for this soonish, and if it isn't coming at all or not for a long time, then we need to plan a migration to another platform.

                                    Our use case is for business, but we are not a very big business and do not wish to spend thousands on buying Quadro cards when much cheaper GTX and other consumer cards will do the job perfectly if it wasn't for Nvidia's artificial limitation.

                                    We run a custom program for Kitchen Design as RemoteApps under an RDS setup. At this point, we are running under Quadro 4000 cards, as we already had them, but due to this, I cannot upgrade to Server 2019 as there are no drivers. To upgrade we have to upgrade cards, and the best bang for buck cards in our use, are P4000 which do run under Server 2019, but are $1000+ each. WE want to have 2 cards in each server, totalling 4 cards. We can get even better bang for buck on some RTX 2070's or the like for nearly half the cost.

                                    The only thing stopping us is this stupid Code 43 "bug".

                                    We are willing to wait as we haven't quite hit the limits of our current setup, but we are heading close to it, and we need to plan our next move. I love XCP-ng and honestly cannot fault it for anything, other than having the capability to hide the fact the VM is a vm.

                                    We have already ran a test setup on Proxmox and the Code 43 fix works perfectly.

                                    1 Reply Last reply Reply Quote 1
                                    • olivierlambertO Offline
                                      olivierlambert Vates 🪐 Co-Founder CEO
                                      last edited by olivierlambert

                                      If it's for business, why not trying to pour some resources to make this work? 🙂 It's Open Source with pro support backed, so there's 2 approaches:

                                      • contribute to speed up the process
                                      • pay to get someone (individual or company) to do it

                                      One priority can't be a priority for everyone. But you can have a influence on that with 2 different levers.

                                      E 1 Reply Last reply Reply Quote 0
                                      • P Offline
                                        Pyro2677
                                        last edited by

                                        I've been using Xcp-NG and Xen for awhile now and unfortunately i have had to change everything from Xen to Esxi because this feature is not there. hypervisor.cpuid.v0=false is the only line I have to enter for it to hide the GPU's in all our servers.

                                        It's a shame as i understand it isn't a priority but this has been asked for many years from the google searches i have done. When this feature is available I will come back to Xen unfortunately until then I have to use Esxi

                                        1 Reply Last reply Reply Quote 1
                                        • olivierlambertO Offline
                                          olivierlambert Vates 🪐 Co-Founder CEO
                                          last edited by

                                          Hi!

                                          Thanks for the feedback, my previous message still apply 🙂

                                          P 1 Reply Last reply Reply Quote 0
                                          • P Offline
                                            popescunsergiu @olivierlambert
                                            last edited by

                                            olivierlambert Sorry to disturb you with the same problem
                                            I have an HP DL360 Gen9 with xcp-ng 8.2. I added a quadro p600 GPU and I get error 43 when I tried to passthrough it to a Windows 10 VM

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post