El acceso a la GPU se hace cada vez más necesario en entornos de contenedores y victualizados. La popularización de las máquinas virtuales y contenedores han traido nuevos desafíos en términos de compatibilidad con las GPUs. Google y Collabora están implementando soporte para este tipo de tecnologías, y prueba de ellos es Virgil3D, un proyecto de código abierto con el que se pueden crear GPUs virtuales o vGPUs para los entornos virtuales. Por ejemplo, en QEMU podemos disfrutar de esto mediante virglrenderer y virtio-gpu como se peude ver en el diagrama anterior…
Las aplicaciones de la máquina virtual que funcione con OpenGL se podrá usar sin modificaciones de Mesa (o con otras pilas propietarias de otros desarrolladores), canalizando los comandos de hardware a través de virtio-gpu en vez de hacerlo directamente por Mesa. Una ve la máquina física o host recibe los comandos de hardware para el manejo de los gráficos, serán interpretados por virglrenderer como si se tratase de un entorno normal con OpenGL. Pues bien, ahora existen nuevas mejoras al respecto, como por ejemplo la implementación en QEMU del soporte para usar aceleración de OpenGL ES (para poder ejecutar QEMU en entornos que solo admiten OpenGL ES), mejoras hacia la compatibilidad de Virglrenderer con OpenGL ES 2.0, y también se trabaja para OPenGL ES 3.0. Además, se han estado incluyendo algunas mejoras y nuevas funciones para Virglrenderer. Pero no son las únicas mejoras, ya se trabaja en mucho más de cara al futuro…
De todas formas, no son los únicos que se están preocupando de esto, también NVIDIA y AMD están estudiando y desarrollando sus propias soluciones en este sentido debido a la importancia, quizás no tando para la mayoría de usuarios de escritorio, pero sí para todas las empresas o usuarios que necesiten implementar entornos virtuales como los que solemos usar en la nube.