Com o novo Xorg 1.6, meus antigos problemas com a performance 3D da minha Intel GM965 (aka X3100) acabaram, mas a performance 2D continuava horrível.
Testando outras configurações pro Xorg, cheguei nesta:
Section “Device”
Identifier “Card0″
Driver “intel”
VendorName “All”
BoardName “All”
Option “AccelMethod” “exa”
Option “MigrationHeuristic” “greedy”
Option “ExaNoComposite” “true”
EndSection
OK. Os métodos de aceleração suportados são: XAA (antigo, substituido pelo EXA), o EXA (perofrmance 3D melhorada, mas por padrão gera artefatos em algumas aplicações que usam Qt 4) e o UXA (suporte ao dri2, mas ainda está um pouco instável).
Se não me engano o EXA é usado por padrção, então até ai nenhuma mudança. O que realmente melhorou a performance 2D (e corrigiu alguns bugs) foi o “Option “MigrationHeuristic” “greedy”.
Para testes, usei o programa gtkperf. Antes, uma rodada com 100 repetições demorava 16 segundos. Com a nova configuração, passou para 5 segundos. A performance 3D aparentemente não foi alterada, mas também não testei muito.
Olá Lucas,
Tenho uma Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller [8086:2a02] (rev 03) no meu laptop.
Usando essas opções com xorg-server 1.5.3-r3, xorg-x11 7.4 e xf86-video-intel 2.6.3 o gtkperf passou de 16 segundos para 8. No entanto, a velocidade ainda está muito fraca. O glxgears me reporta cerca 62 frames por segundo:
306 frames in 5.0 seconds = 61.194 FPS
311 frames in 5.0 seconds = 62.093 FPS
311 frames in 5.0 seconds = 62.093 FPS
311 frames in 5.0 seconds = 62.094 FPS
311 frames in 5.0 seconds = 62.093 FPS
E o Google Earth não abre dizendo “libGL warning: 3D driver claims to not support visual 0×22″ e que minha placa de vídeo deve estar desconfigurada.
Embora o DRI esteja ativado, há algo errado com ela e nem EXA, nem XAA, nem UXA conseguem melhorar seu desempenho. Pela velocidade, acho ainda que aparentemente ela está fazendo aceleração por software.
A sua placa de vídeo é essa mesmo? A performance aí é fraca como é aqui?
Ah, e você sabe como eu posso ver como está a performance 3D?
E off-topic (se o tópico é X, mas ainda sobre a placa de vídeo): qual a resolução do seu computador? Você consegue usar com ela intelfb? Ou usa outro framebuffer? Consegue widescreen 1280×800 no framebuffer?
Obrigado,
Tiago
Olá Tiago:
É, temos a mesma placa de vídeo. A um tempos pra cá, o driver da intel passou a utilizar uma nova tecnologia, mas que dependia do kernel 2.6.28 e do xorg 1.6. Se as versões estiverem “fora de sincronia”, como no seu caso, a performance fica horrível (se bem que está tão próximo de 60, será que o vsync não está ligado?).
Estou com as seguintes versões aqui:
-> xf86-video-intel 2.6.3-1
-> xorg-server 1.6.0-1
-> kernel26 2.6.28.7-1
Eu estou utilizando 1280×800, inclusive funciona mesmo sem ter um xorg.conf.
Neste caso vou atualizar meu xorg. Muito obrigado pela dica.
Sobre a resolução: eu não me refiro ao X, mas ao modo texto. Você usa 1280×800 no framebuffer (usando intelfb, vesafb ou uvesafb)?
Humm. Bem, o melhor que consegui até agora foi 1024×768 usando vesafb.
Instalei o xorg-server 1.6, mas nada mudou com relação a velocidade.
Quantos frames por segundo o glxgears mostra aí?
3616 frames in 5.0 seconds = 723.076 FPS
3875 frames in 5.0 seconds = 774.982 FPS
3847 frames in 5.0 seconds = 769.227 FPS
Video : Mobile GM965/GL960 Integrated Graphics Controller server: XFree86 (intel)
PS: Testou com algum programa de verdade?
Hmmm… Interessante. Tá melhorando, mas ainda não tá bom.
O gtkperf tá em 6 segundos agora, embora o glxgears continue com 60 frames por segundo (um bug?). O Google Earth faz um crash sensacional me forçando a reiniciar (não só o X, o computador inteiro!)
O seu dmesg mostra esse tipo de erro (abaixo)?
[ 92.398040] [drm] Initialized i915 1.6.0 20080730 on minor 0
[ 92.398881] [drm:i915_setparam] *ERROR* unknown parameter 4
[14694.293445] [drm:i915_setparam] *ERROR* unknown parameter 4
[14825.374042] mtrr: no MTRR for c0000000,10000000 found
[15296.300835] [drm:i915_setparam] *ERROR* unknown parameter 4
[16148.206216] mtrr: no MTRR for c0000000,10000000 found
[16159.404747] [drm:i915_setparam] *ERROR* unknown parameter 4
E suas configurações no Kernel com relação a MTRR são somente estas?
# cat .config | grep -i mtrr
CONFIG_MTRR=y
# CONFIG_MTRR_SANITIZER is not set
E de DRM…
# cat .config | grep -i drm
CONFIG_DRM=y
# CONFIG_DRM_TDFX is not set
# CONFIG_DRM_R128 is not set
# CONFIG_DRM_RADEON is not set
CONFIG_DRM_I810=m
# CONFIG_DRM_I830 is not set
CONFIG_DRM_I915=m
# CONFIG_DRM_MGA is not set
# CONFIG_DRM_SIS is not set
# CONFIG_DRM_VIA is not set
# CONFIG_DRM_SAVAGE is not set
Acho que a aceleração 3D ainda não funciona (o que causa o problema no glxgears e no Google Earth) e tem esse problema do DRM/MTRR…
Obrigado,
Tiago
$ dmesg | grep ERROR
[drm:i915_setparam] *ERROR* unknown parameter 4
$ cat /usr/src/linux-2.6.28-ARCH/.config | grep -i drm
CONFIG_DRM=m
CONFIG_DRM_TDFX=m
CONFIG_DRM_R128=m
CONFIG_DRM_RADEON=m
CONFIG_DRM_I810=m
CONFIG_DRM_I830=m
CONFIG_DRM_I915=m
CONFIG_DRM_MGA=m
CONFIG_DRM_SIS=m
CONFIG_DRM_VIA=m
CONFIG_DRM_SAVAGE=m