[feature-request] PCI pass-through (VT-d) in GUI

Here you can provide suggestions on how to improve the product, website, etc.
Technologov
Volunteer
Posts: 3342
Joined: 10. May 2007, 16:59
Location: Israel

[feature-request] PCI pass-through (VT-d) in GUI

Post by Technologov »

USB pass-through and Webcam pass-through are both in GUI.

Would be nice to have PCI-pass-through in GUI also. (assuming hardware support exists)

NOTE: today this feature is buggy
#13536: VT-d: after detach, NIC device was not returned to host
#13535: VT-d: NIC Passthrough: no connectivity inside VM
Perryg
Site Moderator
Posts: 34369
Joined: 6. Sep 2008, 22:55
Primary OS: Linux other
VBox Version: OSE self-compiled
Guest OSses: *NIX

Re: [feature-request] PCI pass-through (VT-d) in GUI

Post by Perryg »

I am against this completely.
Experimental is too good a word for this feature at this point and adding it to the GUI would make it a nightmare to support.
mpack
Site Moderator
Posts: 39134
Joined: 4. Sep 2008, 17:09
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Mostly XP

Re: [feature-request] PCI pass-through (VT-d) in GUI

Post by mpack »

Agree with Perry. I'd rather see this feature deleted than promoted. I can't think of any discussion on these forums where someone had used it successfully. Lack of documentation, lack of understanding, also lack of host hardware and OS support are all major obstacles. I don't see that situation improving any time soon.
Technologov
Volunteer
Posts: 3342
Joined: 10. May 2007, 16:59
Location: Israel

Re: [feature-request] PCI pass-through (VT-d) in GUI

Post by Technologov »

Well, yes, I agree that in current state it can't go to GUI. Only if bugs are fixed.
Armando
Posts: 101
Joined: 26. May 2012, 06:50

Re: [feature-request] PCI pass-through (VT-d) in GUI

Post by Armando »

As a user of music software which needs my PCI audio card to "directly" interact with its own OS-specific low latency audio drivers, I've been waiting for many years for VBox to let me install those drivers inside a VM guest OS (which is, if I'm not mistaken, one of the potential benefits of the VT-d technology), so that I can create a VM dedicated to music thus leaving the host system much more clean and light.

Shall I assume that such a goal will not be reachable also in VBox 5 ?
.
loukingjr
Volunteer
Posts: 8851
Joined: 30. Apr 2009, 09:45
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: just about all that run

Re: [feature-request] PCI pass-through (VT-d) in GUI

Post by loukingjr »

@Armando I believe no matter how you try and accomplish it, there will always be latency problems trying to run "music software" in a VM.
OSX, Linux and Windows Hosts & Guests
There are three groups of people. Those that can count and those that can't.
Technologov
Volunteer
Posts: 3342
Joined: 10. May 2007, 16:59
Location: Israel

Re: [feature-request] PCI pass-through (VT-d) in GUI

Post by Technologov »

loukingjr: I disagree. VT-d puts latency to hardware level. So if his hardware does 1 millisecond delay, his VM will also.
michaln
Oracle Corporation
Posts: 2973
Joined: 19. Dec 2007, 15:45
Primary OS: MS Windows 7
VBox Version: PUEL
Guest OSses: Any and all
Contact:

Re: [feature-request] PCI pass-through (VT-d) in GUI

Post by michaln »

Armando wrote:Shall I assume that such a goal will not be reachable also in VBox 5 ?
Priorities depend on customer interest. There is no customer interest in PCI passthrough.
loukingjr
Volunteer
Posts: 8851
Joined: 30. Apr 2009, 09:45
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: just about all that run

Re: [feature-request] PCI pass-through (VT-d) in GUI

Post by loukingjr »

Technologov wrote:loukingjr: I disagree. VT-d puts latency to hardware level. So if his hardware does 1 millisecond delay, his VM will also.
I understand it would reduce latency. however…
Latency is normally thought of as the time delay between inputting a sound and hearing it emerge from the soundcard.
However, you can have latency issues even on hardware caused by the software being run. That same software running in a VM would only amplify the problems.
OSX, Linux and Windows Hosts & Guests
There are three groups of people. Those that can count and those that can't.
mpack
Site Moderator
Posts: 39134
Joined: 4. Sep 2008, 17:09
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Mostly XP

Re: [feature-request] PCI pass-through (VT-d) in GUI

Post by mpack »

Technologov wrote:loukingjr: I disagree. VT-d puts latency to hardware level. So if his hardware does 1 millisecond delay, his VM will also.
That sounds incorrect to me. Latency is the gap between an event and the response. For example, the time gap between a hardware interrupt being signalled, and the software interrupt handler finishing. There is no "latency at a hardware level" (or if there is, then it isn't relevant to software, virtual or not).

For some hardware (not all), it will be important that the interrupt be serviced within a maximum time period. For example, if you are getting an interrupt at the end of every 64uS video scanline, then it's important that the ISR not take longer than 64uS to handle the interrupt, otherwise it will be overwritten by the next int.

I don't see how the interrupt handler can't be affected by running in a VM. The driver is running in a timeshared environment, and is not really running at ring0 (i.e. not really at hardware priority). It only thinks it is. How could this not cause extra latency?
Technologov
Volunteer
Posts: 3342
Joined: 10. May 2007, 16:59
Location: Israel

Re: [feature-request] PCI pass-through (VT-d) in GUI

Post by Technologov »

>The driver is running in a timeshared environment
>How could this not cause extra latency?

In PCI-passthrough, the guest gets the PCI device totally. It is yanked from the host, and guest gets total control of it.
So driver works ONLY in the guest, and performance is at hardware level. Host OS gets bypassed completely. Host OS won't even detect bypassed PCI devices, the moment you attach them to guest.
mpack
Site Moderator
Posts: 39134
Joined: 4. Sep 2008, 17:09
Primary OS: MS Windows 10
VBox Version: PUEL
Guest OSses: Mostly XP

Re: [feature-request] PCI pass-through (VT-d) in GUI

Post by mpack »

As I said, the guest is not running at ring0, meaning it doesn't have first call on cpu time. That is where the latency will come from. This discussion is not about whether the host OS can see the device - that really has little to do with anything ISTM.

In any case the real problem with this feature is ignorance. People don't understand that you can't route your main graphics adapter to the VM so you can play the Windows version of Call of Duty on your Linux host. And what else is the feature good for?
Technologov
Volunteer
Posts: 3342
Joined: 10. May 2007, 16:59
Location: Israel

Re: [feature-request] PCI pass-through (VT-d) in GUI

Post by Technologov »

>As I said, the guest is not running at ring0, meaning it doesn't have first call on cpu time. That is where the latency will come from. This discussion is not about whether the host can see the device - that really has little to do with anything ISTM.

The guest is running in virtual ring0, with VT-x. So it has hardware performance.

>People don't understand that you can't route your main graphics adapter to the VM so you can play the Windows version of Call of Duty on your Linux host. And what else is the feature good for?

Theoretically VT-d hardware supports GPU passthrough, just VirtualBox doesn't supports it (Xen does). This is assuming you have 2 GPUs on host (Dual NVIDIA GeForce GTX 560 Ti, SLI), like I do. Because GPU will get yanked from the host OS.

But with Intel and AMD integrated graphics core now cost-free (integrated into most CPUs/APUs), plus NVIDIA GPU, Intel/AMD GPU can go to Linux host, with NVIDIA GPU could go to Windows guest for gaming.
So it is theoretically possible.
Perryg
Site Moderator
Posts: 34369
Joined: 6. Sep 2008, 22:55
Primary OS: Linux other
VBox Version: OSE self-compiled
Guest OSses: *NIX

Re: [feature-request] PCI pass-through (VT-d) in GUI

Post by Perryg »

Guys,
As I have stated before VT-d does work "IF" you have the time to hack it to make it work. I tested this soon after it became available and was able to pass a GPU to the guest (linux to linux). It took 2 days to achieve and even then I did not see that much of an improvement but then again I don't play games. Now the original post was adding PCi Passthrough to GUI and one that no one is going to support due to the infancy of the feature and the fact that no one is working it. Heck with all the changes I doubt that it even works anymore.

Alex,
Have you tested this on the new build? Have you tried to pass a GPU to the guest?
loukingjr
Volunteer
Posts: 8851
Joined: 30. Apr 2009, 09:45
Primary OS: Mac OS X other
VBox Version: PUEL
Guest OSses: just about all that run

Re: [feature-request] PCI pass-through (VT-d) in GUI

Post by loukingjr »

I have to agree with Perry. I can predict this will only add to the "Why doesn't my game run in VirtualBox" posts along with "I tried using PCI pass-through and it screwed up my computer!" posts. Personally I think it's a terrible idea to let normal users directly access hardware.
OSX, Linux and Windows Hosts & Guests
There are three groups of people. Those that can count and those that can't.
Post Reply