2012-09-12 15 views
10

¿Qué significa exactamente que Mesa es una implementación de OpenGL? ¿Los controladores de mi tarjeta Nvidia no implementan todas las funciones de OpenGL, etc.? Entonces, dado que los controladores de mi tarjeta Nvidia están tomando llamadas OpenGL y entregándolas al hardware, ¿qué hace exactamente Mesa? ¿Alguien puede aclarar la distinción entre Mesa y los conductores?¿En qué se diferencia Mesa de los controladores OpenGL?

Respuesta

14

¿Alguien puede aclarar la distinción entre Mesa y los controladores?

Mesa proporciona la interfaz OpenGL del lado del cliente para los controladores de GPU de código abierto basados ​​en la arquitectura DRI2/DRM. O en otras palabras: también es parte de un controlador.

Si tiene instalados los controladores propietarios de NVidia o AMD, no necesita Mesa. Si desea utilizar los controladores de código abierto (nouveau, radeon, radeonhd, intel), necesita Mesa.

1

creo LinuxQuestions.org geeman2.0 miembro del foro proporciona una buena explicación para este asunto:

OpenGL y Mesa en realidad no son dos opciones separadas, sino Mesa es un tipo específico de OpenGL.

OpenGL es simplemente una interfaz que define un conjunto estándar de funciones necesarias para dibujar gráficos en 3D. No involucra el código real que hace que estas funciones sucedan, solo especifica cómo se llaman las funciones y qué se supone que deben hacer.

Una implementación de OpenGL proporciona el código real que ejecuta los métodos especificados por el estándar OpenGL. Sin una implementación instalada, no puede ejecutar ningún programa abierto.

Mesa es solo una de las muchas implementaciones de OpenGL, y es la más estándar incluida en las distribuciones de Linux. Hace todo el trabajo en software, por lo que es lento.

Cuando instala los controladores Nvidia o ATI para una tarjeta gráfica sofisticada, estos controladores proporcionan una nueva implementación OpenGL que se ejecuta en la tarjeta gráfica. Esta implementación tomaría el lugar de la implementación de Mesa, pero sigue siendo una implementación de OpenGL. Es decir, todos los controladores Mesa/ATI/NVidia implementan el mismo conjunto de funciones, simplemente lo hacen de diferentes maneras, y todos son OpenGL.

Source

Cuestiones relacionadas