[vbox-dev] Shared memory driver

Klaus Espenlaub klaus.espenlaub at oracle.com
Mon Aug 8 09:17:27 UTC 2016

Hi Alizée,

On 02.08.2016 16:35, Alizée Penel wrote:
> Hi,
> I am working for Genymobile which produces Genymotion Android emulator
> (https://www.genymotion.com/features/), based on VirtualBox.
> For performance needs, we have to implement a VirtualBox shared memory
> driver between guests and the host. We will intent to develop a driver
> comparable to the QEMU pipe, implemented by the Google team
> (https://android.googlesource.com/platform/external/qemu/+/emu-master-dev/docs/ANDROID-QEMU-PIPE.TXT).
> We may need a litte help from you.
> Would you be interessed by this feature ? If we develop a such driver,
> would you put it upstream ?

It is interesting, but in the end we'd prefer a generic (not Android 
specific) solution here, which helps improving the 2D/3D handling by any 
VM. The Android/QEMU pipe is pretty special, in the sense that it is 
usable for both graphics and generic other functionality.

Right now it's too early to decide if the solution would be worth 
upstreaming. As long as it doesn't have negative effects on existing 
code or guest coverage I hope that the quality of what you're doing is 
good enough to integrate it. We don't want to make anyone's life 
unnecessarily difficult, and having features in the 'official' 
VirtualBox release is normally in the best interest of all users.

> As far went our researches in VirtualBox sources, it seems that HGSMI
> interface is what we need. Am I wrong ?

HGSMI is a solution specific to the graphics device which works using 
shared memory, and is actively used there for 3D accel with the existing 
device emulation and drivers inside the VM.

Of course you can use it for doing more than graphics, but it's pushing 
the software architecture a little. Using HGSMI is only possible if the 
VGA device is active.


More information about the vbox-dev mailing list