Support PCI Express

Here you can provide suggestions on how to improve the product, website, etc.
Post Reply
myxiplx
Posts: 50
Joined: 27. Aug 2008, 07:47

Support PCI Express

Post by myxiplx »

Is there any chance of being able to virtualise the PCI Express bus in the future? I was thinking today about the general lack of 3D graphics support when it comes to virtualisation, and wondered if it would be easier to simply give virtual machines access to a PCI-e slot instead of trying to emulate graphics hardware?

Full hardware access to a graphics accelerator would be great for CAD work, combine that with a server like Sun's x4240, and you could potentially run six CAD workstations off a single server, with the added benefit of them sharing sixteen hard disks in a raid array.

Of course, if you can virtualise PCI-e, the benefits are more than just CAD, you could potentially mount any PCI-e card the same way we mount CD-ROM devices now.
Sasquatch
Volunteer
Posts: 17798
Joined: 17. Mar 2008, 13:41
Primary OS: Debian other
VBox Version: PUEL
Guest OSses: Windows XP, Windows 7, Linux
Location: /dev/random

Post by Sasquatch »

I think there are limitations to what you can 'mount' in a VM. If you would mount your only graphics card to a VM, what would the Host have left? Same thing if you mount your USB keyboard and mouse to the VM, the Host won't have them anymore. If the Host would not have any graphics card, you won't even see the VM correctly and it could possibly crash your Host.
Sharing the graphics card might be possible, but the card does have to support it, and currently that's not the case.
Read the Forum Posting Guide before opening a topic.
VirtualBox FAQ: Check this before asking questions.
Online User Manual: A must read if you want to know what we're talking about.
Howto: Install Linux Guest Additions
Howto: Use Shared Folders on Linux Guest
See the Tutorials and FAQ section at the top of the Forum for more guides.
Try searching the forums first with Google and add the site filter for this forum.
E.g. install guest additions site:forums.virtualbox.org

Retired from this Forum since OSSO introduction.
myxiplx
Posts: 50
Joined: 27. Aug 2008, 07:47

Post by myxiplx »

Not necessarily. Don't forget that you can fit multiple graphics cards to a single machine. Windows 98 for example supported up to eight.

For the Sun x4240 server I mentioned above, the host OS could happily use the on board graphics card, while granting each of 6 virtual machines access to a PCIe slot containing their own graphics card.

I know there's a lot of talk about 3D and virtualisation, and not a lot of progress. I just wondered if it might not be easier to virtualise the PCIe bus which is a single common element with I believe open documentation (and hot swap support), as opposed to graphics cards which are going to be proprietary, complex, rapidly moving targets, with many different types.

And like you say, current graphics cards don't support sharing, which is why I'm wondering if this might be an easier solution. There's no need to share the card, just give each VM dedicated access to a single PCIe slot.

I'm mentioning it here because I think VirtualBox running on Solaris would be a better fit for our CAD workstations than anything VMware offer.
TerryE
Volunteer
Posts: 3572
Joined: 28. May 2008, 08:40
Primary OS: Ubuntu other
VBox Version: PUEL
Guest OSses: Ubuntu 10.04 & 11.10, both Svr&Wstn, Debian, CentOS
Contact:

Post by TerryE »

Actually the VBox architecture already supports this sort of plug-and-play extension at one level. In the OSE version there is nothing to stop you writing your own drivers to add into the VMM. It's just that this is a piece of snotty roll-your-own development and if you went down this route then you'd also lose all the PUEL functionality, of course.
Read the Forum Posting Guide
Google your Q site:VirtualBox.org or search for the answer before posting.
myxiplx
Posts: 50
Joined: 27. Aug 2008, 07:47

Post by myxiplx »

err... that would involve me being a developer though. Don't get me wrong, I'm all for open source, but "write it yourself" really isn't a viable answer.

I posted this in the suggestions forum in the hope the VirtualBox developers would see it, hoping that if it's a viable idea it might be something they could include in the future.
TerryE
Volunteer
Posts: 3572
Joined: 28. May 2008, 08:40
Primary OS: Ubuntu other
VBox Version: PUEL
Guest OSses: Ubuntu 10.04 & 11.10, both Svr&Wstn, Debian, CentOS
Contact:

Post by TerryE »

If you are wanting to make a formal enhancement request then this is the wrong place. The developers do track the discussions, but they're in a huddle over 1.6.6 at the moment. You need to file an enhancement request. See Forum FAQ for the links on this.
Read the Forum Posting Guide
Google your Q site:VirtualBox.org or search for the answer before posting.
myxiplx
Posts: 50
Joined: 27. Aug 2008, 07:47

Post by myxiplx »

Heh, I thought I'd best get some discussion around the idea first. I really don't have a clue about the internals of virtualisation so didn't know if this was pie in the sky, or actually something that could be feasible :)

I'll give it a week or so to see if anybody throws a spanner in the works, and then post it as an RFE.
TerryE
Volunteer
Posts: 3572
Joined: 28. May 2008, 08:40
Primary OS: Ubuntu other
VBox Version: PUEL
Guest OSses: Ubuntu 10.04 & 11.10, both Svr&Wstn, Debian, CentOS
Contact:

Post by TerryE »

Give me that week and I'll put together an architectural overview of VBox. In the meantime we not have a browse of the references at General Reading on Virtualisation :-)
Read the Forum Posting Guide
Google your Q site:VirtualBox.org or search for the answer before posting.
JerryR
Posts: 2
Joined: 15. Dec 2009, 22:38
Primary OS: Linux other
VBox Version: PUEL
Guest OSses: Windows XP

Re: Support PCI Express

Post by JerryR »

Question for TerryE: Can you point me to whatever how-to doc is available on writing/adding drivers to the VMM. I have a custom PCI card with compiled/working driver source for (host) RHEL 64 bit OS, and driver binary for (Guest) XP 32-bit OS. The binary application code that utilizes the card runs only under XP.

Thanks in advance.
TerryE
Volunteer
Posts: 3572
Joined: 28. May 2008, 08:40
Primary OS: Ubuntu other
VBox Version: PUEL
Guest OSses: Ubuntu 10.04 & 11.10, both Svr&Wstn, Debian, CentOS
Contact:

Re:

Post by TerryE »

TerryE wrote:Give me that week and I'll put together an architectural overview of VBox.
:oops:
I week can turn out to be a long time...

@JerryR, AFAIK, no such document exists other than retro-engineering this spec by going through the source as I did. It was my intention to do some architectural overview guides explaining giving a top level perspective on how this all hang together in Vbox, but things kept getting in the way. Sorry. It's still on the to-do list but now about 4 months down. I'll try to a longer answer in the next day or so.
Read the Forum Posting Guide
Google your Q site:VirtualBox.org or search for the answer before posting.
JerryR
Posts: 2
Joined: 15. Dec 2009, 22:38
Primary OS: Linux other
VBox Version: PUEL
Guest OSses: Windows XP

Re: Support PCI Express

Post by JerryR »

TerryE: Thanks for the add'l info -- no problem in terms of the doc; I had anticipated that I'd be going thru code to decipher how to get this accomplished. Really I was hoping to get a jump-start. And as to the long week, ah well. ;-} I've have had my share of those too.
Would you know of/could you recommend a starting place to locate a particular sub-group of developers that are interested in PCI/PCIX devices ? I would prefer to work in concert with others having similar interests, rather than jumping to a maverick approach.
Post Reply