Como testar se minha placa de vídeo tem suporte 3D?

10

Como posso testar se minha placa de vídeo tem suporte 3D?

Alguém disse para usar fgl_glxgears, mas ele não existe aqui, nem mesmo para instalação com o apt-get.

Tom Brito
fonte

Respostas:

16

Este é um tópico com muitas informações incorretas / desatualizadas / incorretas disponíveis.

Coisas que não funcionam:

  • Verificando "renderização direta: Sim":
    este não é um indicador preciso. O renderizador de software também oferece suporte à renderização direta; portanto, mesmo se você não tiver suporte a hardware 3D, poderádirect rendering: Yes
  • Verificando o FPS de glxgears:
    Este também não é um indicador preciso. Versões recentes do Ubuntu terão o vsync ativado, portanto, glxgearsserão executados apenas tão rápido quanto a taxa de atualização da tela. Isso significa glxgearsque quase sempre imprime um FPS 60ou algo semelhante.

O que funciona:

A saída de glxinfocontém as informações 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…

A sequência do renderizador OpenGL: A linha de chipsets Mesa DRI para portáteis Intel® GM45 Express indica que estou usando meu chip Intel GM45 para fazer renderização em 3D.

Cadeia de versão do OpenGL: 2.1 O Mesa 7.10.1 indica a versão de linha de base do OpenGL suportada por este driver / hardware (OpenGL 2.1) e a versão do Mesa sendo usada (7.10.1).

Por fim, renderização direta: Sim, em cima dos dois campos anteriores indica que o driver está funcionando corretamente com um contexto de renderização direta. Isso nunca será Não, a menos que algo realmente atrapalhe sua instalação (ou você esteja fazendo algo estranho, como conectar-se a um servidor X remoto).

Exemplos de glxinfosaída ruim :

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,

Aqui não temos aceleração de hardware, por isso estamos Software Rasterizerfornecendo (lento!) Suporte 3D.

 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,

Aqui, quebramos a renderização direta apontando LIBGL para um DRIVERS_PATH inexistente. O caminho de renderização direta falha:

direct rendering: No (If you want to find out why, try setting LIBGL_DEBUG=verbose)

Mas a renderização indireta ainda está funcionando, porque o servidor de exibição carregou o driver

OpenGL renderer string: Mesa DRI Mobile Intel® GM45 Express Chipset
OpenGL version string: 1.4 (2.1 Mesa 7.10.1)

(Observe que a versão do OpenGL anunciada agora é o OpenGL 1.4 - esta é a versão mais recente do OpenGL para a qual existe um protocolo de renderização indireta).

RAOF
fonte
Ei, cara :) Então - eu tenho a badsaída glxinfo. Então - como posso definir a DRIVERS_PATHvariável? E para o que devo definir? Tenho intel graphcis e driver intel instalado. Agradecemos antecipadamente
pesho hristov 17/09/19
0

Tente em glxgearsvez disso, ou glxinfo.

Rafał Cieślak
fonte
legal .. se eu ver as engrenagens significa que tenho suporte para 3d?
Tom Brito
Sim, exatamente :)
Rafał Cieślak 22/03
2
Bem, mais ou menos. Como temos um renderizador de software, você precisará ter atrapalhado muito o sistema antes que o glxgears seja quebrado tanto que não mostre as marchas!
RAOF 28/03
Também vejo as mudanças, mas ao mesmo tempo reclamo de alguns aplicativos, jogos especificamente ... Você pode dar uma olhada? askubuntu.com/questions/1174810/…
pesho hristov
0

Com glxgearsvocê pode ver as engrenagens, e os usuários da AMD podem usar para configurar as propriedades gráficas:

sudo amdcccle
Ankit
fonte