Port-i386 archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

VirtualBox Guest Drivers


here is a patch to VirtualBox to build VirtualBox Guest Additions for NetBSD:


This work is based on the NetBSD 2013 GSoC project that was never finished.

Missing/broken pieces

 - I have not tried i386. amd64 works.

 - Shared folders not implemented

 - 3D builds and sort of works. I can't tell if the problems are in the patch or
   if it is a general virtualbox problem.

   I have tried only glxinfo and glxgears, and the problem is that OpenGL
   always occupies the whole screen. With glxinfo the screen blinks black
   when the program is run but is restored after it finishes.
   glxgears displays the gears in default size at upper left corner, while
   rest of the screen goes black.

 - X11 vboxvideo usually crashes VirtualBox with a guru meditation when starting
   or quitting X or when switching virtual console. But when X starts correctly 
   seems to be stable.

   Again I can't tell if this is a problem in the patch or a general VirtualBox

Build instructions:

1. Build kBuild. kBuild needs to be checked out from SVN at

   Patch for NetBSD:
   This is against kbuild svn rev 2720

   Build command is
   ./kBuild/env.sh --full gmake -f bootstrap.gmk

2. Download and extract VirtualBox 4.3.14 sources. Apply the patch.

3. In VirtualBox sources root dir create file LocalConfig.kmk:


   Set VBOX_NETBSD_SRC to point to your NetBSD kernel source dir, if
   default /usr/src/sys is not correct

4. Build command in VirtualBox root dir:

KBUILD_PATH=$(pwd)/kBuild /path/to/your/kbuild/sources/out/netbsd.amd64/release/stage/kBuild/bin/netbsd.amd64/kmk build-release-amd64

Install instructions:

1. Build results are in directory out/netbsd.amd64/release/bin/additions

2. modload vboxdrm.kmod

3. modload vboxguest.kmod

   This will also create /dev/vboxguest device node.
   Make sure the file does not exist before doing the modload, or the file
   won't be created and can point to wrong device major.

   Applications need read-write access to this, so chmod permissions 
   so that normal users beside root can access the device (needed to run

4. Start VBoxService

5. Copy vboxvideo_drv_110.so to /usr/X11R7/lib/modules/drivers/vboxvideo_drv.so

6. Copy vboxmouse_drv_110.so to /usr/X11R7/lib/modules/drivers/vboxmouse_drv.so

7. Copy VBoxOGL*.so to /usr/X11R7/lib

8. ln -s /usr/X11R7/lib/VBoxOGL.so /usr/X11R7/lib/modules/dri/vboxvideo_dri.so

9. Configure X mouse and graphics:

Section "InputDevice"
        Identifier  "Mouse0"
        Driver      "vboxmouse"
        Option      "ZAxisMapping" "4 5 6 7"

Section "Device"
        Identifier  "Card0"
        Driver      "vboxvideo"

10. Add to your .xinitrc or .xsession:
    VBoxClient --display
    VBoxClient --clipboard

    I have not tried VBoxClient --seamless


P.S. please CC me, I'm not on the list.

Home | Main Index | Thread Index | Old Index