Any ideas whether you can run a Windows VM via IronHide for graphics card acceleration? I'd like to play games / watch bluray etc utilising my video card.
VirtualBox – IronHide/BumbleBee Video Acceleration Pass-Through
bumblebeenvidia-optimusvirtualbox
Related Question
- Ubuntu – Will 3D games run in a VirtualBox4-hosted Windows system under Ubuntu with Intel GMA X4500HD card
- Ubuntu – set the Optimus Nvidia card to run Unity3D with bumblebee
- Ubuntu – External displays with Bumblebee
- VirtualBox – Enable Graphics Card in VirtualBox
- Ubuntu – Qt Creator not working with VirtualBox 3D Acceleration
- Ubuntu – Ubuntu 18.04 Gnome hangs on VirtualBox with 3D acceleration enabled
Best Answer
Perhaps an explanation between graphics in a virtual guest and the actual host O/S would help here.
First the basics:
Everything in a virtual guest is an abstraction - what this means is that every device and driver in a virtual guest O/S does not depend upon the actual host device & driver.
To give you a simple example. A mouse is seen as a specific device - the linux kernel sees this device and allows the guest operating system to use that device. This "virtual device" is mapped to the real physical device by the virtualisation tool - VirtualBox, VMWare, Xen etc. Thus the guest operating system never needs to understand what the physical mouse is, it only sees what the virtualisation tool has mapped to it. The value of this approach is that you can move the virtual guest to different Hosts - it will operate in the same way because there is no direct dependency on the Host itself.
To show this in practice you can run
lsusb
on both the host and guest - on my host O/S I have the following USB devices:On my guest oneiric O/S I can see the following USB devices - these are different from the host:
Any guest O/S whether windows or linux will only see this virtual guest device.
Host graphics vs guest graphics
It is the same for graphics.
My host graphics is:
On my guest oneiric O/S it can see the following graphics card - you can see it is not the same as the host:
Likewise - a Windows Guest O/S will see only a similar virtual guest device.
In the murky world of VirtualBox, the Guest Additions which you can manually install (or in 11.10 - jockey sees and recommends you install it) installs additional kernel modules (or device drivers for Windows Guests) to allow the guest O/S enhanced access to your host O/S graphics. Again its not a direct mapping - but allows 3D accelerated graphics to be seen.
If an application inside your virtual machine uses 3D features through the OpenGL programming interface (or for a Windows guest O/S - its DirectX calls), instead of emulating them in software (which would be slow), VirtualBox will attempt to use your host's 3D hardware.
Again I stress, the guest O/S doesnt see your actual graphics card it just passes the OpenGL (or DirectX) call from the Guest directly to the Host hardware to process.
In VirtualBox settings you should change the video card memory and 3D graphics card setting. Your guest O/S will then see a "3D Accelerated card" with 128Mb RAM. It doesnt matter if your host graphics card is better than this - your guest O/S will only see this "simple" abstracted virtual graphics card.
Since you mentioned you are using a Windows Guest O/S - the 2D checkbox is applicable to you since a similar pass-through of programming interface calls is performed.
Bumblebee/IronHide is an either/or graphics switching mechanism - you are using either integrated graphics or the higher capacity NVidia/ATI graphics but not both at the same time.
Since the OpenGL (or DirectX) capability of the higher switchable graphics is that more greater than the integrated chips set, you will see a relatively enhanced graphics performance with Guest O/S graphics intensive applications. However this improvement is not as dramatic as running the same application natively on the host since it is still working within the constraints of the 128MB virtual guest graphics device.
source