Team OS : Your Only Destination To Custom OS !!

Welcome to TeamOS Community, Register or Login to the Community to Download Torrents, Get Access to Shoutbox, Post Replies, Use Search Engine and many more features. Register Today!

Locked Which virtualization software take advantage of the GPU passthrough?

Status
Not open for further replies.

kikorosa

Member
Banned
Downloaded
15.1 GB
Uploaded
5.8 GB
Ratio
0.38
Seedbonus
97
Upload Count
0 (0)
Member for 4 years
I have an OMEN by HP Laptop 15-dc0006nl. I tried in every way to install Windows Embedded POSReady 7 x64 on my second hard disk, but there was no way, so I thought about the virtual machine. I tried Oracle VirtualBox, but apart from the installation, nothing was fine. It was very slow. So I thought of VMWare Worsktation Player. There has been a significant increase, to the point of installing Internet Explorer 11, Microsoft Edge and McAfee Life Safe. The videos in Full HD at 50 fps reads them, but presents a slight micro stuttering, as if they were played on old hardware. Obviously the GPU is not virtualized. Although VMWare is launched with the NVIDIA graphics processor, the Windows performance index shows me everything at score 7.9, except for Windows Aero and Direct3D which have a score between 2.9 and 3.5. Is there any virtualization software that takes advantage of the GPU passthrough?
 

juanamm

Uploader
Uploader
Power User
✅ Verified Member
Member
Downloaded
5.7 GB
Uploaded
448.6 GB
Ratio
78.11
Seedbonus
134,973
Upload Count
217 (223)
Member for 5 years
@kikorosa, thread moved here H&R Center.
Good Lucky :)
 

Cyler

🤴 Super Admin
⚡OS Master
Downloaded
510.5 GB
Uploaded
24.5 TB
Ratio
49.16
Seedbonus
27,587
Upload Count
1 (1)
Member for 6 years
Virtualization is a VERY complex subject so let's try to make some things... a bit more clear. First of all some terminology so we make sure we speak the same "language".

The hypervisor is the master program that emulates the virtual machines. There are 2 types of the hypervisor, Type 1 and Type 2.
Type 1 is when the Hypervisor has control of the hardware and to do that it runs below the OS
Type 2 when the OS has control of the hardware and hypervisor is running on top of the OS
Host OS means the OS that the hypervisor is running on and Guest os is the OS that runs inside a virtual machine. When we run a Type 1 visor we don't have a host OS as the vizor itself becomes the host OS too.


rPbfW.png


In your particular case, you run a type 2 visor (Vmware pro I assume) which means you have a host OS that runs a guest OS in a VM and there lies your problem as Windows (and its drivers ) do poorly with sharing hardware resources and drivers. After all, they weren't designed for such use. When the Host OS has the graphic card under its control, no other guest os can use it because 2 OS cant use the same hardware. That is why Vmware player and pro don't support passthrough as they have no control of the physical hardware.

To solve your problem you need a type 1 Hypervisor (Hyper V, ESXi) or a version of Linux with kvm/Vfio, for the simple reason that Linux versions especially the ones that are built for VMs (proxmox VE for example) can release a PCI card from their control and so they can pass it through to the guest os in a VM (assuming you have 2 or more cards). Another solution can be with Hyper V and the use of 2 graphic cards or the embedded iGPU and a PCI card using a technology called DDA. In that case, Windows can run on the iGPU of the CPU, and the virtual machine can use the PCI card(s).

If you like to further expand, you can use ESXi and SR IOV (google is your friend) to actually have 2 or more Virtual machines on the same graphic card (assuming it can take it).

You also have to know that Nvidia is actively (through drivers) trying to stop users from virtualizing (passthrough) any consumer card (gtx etc) and only allows it on a Quadro or Tesla. AMD, on the other hand, has no such issues. That is one of the main reasons why most passthrough builds happens on Linux as you can "trick" the drivers to report that the run on a normal OS and not inside a hypervisor.

I hope it helped and welcome the wonderful world of virtualization.
 
Last edited:

kikorosa

Member
Banned
Downloaded
15.1 GB
Uploaded
5.8 GB
Ratio
0.38
Seedbonus
97
Upload Count
0 (0)
Member for 4 years
I thank you infinitely. I don't have Hyper-V because I have the Home version of Windows 10, therefore, since I have a GTX 1050, from what I understand it is impossible to use the virtualization of my video card. The main problem due to my PC is that there are no drivers for Windows 7, they only exist for 10 x86 and 10 x64, so I cannot install the OS on the second hard disk. Trying from setup.exe, although the second hard drive is empty, it tells me "Unable to write to already partitioned hard drives". If I boot the DVD from the BIOS, it tells me "The BIOS in this system is not fully ACPI compliant. Please contact your system vendor for an updated BIOS." From what I understand, correct me if I'm wrong, the problem is with the NVME SSD driver. Even if I want to install the operating system on the second hard disk, which is an HDD, to be able to read all the hard disks, Windows 7 boot needs the NVME driver. On the internet I found thousands of solutions, but only with Samsung NVME drivers, instead my SSD is SanDisk. I tried to insert all compatible drivers downloaded from DriverPack Solution with NTLite, but that didn't help me. On the HP site there are other OMENs (not mine) that have drivers for Windows 7, but they are only in .exe (NTLite wants them in .inf). Is there any way I can add all the necessary drivers on NTLite? You told me about Linux, but I also heard about unRAID. At this point, it is impossible to install Windows 7 on the second hard disk, you could tell me how I can use unRAID and create virtual machines on the second hard disk, therefore keeping Windows 10 on the SSD and choosing in dual boot which of the two operating systems to use?
 

Cyler

🤴 Super Admin
⚡OS Master
Downloaded
510.5 GB
Uploaded
24.5 TB
Ratio
49.16
Seedbonus
27,587
Upload Count
1 (1)
Member for 6 years
Some questions if I may before we try to solve this.

1st, Why do you need windows 7 POS? Your laptop (I have an HP Omen too) is very capable to run Windows 10 just fine (try Win 10 LTSC from here). See there are several myths about what embedded can or can't do but I want to see your reason 1st before we move on.

Now some extra info on windows embedded (or IoT for win 10). One of the reasons you don't have drivers is because no one will make drivers for PoS. In normal windows, there is a framework in which you can write software that is hardware agnostic and doesn't need any hardware interaction. Look at games for example. The game isn't written for any specific graphics card, it just asks for specific things to happen (show this here and that, there) and the windows with the drivers will guide the hardware on how to do it. In windows, embedded you can write software tho for any hardware device. That poses some challenges to the coding of a driver and so companies, unless they want to sell a specific item in that particular market, avoid writing drivers as it would take a lot more resources/time for almost zero benefits.

Think of it like, Nvidia writing a 2080ti driver for windows embedded. No company will use a 2080ti in a Point of Sale system so why spend the time/money to do so? It's not exactly that simple, but just to give you an idea.

It's practically the same issue as having windows 10 running on a desktop/laptop vs a tablet. There’s so much that doesn’t need to be loaded when you have a tablet (most tablets, for example, use variations of the exact same hardware so one driver works for almost all) onto every device due to hardware limitations, memory, storage, and processing limits, and even the lack of need to support every piece of hardware ever built.

For those and many other reasons, it will be very hard to almost impossible to make it work cause that version of windows wasn't built for that.

As for the drivers in .EXE format its not that big of an issue. The .exe in almost all cases is just a self-extracting archive so all you have to do is run it, let it decompress and execute the driver on any other system (even in a VM) and copy the content of the uncompressed folder and use that as a driver. Note tho that the hardware drivers of normal windows 7 in most cases won't work with windows embedded for the above reasons even if they share a similar driver model but never hurts giving it a try.

The ACPI error is actually backward. Your UEFI is far more advanced than what your windows 7 Emb. can understand and so it comes to the conclusion that its... wrong :p Some bios allow for legacy mode but I don't think that current laptops have that option anymore.
 
Last edited:

Rajohn99

Member
Downloaded
29.3 GB
Uploaded
59.6 GB
Ratio
2.03
Seedbonus
718
Upload Count
0 (0)
Member for 8 years
there is a video on linus tech tips channel using gpu passthrough method on virtualization
 

kikorosa

Member
Banned
Downloaded
15.1 GB
Uploaded
5.8 GB
Ratio
0.38
Seedbonus
97
Upload Count
0 (0)
Member for 4 years
Virtualization is a VERY complex subject so let's try to make some things... a bit more clear. First of all some terminology so we make sure we speak the same "language".

The hypervisor is the master program that emulates the virtual machines. There are 2 types of the hypervisor, Type 1 and Type 2.
Type 1 is when the Hypervisor has control of the hardware and to do that it runs below the OS
Type 2 when the OS has control of the hardware and hypervisor is running on top of the OS
Host OS means the OS that the hypervisor is running on and Guest os is the OS that runs inside a virtual machine. When we run a Type 1 visor we don't have a host OS as the vizor itself becomes the host OS too.


rPbfW.png


In your particular case, you run a type 2 visor (Vmware pro I assume) which means you have a host OS that runs a guest OS in a VM and there lies your problem as Windows (and its drivers ) do poorly with sharing hardware resources and drivers. After all, they weren't designed for such use. When the Host OS has the graphic card under its control, no other guest os can use it because 2 OS cant use the same hardware. That is why Vmware player and pro don't support passthrough as they have no control of the physical hardware.

To solve your problem you need a type 1 Hypervisor (Hyper V, ESXi) or a version of Linux with kvm/Vfio, for the simple reason that Linux versions especially the ones that are built for VMs (proxmox VE for example) can release a PCI card from their control and so they can pass it through to the guest os in a VM (assuming you have 2 or more cards). Another solution can be with Hyper V and the use of 2 graphic cards or the embedded iGPU and a PCI card using a technology called DDA. In that case, Windows can run on the iGPU of the CPU, and the virtual machine can use the PCI card(s).

If you like to further expand, you can use ESXi and SR IOV (google is your friend) to actually have 2 or more Virtual machines on the same graphic card (assuming it can take it).

You also have to know that Nvidia is actively (through drivers) trying to stop users from virtualizing (passthrough) any consumer card (gtx etc) and only allows it on a Quadro or Tesla. AMD, on the other hand, has no such issues. That is one of the main reasons why most passthrough builds happens on Linux as you can "trick" the drivers to report that the run on a normal OS and not inside a hypervisor.

I hope it helped and welcome the wonderful world of virtualization.
In fact, I have no problem with Windows 10. I would simply like to test Windows 7 since I purchased a PC for my girlfriend with Windows Vista and I would like to upgrade to 7 plus buy another regenerated PC with Windows 7 for my brother. I wanted to install Windows 7 POS on my PC's second hard drive, but apparently it can't. I activated legacy mode, but it didn't help me. I also had the same problem with Windows 7 Ultimate installed on an external hard disk and I thought it was a problem with the hard disk itself, but I installed Windows 10 with WinToUSB safely there. I choose POS for the simple reason that the only Windows 7 still being updated are POS and Thin. For the PCs of my loved ones, having respectively 1 and 2 GB of RAM, it is fine and indeed it is even more suitable Thin. Since mine has 8, I downloaded POS from microosft.com. However, I try to integrate all the drivers from another OMEN's hp.com site on NTLite. Can I do nothing about unRAID?

there is a video on linus tech tips channel using gpu passthrough method on virtualization
Thanks a lot, I have already seen 2 GPUs in the first few seconds and I understand that it is not something for me, since I need a virtualized GPU on the same host.

Some questions if I may before we try to solve this.

1st, Why do you need windows 7 POS? Your laptop (I have an HP Omen too) is very capable to run Windows 10 just fine (try Win 10 LTSC from here). See there are several myths about what embedded can or can't do but I want to see your reason 1st before we move on.

Now some extra info on windows embedded (or IoT for win 10). One of the reasons you don't have drivers is because no one will make drivers for PoS. In normal windows, there is a framework in which you can write software that is hardware agnostic and doesn't need any hardware interaction. Look at games for example. The game isn't written for any specific graphics card, it just asks for specific things to happen (show this here and that, there) and the windows with the drivers will guide the hardware on how to do it. In windows, embedded you can write software tho for any hardware device. That poses some challenges to the coding of a driver and so companies, unless they want to sell a specific item in that particular market, avoid writing drivers as it would take a lot more resources/time for almost zero benefits.

Think of it like, Nvidia writing a 2080ti driver for windows embedded. No company will use a 2080ti in a Point of Sale system so why spend the time/money to do so? It's not exactly that simple, but just to give you an idea.

It's practically the same issue as having windows 10 running on a desktop/laptop vs a tablet. There’s so much that doesn’t need to be loaded when you have a tablet (most tablets, for example, use variations of the exact same hardware so one driver works for almost all) onto every device due to hardware limitations, memory, storage, and processing limits, and even the lack of need to support every piece of hardware ever built.

For those and many other reasons, it will be very hard to almost impossible to make it work cause that version of windows wasn't built for that.

As for the drivers in .EXE format its not that big of an issue. The .exe in almost all cases is just a self-extracting archive so all you have to do is run it, let it decompress and execute the driver on any other system (even in a VM) and copy the content of the uncompressed folder and use that as a driver. Note tho that the hardware drivers of normal windows 7 in most cases won't work with windows embedded for the above reasons even if they share a similar driver model but never hurts giving it a try.

The ACPI error is actually backward. Your UEFI is far more advanced than what your windows 7 Emb. can understand and so it comes to the conclusion that its... wrong :p Some bios allow for legacy mode but I don't think that current laptops have that option anymore.
The firmware driver is an .exe even after extraction. The problem I encountered, which was why I didn't download the .exe from the HP site, is that Windows immediately start the setup after the extraction. Regarding the firmware, see the attached screenshot. Really, I don't want to risk it. All I need is the .inf file of my firmware that I can mount on Windows 7.

Immagine.png
 

bsdaddict

Member
Downloaded
20.6 GB
Uploaded
129.3 GB
Ratio
6.28
Seedbonus
2,429
Upload Count
0 (0)
Member for 4 years
The main problem due to my PC is that there are no drivers for Windows 7, they only exist for 10 x86 and 10 x64, so I cannot install the OS on the second hard disk. Trying from setup.exe, although the second hard drive is empty, it tells me "Unable to write to already partitioned hard drives". If I boot the DVD from the BIOS, it tells me "The BIOS in this system is not fully ACPI compliant. Please contact your system vendor for an updated BIOS." From what I understand, correct me if I'm wrong, the problem is with the NVME SSD driver. Even if I want to install the operating system on the second hard disk, which is an HDD, to be able to read all the hard disks, Windows 7 boot needs the NVME driver. On the internet I found thousands of solutions, but only with Samsung NVME drivers, instead my SSD is SanDisk. I tried to insert all compatible drivers downloaded from DriverPack Solution with NTLite, but that didn't help me. On the HP site there are other OMENs (not mine) that have drivers for Windows 7, but they are only in .exe (NTLite wants them in .inf). Is there any way I can add all the necessary drivers on NTLite? You told me about Linux, but I also heard about unRAID. At this point, it is impossible to install Windows 7 on the second hard disk, you could tell me how I can use unRAID and create virtual machines on the second hard disk, therefore keeping Windows 10 on the SSD and choosing in dual boot which of the two operating systems to use?

Hi kikorosa. I upgraded to an M.2 SSD a few months ago and eventually found the win7 NVME drivers I needed at sevenforums. Google "sevenforums NVME" it should be the first hit, if not the title is "Nvme Driver Solved - Windows 7 Help Forums". The third post in that thread has Nvme-Win7x64.zip (and x32, if anyone else needs) linked which contains two .msu's. (I extracted both x64 .msu's I installed previously and verified embedded 7 support in the pkgProperties.txt's, because halfway through writing this post it dawned on me that maybe it didn't... they do.) They're definitely not Samsung only, I have an ADATA/XPG Gammix M.2 SSD and the driver works for me. I did apply it to a running system, however. if you have a spare drive to use you could install there, install driver and then clone.

To install with NVME support there's three options afaik, although I'm not a pro at this so I'm sure someone can correct me if needed.. You can 1) incorporate the NVME driver into the install media, 2) add the NVME driver to a USB stick to manually load during windows setup, or 3) install 7 to an HDD, add NVME driver and then clone it to the NVME SSD. Seems I used the third option, because I added the NVME driver to a Win7 install I'd been running for years in order to make sure I could see the NVME drive and could dualboot 10 and 7 from it. After I was sure I had installed it correctly in win7 I rebooted to the win10 install media and did a fresh install to the NVME SSD, then made a partition for win7 on the NVME SSD, and then finally cloned win7 to that partition.

Many of the Win7 iso's I've seen here have NVME support added already. Sounds like the POSReady one you're using doesn't, unfortunately. You could always try to find an iso that does, that's one option... Otherwise, option 2 above is probably the easiest. Of course, that needs to have a .inf too, and all we have so far is a .msu. Luckily, sevenforums also has a tutorial that covers extracting files from a .msu. The tutorial's title is "Windows 7: Windows Update - Extract an Update", google should get you there quickly.

I've never done option 1, rebuilding the iso and integrating drivers, so I can't really help you there. I did notice that the MS support page for KB2990941 has a walkthrough for that, though.

Anyway, good luck and hope this helps!
 

Uncle Mac

🤴 Super Admin
Downloaded
91.3 GB
Uploaded
305.8 TB
Ratio
3428.86
Seedbonus
3,465,378
Upload Count
333 (352)
Member for 10 years
With the last comment Im Locking and Completing this..

This has turned in to a chit chat fest and nothing more
 
Status
Not open for further replies.
Top