Respuestas:
Este es un tema con mucha información mala / desactualizada / incorrecta disponible.
Cosas que no funcionan:
direct rendering: Yes
glxgears
: glxgears
lo que solo se ejecutarán tan rápido como la frecuencia de actualización de la pantalla. Esto significa glxgears
que casi siempre imprimirá un FPS de 60
o alrededor.Lo que hace el trabajo:
La salida de glxinfo
contiene la información que queremos.
name of display: :0
display: :0 screen: 0
direct rendering: Yes
server glx vendor string: SGI
… snip …
OpenGL vendor string: Tungsten Graphics, Inc
OpenGL renderer string: Mesa DRI Mobile Intel® GM45 Express Chipset
OpenGL version string: 2.1 Mesa 7.10.1
OpenGL shading language version string: 1.20
OpenGL extensions:
… snip long extensions list…
La cadena de representación de OpenGL: la línea Mesa DRI Mobile Intel® GM45 Express Chipset indica que estoy usando mi chip Intel GM45 para hacer renderizado 3D.
Cadena de versión de OpenGL: 2.1 Mesa 7.10.1 indica la versión básica de OpenGL que admite este controlador / hardware (OpenGL 2.1) y la versión de Mesa que se está utilizando (7.10.1).
Finalmente, representación directa: Sí, en la parte superior de los dos campos anteriores indica que el controlador está funcionando correctamente con un contexto de representación directa. Esto nunca será No a menos que algo esté realmente mal con su instalación (o esté haciendo algo extraño, como conectarse a un servidor X remoto).
Ejemplos de glxinfo
resultados incorrectos :
LIBGL_ALWAYS_SOFTWARE=1 glxinfo
name of display: :0
display: :0 screen: 0
direct rendering: Yes
server glx vendor string: SGI
server glx version string: 1.4
server glx extensions:
GLX_ARB_multisample, GLX_EXT_import_context, GLX_EXT_texture_from_pixmap,
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_copy_sub_buffer,
GLX_OML_swap_method, GLX_SGI_make_current_read, GLX_SGI_swap_control,
GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer,
GLX_SGIX_visual_select_group, GLX_INTEL_swap_event
client glx vendor string: Mesa Project and SGI
client glx version string: 1.4
client glx extensions:
GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context,
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_copy_sub_buffer,
GLX_MESA_swap_control, GLX_OML_swap_method, GLX_OML_sync_control,
GLX_SGI_make_current_read, GLX_SGI_swap_control, GLX_SGI_video_sync,
GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer,
GLX_SGIX_visual_select_group, GLX_EXT_texture_from_pixmap,
GLX_INTEL_swap_event
GLX version: 1.4
GLX extensions:
GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context,
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_OML_swap_method,
GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer,
GLX_SGIX_visual_select_group, GLX_INTEL_swap_event
OpenGL vendor string: Mesa Project
OpenGL renderer string: Software Rasterizer
OpenGL version string: 2.1 Mesa 7.10.1
OpenGL shading language version string: 1.20
OpenGL extensions:
GL_ARB_copy_buffer, GL_ARB_depth_clamp, GL_ARB_depth_texture,
Aquí no tenemos aceleración de hardware, por lo Software Rasterizer
que proporciona soporte 3D (¡lento!).
LIBGL_DRIVERS_PATH=foo glxinfo
name of display: :0
display: :0 screen: 0
direct rendering: No (If you want to find out why, try setting LIBGL_DEBUG=verbose)
server glx vendor string: SGI
server glx version string: 1.4
server glx extensions:
GLX_ARB_multisample, GLX_EXT_import_context, GLX_EXT_texture_from_pixmap,
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_copy_sub_buffer,
GLX_OML_swap_method, GLX_SGI_make_current_read, GLX_SGI_swap_control,
GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer,
GLX_SGIX_visual_select_group, GLX_INTEL_swap_event
client glx vendor string: Mesa Project and SGI
client glx version string: 1.4
client glx extensions:
GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context,
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_copy_sub_buffer,
GLX_MESA_swap_control, GLX_OML_swap_method, GLX_OML_sync_control,
GLX_SGI_make_current_read, GLX_SGI_swap_control, GLX_SGI_video_sync,
GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer,
GLX_SGIX_visual_select_group, GLX_EXT_texture_from_pixmap,
GLX_INTEL_swap_event
GLX version: 1.4
GLX extensions:
GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_import_context,
GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_MESA_copy_sub_buffer,
GLX_OML_swap_method, GLX_SGI_make_current_read, GLX_SGI_swap_control,
GLX_SGIS_multisample, GLX_SGIX_fbconfig, GLX_SGIX_pbuffer,
GLX_SGIX_visual_select_group, GLX_EXT_texture_from_pixmap,
GLX_INTEL_swap_event
OpenGL vendor string: Tungsten Graphics, Inc
OpenGL renderer string: Mesa DRI Mobile Intel® GM45 Express Chipset
OpenGL version string: 1.4 (2.1 Mesa 7.10.1)
OpenGL extensions:
GL_ARB_depth_texture, GL_ARB_draw_buffers, GL_ARB_fragment_program,
GL_ARB_fragment_program_shadow, GL_ARB_multisample, GL_ARB_multitexture,
Aquí hemos roto el renderizado directo apuntando LIBGL a un DRIVERS_PATH inexistente. La ruta de representación directa falla:
direct rendering: No (If you want to find out why, try setting LIBGL_DEBUG=verbose)
Pero el renderizado indirecto todavía funciona, porque el servidor de visualización ha cargado el controlador
OpenGL renderer string: Mesa DRI Mobile Intel® GM45 Express Chipset
OpenGL version string: 1.4 (2.1 Mesa 7.10.1)
(Tenga en cuenta que la versión de OpenGL anunciada ahora es OpenGL 1.4; esta es la versión más nueva de OpenGL para la que existe un protocolo de representación indirecta).
Intenta en su glxgears
lugar, o glxinfo
.
bad
salida de glxinfo. Entonces, ¿cómo puedo configurar laDRIVERS_PATH
variable? ¿Y a qué debo configurarlo? Tengo instalado Intel Graphcis y el controlador Intel. Gracias de antemano