OpenGL é executado em taxa de quadros muito baixa com uma placa gráfica Intel

4

Eu tenho dois sistemas que são quase idênticos, mas com placas gráficas ligeiramente diferentes:

Sistema A

product: N10 Family Integrated Graphics Controller
vendor: Intel Corporation
driver: i915

Sistema B

product: Atom Processor D2xxx/N2xxx Integrated Graphics Controller
vendor: Intel Corporation
driver: gma500

Eu sei que ambos não são conhecidos por dar o melhor desempenho, mas o Sistema B é muito lento. Aqui estão as principais diferenças:

Resultados de glmark2 :

Sistema A: (nota 55)

GL_VENDOR:     Intel Open Source Technology Center
GL_RENDERER:   Mesa DRI Intel(R) IGD x86/MMX/SSE2
GL_VERSION:    1.4 Mesa 9.0.3

Sistema B: (nota 24)

GL_VENDOR:     VMware, Inc.
GL_RENDERER:   Gallium 0.4 on llvmpipe (LLVM 0x301)
GL_VERSION:    2.1 Mesa 9.0.3

Resultados de glxinfo | grep render :

Sistema A:

direct rendering: Yes
OpenGL renderer string: Mesa DRI Intel(R) IGD x86/MMX/SSE2

Sistema B:

direct rendering: Yes
OpenGL renderer string: Gallium 0.4 on llvmpipe (LLVM 0x301)

Resultados de grep -i chipset /var/log/Xorg.0.log :

Sistema A:

[    21.507] (II) intel: Driver for Intel Integrated Graphics Chipsets: i810,
[    21.510] (II) VESA: driver for VESA chipsets: vesa
[    21.521] (--) intel(0): Integrated Graphics Chipset: Intel(R) Pineview G

Sistema B:

[    16.728] (II) VESA: driver for VESA chipsets: vesa

Resultados de egrep "(GLX|DRI)" /var/log/Xorg.0.log :

Sistema A:

[    21.319] Initializing built-in extension XFree86-DRI
[    21.319] Initializing built-in extension DRI2
[    21.418] (==) AIGLX enabled
[    21.419] Loading extension GLX
[    22.114] (II) intel(0): [DRI2] Setup complete
[    22.114] (II) intel(0): [DRI2]   DRI driver: i915
[    22.140] (II) intel(0): direct rendering: DRI2 Enabled
[    22.417] (II) AIGLX: enabled GLX_MESA_copy_sub_buffer
[    22.417] (II) AIGLX: enabled GLX_INTEL_swap_event
[    22.417] (II) AIGLX: enabled GLX_ARB_create_context
[    22.417] (II) AIGLX: enabled GLX_ARB_create_context_profile
[    22.417] (II) AIGLX: enabled GLX_EXT_create_context_es2_profile
[    22.417] (II) AIGLX: enabled GLX_SGI_swap_control and GLX_MESA_swap_control
[    22.417] (II) AIGLX: GLX_EXT_texture_from_pixmap backed by buffer objects
[    22.417] (II) AIGLX: Loaded and initialized i915
[    22.417] (II) GLX: Initialized DRI2 GL provider for screen 0

Sistema B:

[    16.696] Initializing built-in extension XFree86-DRI
[    16.696] Initializing built-in extension DRI2
[    16.725] (==) AIGLX enabled
[    16.725] Loading extension GLX
[    18.120] (II) AIGLX: Screen 0 is not DRI2 capable
[    18.120] (II) AIGLX: Screen 0 is not DRI capable
[    18.144] (II) AIGLX: Loaded and initialized swrast
[    18.144] (II) GLX: Initialized DRISWRAST GL provider for screen 0

O último é especialmente interessante, pois o Sistema B está obviamente falhando em inicializar o suporte DRI adequado. Tudo isso me diz que há algo faltando em B. Eu não acho que todas essas diferenças são simplesmente causadas pelo uso de duas placas gráficas diferentes, então eu suspeito que eu preciso instalar algum outro driver em B. Talvez o que é usado pelo sistema A (i915)?

    
por christoph 09.08.2013 / 13:15

1 resposta

5

Eu descobri seu problema quase que imediatamente:

  

gma500

Seguindo este artigo wiki sobre o módulo gma500, é bastante óbvio a falta de Hardware Acceleration para o chip:

  

Infelizmente, o suporte para este hardware é extremamente limitado no Linux. Existem vários drivers, mas todos carecem de alguns recursos básicos, como manutenção futura ou atual ou suporte para suspensão e aceleração de hardware.

O que é confirmado com o uso de llvm ou mais como um rasterizador de software:

  

Sequência do renderizador OpenGL: Gálio 0,4 no llvmpipe (LLVM 0x301)

E o novo gma500_glx também não suporta estas funcionalidades:

  

O gma500_gfx (ainda) não suporta gráficos 3D e não está claro se será no futuro.

Você pode ver os detalhes sobre o módulo com modinfo gma500 . Embora eu ache que deveria ser chamado de gma500_gfx em seu sistema, o que é bastante estranho (mas não relevante). Em qualquer caso, o seu driver também não suporta mesa, que é, no GNU / Linux, a meca da Aceleração de Hardware (ergo all glx tests). Espero que isso resolva todas as suas dúvidas.

Interessante em ler:

Nada é real, apenas problemas antigos de resolução de problemas não relacionados à aceleração de hardware.

    
por Braiam 16.08.2013 / 03:48