# [opengl] GM965/GL960

## novazur

Bonjour,

Je constate incidemment que sur un portable que j'ai, il ne m'est pas possible d'utiliser opengl (cedega wow).

quand je lance glxgears, j'ai des résultats pitoyables :

```

306 frames in 5.0 seconds = 61.085 FPS

311 frames in 5.0 seconds = 62.145 FPS

311 frames in 5.0 seconds = 62.145 FPS

```

Pourtant, glxinfo ne me montre rien d'anormal à mes yeux :

```
name of display: :0.0

display: :0  screen: 0

direct rendering: Yes

server glx vendor string: SGI

server glx version string: 1.2

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_swap_control, GLX_SGIS_multisample,

    GLX_SGIX_fbconfig, GLX_SGIX_visual_select_group

client glx vendor string: 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_allocate_memory,

    GLX_MESA_copy_sub_buffer, GLX_MESA_swap_control,

    GLX_MESA_swap_frame_usage, 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 version: 1.2

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_MESA_swap_frame_usage, GLX_OML_swap_method,

    GLX_SGI_swap_control, GLX_SGI_video_sync, GLX_SGIS_multisample,

    GLX_SGIX_fbconfig, GLX_SGIX_visual_select_group

OpenGL vendor string: Tungsten Graphics, Inc

OpenGL renderer string: Mesa DRI Intel(R) 965GM GEM 20090114

OpenGL version string: 2.0 Mesa 7.4

OpenGL shading language version string: 1.10

OpenGL extensions:

    GL_ARB_depth_texture, GL_ARB_draw_buffers, GL_ARB_fragment_program,

    GL_ARB_fragment_program_shadow, GL_ARB_fragment_shader,

    GL_ARB_multisample, GL_ARB_multitexture, GL_ARB_occlusion_query,

    GL_ARB_pixel_buffer_object, GL_ARB_point_parameters, GL_ARB_point_sprite,

    GL_ARB_shader_objects, GL_ARB_shading_language_100, GL_ARB_shadow,

    GL_ARB_texture_border_clamp, GL_ARB_texture_compression,

    GL_ARB_texture_cube_map, GL_ARB_texture_env_add,

    GL_ARB_texture_env_combine, GL_ARB_texture_env_crossbar,

    GL_ARB_texture_env_dot3, GL_ARB_texture_mirrored_repeat,

    GL_ARB_texture_non_power_of_two, GL_ARB_texture_rectangle,

    GL_ARB_transpose_matrix, GL_ARB_vertex_buffer_object,

    GL_ARB_vertex_program, GL_ARB_vertex_shader, GL_ARB_window_pos,

    GL_EXT_abgr, GL_EXT_bgra, GL_EXT_blend_color,

    GL_EXT_blend_equation_separate, GL_EXT_blend_func_separate,

    GL_EXT_blend_logic_op, GL_EXT_blend_minmax, GL_EXT_blend_subtract,

    GL_EXT_clip_volume_hint, GL_EXT_cull_vertex, GL_EXT_compiled_vertex_array,

    GL_EXT_copy_texture, GL_EXT_draw_range_elements,

    GL_EXT_framebuffer_object, GL_EXT_fog_coord, GL_EXT_multi_draw_arrays,

    GL_EXT_packed_depth_stencil, GL_EXT_packed_pixels,

    GL_EXT_pixel_buffer_object, GL_EXT_point_parameters,

    GL_EXT_polygon_offset, GL_EXT_rescale_normal, GL_EXT_secondary_color,

    GL_EXT_separate_specular_color, GL_EXT_shadow_funcs, GL_EXT_stencil_wrap,

    GL_EXT_subtexture, GL_EXT_texture, GL_EXT_texture3D,

    GL_EXT_texture_edge_clamp, GL_EXT_texture_env_add,

    GL_EXT_texture_env_combine, GL_EXT_texture_env_dot3,

    GL_EXT_texture_filter_anisotropic, GL_EXT_texture_lod_bias,

    GL_EXT_texture_object, GL_EXT_texture_rectangle, GL_EXT_texture_sRGB,

    GL_EXT_vertex_array, GL_3DFX_texture_compression_FXT1,

    GL_APPLE_client_storage, GL_APPLE_packed_pixels,

    GL_ATI_blend_equation_separate, GL_ATI_texture_env_combine3,

    GL_ATI_separate_stencil, GL_IBM_rasterpos_clip,

    GL_IBM_texture_mirrored_repeat, GL_INGR_blend_func_separate,

    GL_MESA_pack_invert, GL_MESA_ycbcr_texture, GL_MESA_window_pos,

    GL_NV_blend_square, GL_NV_light_max_exponent, GL_NV_point_sprite,

    GL_NV_texture_rectangle, GL_NV_texgen_reflection, GL_NV_vertex_program,

    GL_NV_vertex_program1_1, GL_OES_read_format, GL_SGIS_generate_mipmap,

    GL_SGIS_texture_border_clamp, GL_SGIS_texture_edge_clamp,

    GL_SGIS_texture_lod, GL_SGIX_depth_texture, GL_SUN_multi_draw_arrays

3 GLX Visuals

   visual  x  bf lv rg d st colorbuffer ax dp st accumbuffer  ms  cav

 id dep cl sp sz l  ci b ro  r  g  b  a bf th cl  r  g  b  a ns b eat

----------------------------------------------------------------------

0x21 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None

0x22 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None

0x64 32 tc  0 32  0 r  .  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None

36 GLXFBConfigs:

   visual  x  bf lv rg d st colorbuffer ax dp st accumbuffer  ms  cav

 id dep cl sp sz l  ci b ro  r  g  b  a bf th cl  r  g  b  a ns b eat

----------------------------------------------------------------------

0x65  0 tc  0 32  0 r  .  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None

0x66  0 tc  0 32  0 r  .  .  8  8  8  8  0  0  0 16 16 16 16  0 0 Slow

0x67  0 tc  0 32  0 r  y  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None

0x68  0 tc  0 32  0 r  y  .  8  8  8  8  0  0  0 16 16 16 16  0 0 Slow

0x69  0 tc  0 32  0 r  y  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None

0x6a  0 tc  0 32  0 r  y  .  8  8  8  8  0  0  0 16 16 16 16  0 0 Slow

0x6b  0 tc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None

0x6c  0 tc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow

0x6d  0 tc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None

0x6e  0 tc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow

0x6f  0 tc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None

0x70  0 tc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow

0x71  0 tc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None

0x72  0 tc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow

0x73  0 tc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None

0x74  0 tc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow

0x75  0 tc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None

0x76  0 tc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow

0x77  0 dc  0 32  0 r  .  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None

0x78  0 dc  0 32  0 r  .  .  8  8  8  8  0  0  0 16 16 16 16  0 0 Slow

0x79  0 dc  0 32  0 r  y  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None

0x7a  0 dc  0 32  0 r  y  .  8  8  8  8  0  0  0 16 16 16 16  0 0 Slow

0x7b  0 dc  0 32  0 r  y  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None

0x7c  0 dc  0 32  0 r  y  .  8  8  8  8  0  0  0 16 16 16 16  0 0 Slow

0x7d  0 dc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None

0x7e  0 dc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow

0x7f  0 dc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None

0x80  0 dc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow

0x81  0 dc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None

0x82  0 dc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow

0x83  0 dc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None

0x84  0 dc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow

0x85  0 dc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None

0x86  0 dc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow

0x87  0 dc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None

0x88  0 dc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow

```

Ma carte intégrée :

```
00:02.0 VGA compatible controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (rev 03)

00:02.1 Display controller: Intel Corporation Mobile GM965/GL960 Integrated Graphics Controller (rev 03)
```

C'est un problème de driver, donc insoluble à l'heure actuelle ? ou alors est-ce un problème de configuration de ma part ?

```
Section "ServerFlags"

        Option          "AutoAddDevices" "False"

EndSection

Section "ServerLayout"

        Identifier     "X.org Configured"

        Screen      0  "Screen0" 0 0

        InputDevice    "Mouse0" "CorePointer"

        InputDevice    "Keyboard0" "CoreKeyboard"

EndSection

Section "Files"

        ModulePath   "/usr/lib64/xorg/modules"

        FontPath     "/usr/share/fonts/misc/"

        FontPath     "/usr/share/fonts/TTF/"

        FontPath     "/usr/share/fonts/OTF"

        FontPath     "/usr/share/fonts/Type1/"

        FontPath     "/usr/share/fonts/100dpi/"

        FontPath     "/usr/share/fonts/75dpi/"

EndSection

Section "Module"

        Load  "xtrap"

        Load  "GLcore"

        Load  "extmod"

        Load  "record"

        Load  "dbe"

        Load  "glx"

        Load  "dri"

        Load  "type1"

        Load  "freetype"

EndSection

Section "dri"

  Mode 0666

EndSection

Section "InputDevice"

        Identifier  "Keyboard0"

        Driver      "kbd"

        Option          "XkbLayout"     "fr"

        Option          "XkbOptions"    "compose:rwin"

EndSection

Section "InputDevice"

        Identifier  "Mouse0"

        Driver      "mouse"

        Option      "Protocol" "auto"

        Option      "Device" "/dev/input/mice"

        Option      "ZAxisMapping" "4 5 6 7"

EndSection

Section "Monitor"

        Identifier   "Monitor0"

        VendorName   "SEC"

        ModelName    "304b"

EndSection

Section "Device"

        Identifier  "Card0"

        Driver      "intel"

        VendorName  "Intel Corporation"

        BoardName   "Mobile Integrated Graphics Controller"

        BusID       "PCI:0:2:0"

EndSection

Section "Screen"

        Identifier "Screen0"

        Device     "Card0"

        Monitor    "Monitor0"

        SubSection "Display"

                Viewport   0 0

                Depth     1

        EndSubSection

        SubSection "Display"

                Viewport   0 0

                Depth     4

        EndSubSection

        SubSection "Display"

                Viewport   0 0

                Depth     8

        EndSubSection

        SubSection "Display"

                Viewport   0 0

                Depth     15

        EndSubSection

        SubSection "Display"

                Viewport   0 0

                Depth     16

        EndSubSection

        SubSection "Display"

                Viewport   0 0

                Depth     24

        EndSubSection

EndSection
```

----------

## brubru

Salut.

Un problème classique:

- glxgears n'est pas un benchmark !

qui plus est avec les cartes intel où par soucis d'économie d'énergie (netbooks...), le fps est bloqué à la valeur de ton vsync (60 Hz donc). Mais cela n'indique pas que l'accélération 3d ne fonctionne pas. Essaye avec une application plus poussée (un fps libre par exemple) pour tester les performances.

Je crois qu'il est aussi possible de désactiver la synchro sur le vsync dans glxgears mais ça ne transforme pas l'application en bench pour autant.

La commande: LIBGL_DEBUG=verbose glxgears peut aussi te donner plus de renseignement sur ce qui coince.

Après cela peux aussi venir de la pile graphique que tu utilises (ie: les versions du noyau, libdrm, mesa3d, xf86-video-intel, xorg-server...). Vu comme c'est le grand chamboulement en ce moment (GEM, KMS, UXA, DRI2, Gallium...), il y a des configs qui passent mieux que d'autres.

Sinon quand tu dit « il ne m'est pas possible d'utiliser opengl (cedega wow). » C'est que l'application refuse de démarrer ? plante ? ou rame à mort ? wine/cedega n'est peut-être pas l'application la mieux placées pour faire marcher openGL.

Bruno

----------

## geekounet

glxgears n'st pas un benchmark ! Ça indique juste que la libGL fonctionne. Mais ça on ne le répètera jamais assez je crois...

S'il fait du 60FPS, c'est à cause du Vsync (qui va donc pas faire plus d'images que la fréquence de l'écran). Donc teste avec une vraie apps OpenGL qui exploitera ta CG, et si vraiment t'as un problème de lenteur, installe driconf et désactive le vsync avec, puis réessaye.

@brubru: tu sais ce que ça coute de griller un modo ?   :Twisted Evil: 

----------

## brubru

désolé   :Embarassed: 

Bah comme ça, le clou est bien enfoncé !

----------

## novazur

 *brubru wrote:*   

> Je crois qu'il est aussi possible de désactiver la synchro sur le vsync dans glxgears mais ça ne transforme pas l'application en bench pour autant.

 

Ok, bon, j'oublie glxgears. Mauvaise intro de ma part.

 *Quote:*   

> Sinon quand tu dit « il ne m'est pas possible d'utiliser opengl (cedega wow). » C'est que l'application refuse de démarrer ? plante ? ou rame à mort ? wine/cedega n'est peut-être pas l'application la mieux placées pour faire marcher openGL.

 

Certes, mais c'est là que j'en ai besoin  :Wink: 

Alors quand je dis que je ne peux pas l'utiliser, c'est qu'avec l'option -opengl de wine/cedega, wow ne se lance pas en me disant qu'il ne peut accéder à l'accélération 3D. Sans l'option, non seulement ça serait inutilisable vu la lenteur, mais en plus j'ai un affichage clignotant de wow. Il m'est donc indispensable d'utiliser opengl. C'est suite à ce message d'erreur, que j'ai lancé glxgears et déduit à tort que j'avais un problème à ce niveau.

Je peux donner ce que vous voudrez comme info sur mon système, mais là, je ne sais pas quoi fournir de plus.

Déjà, est-ce normal de n'avoir que :

```
$ eselect opengl list

Available OpenGL implementations:

  [1]   xorg-x11 *
```

Je suis un habitué de nvidia, et donc j'ai l'habitude d'avoir ici autre chose que xorg seul.

----------

## DuF

 *novazur wrote:*   

> 
> 
> Déjà, est-ce normal de n'avoir que :
> 
> ```
> ...

 

Bonjour,

Oui c'est normal de n'avoir que xorg-x11 dans la liste des implémentations d'OpenGL.

Chez moi j'ai les éléments suivants : 

```
genduf ~ # eselect opengl list

Available OpenGL implementations:

  [1]   xorg-x11 *

```

J'ai une carte G45 (non mobile mais même principe et surtout même pilote) :

```
agpgart-intel 0000:00:00.0: Intel G45/G43 Chipset

00:02.0 VGA compatible controller: Intel Corporation 4 Series Chipset Integrated Graphics Controller (rev 03) (prog-if 00 [VGA controller])

```

Sinon clairement, avoir le dernier noyau qui va bien et le dernier xorg permet de profiter au mieux des cartes intel (ce n'est qu'un constat invérifiable de ma part, mais ce fut toujours le cas...).

Dans les liens utiles pour vérifier que la configuration est bonne : 

http://en.gentoo-wiki.com/wiki/Intel_GMA

Attention, il est générique donc rien d'extravagant pour les dernières cartes. Par contre si vraiment tu veux débloquer "glxgears" tu le pourras en désactivant vblank, mais l'intérêt est nul en dehors d'avoir glxgears qui dépassera les 60fps.

Pour ma part je n'ai pas wine/cedega mais opengl fonctionne chez moi, je joue notamment à chromium et crack-attack qui sont injouables en opengl non matériel. Mais clairement j'ai jamais fait gaffe si les perfs 3d étaient bonnes mes besoins étant plutot strictement 2d (en dehors des 2 cas cités et de celestia si ce dernier utilise opengl   :Razz:  ).

----------

