Index: /trunk/src/VBox/Additions/x11/vboxvideo/Makefile.kmk
===================================================================
--- /trunk/src/VBox/Additions/x11/vboxvideo/Makefile.kmk	(revision 50484)
+++ /trunk/src/VBox/Additions/x11/vboxvideo/Makefile.kmk	(revision 50485)
@@ -124,4 +124,5 @@
 	$(PATH_ROOT)/src/VBox/Additions/common/VBoxVideo/VBVABase.cpp \
 	$(PATH_ROOT)/src/VBox/GuestHost/HGSMI/HGSMICommon.cpp \
+	$(PATH_ROOT)/src/VBox/GuestHost/HGSMI/HGSMIMemAlloc.cpp \
 	$(PATH_ROOT)/src/VBox/Runtime/common/alloc/heapsimple.cpp \
 	$(PATH_ROOT)/src/VBox/Runtime/common/alloc/heapoffset.cpp
Index: /trunk/src/VBox/Additions/x11/vboxvideo/vbva.c
===================================================================
--- /trunk/src/VBox/Additions/x11/vboxvideo/vbva.c	(revision 50484)
+++ /trunk/src/VBox/Additions/x11/vboxvideo/vbva.c	(revision 50485)
@@ -32,4 +32,8 @@
 
 #include "vboxvideo.h"
+
+#ifdef XORG_7X
+# include <stdlib.h>
+#endif
 
 /**************************************************************************
@@ -143,4 +147,23 @@
 }
 
+static DECLCALLBACK(void *) hgsmiEnvAlloc(void *pvEnv, HGSMISIZE cb)
+{
+    NOREF(pvEnv);
+    return calloc(1, cb);
+}
+
+static DECLCALLBACK(void) hgsmiEnvFree(void *pvEnv, void *pv)
+{
+    NOREF(pvEnv);
+    free(pv);
+}
+
+static HGSMIENV g_hgsmiEnv =
+{
+    NULL,
+    hgsmiEnvAlloc,
+    hgsmiEnvFree
+};
+
 /**
  * Initialise VirtualBox's accelerated video extensions.
@@ -168,5 +191,6 @@
     rc = VBoxHGSMISetupGuestContext(&pVBox->guestCtx, pvGuestHeapMemory,
                                     cbGuestHeapMemory,
-                                    offVRAMBaseMapping + offGuestHeapMemory);
+                                    offVRAMBaseMapping + offGuestHeapMemory,
+                                    &g_hgsmiEnv);
     if (RT_FAILURE(rc))
     {
