Llevo usando 12.04 como invitado en mi portátil desde hace bastante tiempo y funciona perfectamente.
Hoy un colega me preguntó sobre el rendimiento en 3D del invitado. Nunca se me ocurrió usar cosas en 3D en el invitado, pero de todos modos estaba interesado en los resultados, así que habilité la aceleración 3D
en el menú de VirtualBox para mi instalación y reinicié la máquina virtual.
Al ejecutar glxgears
aparecen advertencias extrañas, además la ventana con los engranajes giratorios se queda en negro (adjunté la salida de consola abajo).
Ejecutar glxgears
sin tener habilitada la aceleración 3D funciona, obtengo ~570 FPS y ninguna advertencia.
Las bajísimas FPS no son mi problema aquí, pero la ventana negra de glxgears es extraña. ¿Mi suposición es que hay algún problema con el controlador nVidia del sistema anfitrión? (mirando el sufijo NV
de las advertencias)
ortang@vbox-12-04:~$ glxgears
Advertencia de OpenGL: glFlushVertexArrayRangeNV no encontrado en la tabla de mesa
Advertencia de OpenGL: glVertexArrayRangeNV no encontrado en la tabla de mesa
Advertencia de OpenGL: glCombinerInputNV no encontrado en la tabla de mesa
Advertencia de OpenGL: glCombinerOutputNV no encontrado en la tabla de mesa
Advertencia de OpenGL: glCombinerParameterfNV no encontrado en la tabla de mesa
Advertencia de OpenGL: glCombinerParameterfvNV no encontrado en la tabla de mesa
Advertencia de OpenGL: glCombinerParameteriNV no encontrado en la tabla de mesa
Advertencia de OpenGL: glCombinerParameterivNV no encontrado en la tabla de mesa
Advertencia de OpenGL: glFinalCombinerInputNV no encontrado en la tabla de mesa
Advertencia de OpenGL: glGetCombinerInputParameterfvNV no encontrado en la tabla de mesa
Advertencia de OpenGL: glGetCombinerInputParameterivNV no encontrado en la tabla de mesa
Advertencia de OpenGL: glGetCombinerOutputParameterfvNV no encontrado en la tabla de mesa
Advertencia de OpenGL: glGetCombinerOutputParameterivNV no encontrado en la tabla de mesa
Advertencia de OpenGL: glGetFinalCombinerInputParameterfvNV no encontrado en la tabla de mesa
Advertencia de OpenGL: glGetFinalCombinerInputParameterivNV no encontrado en la tabla de mesa
Advertencia de OpenGL: glDeleteFencesNV no encontrado en la tabla de mesa
Advertencia de OpenGL: glFinishFenceNV no encontrado en la tabla de mesa
Advertencia de OpenGL: glGenFencesNV no encontrado en la tabla de mesa
Advertencia de OpenGL: glGetFenceivNV no encontrado en la tabla de mesa
Advertencia de OpenGL: glIsFenceNV no encontrado en la tabla de mesa
Advertencia de OpenGL: glSetFenceNV no encontrado en la tabla de mesa
Advertencia de OpenGL: glTestFenceNV no encontrado en la tabla de mesa
369 fotogramas en 5.0 segundos = 73.647 FPS
El anfitrión es un ordenador portátil Dell con Windows 7 (64 bits) (Precision E4600) con un CPU i7-2820QM
y una tarjeta gráfica nVidia Quadro 2000M
(versión del controlador 311.10).
El invitado es una instalación actualizada de 12.04 LTS, con las herramientas de invitado instaladas.
Alguna información adicional, ejecutando la herramienta de test de soporte de unity:
ortang@vbox-12-04:~$ /usr/lib/nux/unity_support_test -p
Advertencia de OpenGL: glFlushVertexArrayRangeNV no encontrado en la tabla de mesa
Advertencia de OpenGL: glVertexArrayRangeNV no encontrado en la tabla de mesa
Advertencia de OpenGL: glCombinerInputNV no encontrado en la tabla de mesa
Advertencia de OpenGL: glCombinerOutputNV no encontrado en la tabla de mesa
Advertencia de OpenGL: glCombinerParameterfNV no encontrado en la tabla de mesa
Advertencia de OpenGL: glCombinerParameterfvNV no encontrado en la tabla de mesa
Advertencia de OpenGL: glCombinerParameteriNV no encontrado en la tabla de mesa
Advertencia de OpenGL: glCombinerParameterivNV no encontrado en la tabla de mesa
Advertencia de OpenGL: glFinalCombinerInputNV no encontrado en la tabla de mesa
Advertencia de OpenGL: glGetCombinerInputParameterfvNV no encontrado en la tabla de mesa
Advertencia de OpenGL: glGetCombinerInputParameterivNV no encontrado en la tabla de mesa
Advertencia de OpenGL: glGetCombinerOutputParameterfvNV no encontrado en la tabla de mesa
Advertencia de OpenGL: glGetCombinerOutputParameterivNV no encontrado en la tabla de mesa
Advertencia de OpenGL: glGetFinalCombinerInputParameterfvNV no encontrado en la tabla de mesa
Advertencia de OpenGL: glGetFinalCombinerInputParameterivNV no encontrado en la tabla de mesa
Advertencia de OpenGL: glDeleteFencesNV no encontrado en la tabla de mesa
Advertencia de OpenGL: glFinishFenceNV no encontrado en la tabla de mesa
Advertencia de OpenGL: glGenFencesNV no encontrado en la tabla de mesa
Advertencia de OpenGL: glGetFenceivNV no encontrado en la tabla de mesa
Advertencia de OpenGL: glIsFenceNV no encontrado en la tabla de mesa
Advertencia de OpenGL: glSetFenceNV no encontrado en la tabla de mesa
Advertencia de OpenGL: glTestFenceNV no encontrado en la tabla de mesa
Cadena de proveedor de OpenGL: Humper
Cadena de renderizador de OpenGL: Chromium
Cadena de versión de OpenGL: 2.1 Chromium 1.9
No renderizado por software: sí
No en lista negra: sí
Configuración fbconfig GLX: sí
Textura GLX desde mapa de bits: sí
Textura GL npot o texturas rectangulares: sí
Programa de vértices GL: sí
Programa de fragmentos GL: sí
Objeto de búfer de vértices GL: sí
Objeto de trama GL: sí
La versión GL es 1.4+: sí
Unity 3D compatible: sí
La interfaz gráfica funciona suavemente, sin embargo no he activado nada extravagante (todo por defecto).
He encontrado algunos enlaces donde informan que la aceleración 3D funciona bien en un invitado 12.04, incluso ejecutan juegos allí sin pérdida importante de rendimiento.
Encontré una publicación similar en stackoverflow pero se cerró por estar fuera de tema:
¡Cualquier pista para resolver ese problema sería agradable!