Openni_launch package was installed and launched as expected. I tried to visualize the image in RViz, but VirtualBox crushed.
Several things I have tried:
1. maximized the video memory to 128MB
2. enabled 3D acceleration; installed and ran glxgears to check 3D display
3. tried Your First Ros-based System and installed the ros package on it. It crushed as well.
the message I got when running RViz is listed:
ying@ying-VirtualBox:~$ rosrun rviz rviz
[ INFO] [1368602221.176551342]: rviz revision number 1.8.17
[ INFO] [1368602221.176694386]: compiled against OGRE version 1.7.3 (Cthugha)
[ INFO] [1368602221.231104711]: Loading general config from [/home/ying/.rviz/config]
OpenGL Warning: glFlushVertexArrayRangeNV not found in mesa table
OpenGL Warning: glVertexArrayRangeNV not found in mesa table
OpenGL Warning: glCombinerInputNV not found in mesa table
OpenGL Warning: glCombinerOutputNV not found in mesa table
OpenGL Warning: glCombinerParameterfNV not found in mesa table
OpenGL Warning: glCombinerParameterfvNV not found in mesa table
OpenGL Warning: glCombinerParameteriNV not found in mesa table
OpenGL Warning: glCombinerParameterivNV not found in mesa table
OpenGL Warning: glFinalCombinerInputNV not found in mesa table
OpenGL Warning: glGetCombinerInputParameterfvNV not found in mesa table
OpenGL Warning: glGetCombinerInputParameterivNV not found in mesa table
OpenGL Warning: glGetCombinerOutputParameterfvNV not found in mesa table
OpenGL Warning: glGetCombinerOutputParameterivNV not found in mesa table
OpenGL Warning: glGetFinalCombinerInputParameterfvNV not found in mesa table
OpenGL Warning: glGetFinalCombinerInputParameterivNV not found in mesa table
OpenGL Warning: glDeleteFencesNV not found in mesa table
OpenGL Warning: glFinishFenceNV not found in mesa table
OpenGL Warning: glGenFencesNV not found in mesa table
OpenGL Warning: glGetFenceivNV not found in mesa table
OpenGL Warning: glIsFenceNV not found in mesa table
OpenGL Warning: glSetFenceNV not found in mesa table
OpenGL Warning: glTestFenceNV not found in mesa table
OpenGL Warning: Assertion failed: isNewKey, file /mnt/tinderbox/add-4.2/src/VBox/GuestHost/OpenGL/state_tracker/state_texture.c, line 631
OpenGL Warning: Assertion failed: isNewKey, file /mnt/tinderbox/add-4.2/src/VBox/GuestHost/OpenGL/state_tracker/state_texture.c, line 631
On RViz trouble shooting wiki page, I saw this
No OpenGL Support
OgreGLSupport.cpp:57: virtual void Ogre::GLSupport::initialiseExtensions(): Assertion `pcVer && "Problems getting GL version string using glGetString"' failed.
This means you don't have OpenGL support available. Running through a virtualization environment that does not support hardware accelerated 3D is a common cause of this, as is not having the correct drivers installed under Linux.
In general, if there are proprietary graphics drivers for your hardware in Linux, use them instead of the (non accelerated) open source ones.
I wanted to know what driver were installed by VB. In this VB manual chapter, it says
the Guest Additions are designed to be installed inside a virtual machine after the guest operating system has been installed. They consist of device drivers and system applications that optimize the guest operating system for better performance and usability.
The Guest Additions installer will add several device drivers to the Linux driver database and then invoke the hardware detection wizard, which may be installed in the guest operating system.
Re: Should I install host device drivers in a guest?
You can't install OS specific device drivers in the guest. That is what the guest additions are for.
The guest is actually running on virtual devices and not what your host actually uses.
As VB installed general drivers for hardware on guest, in my case, on virtual Ubuntu which does not support image processing, OpenGL and so on.
Therefore, it seems to be the end of the road.
Working with Kinect in ROS on Virtual Ubuntu on Windows 7 just does not work out.