Bug#379940: boson: detects incorrectly DRI off, when DRI on

Eddy Petrişor eddy.petrisor at gmail.com
Sat Sep 16 12:58:50 UTC 2006


On 07/09/06, Andreas Beckermann <b_mann at gmx.de> wrote:
> Hi
> first of all: DRI drivers usually don't work very well. They have lots of
> problems and produce a lot of "weird" effects. That said direct rendering
> _should_ work with DRI drivers.
>
> Finding the issue however is a pretty difficult issue. Let's try some shots
> into the dark, please post:
> * The output of ldd /usr/games/boson

eddy at merci ~/usr/src/traduceri/dipo/di/4th/samba $ ldd /usr/games/boson
        libopenal.so.0 => /usr/lib/libopenal.so.0 (0x0ff94000)
        libpython2.4.so.1.0 => /usr/lib/libpython2.4.so.1.0 (0x0fe24000)
        libkio.so.4 => /usr/lib/libkio.so.4 (0x0fa6f000)
        libXrandr.so.2 => /usr/lib/libXrandr.so.2 (0x0fa4b000)
        libXmu.so.6 => /usr/lib/libXmu.so.6 (0x0fa11000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x0f8f7000)
        libm.so.6 => /lib/tls/libm.so.6 (0x0f85e000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x0f82b000)
        libc.so.6 => /lib/tls/libc.so.6 (0x0f6b5000)
        libdl.so.2 => /lib/tls/libdl.so.2 (0x0f691000)
        libkdeui.so.4 => /usr/lib/libkdeui.so.4 (0x0f349000)
        libX11.so.6 => /usr/lib/libX11.so.6 (0x0f244000)
        libkdecore.so.4 => /usr/lib/libkdecore.so.4 (0x0efa2000)
        libDCOP.so.4 => /usr/lib/libDCOP.so.4 (0x0ef4b000)
        libart_lgpl_2.so.2 => /usr/lib/libart_lgpl_2.so.2 (0x0ef14000)
        libkdefx.so.4 => /usr/lib/libkdefx.so.4 (0x0eec6000)
        libqt-mt.so.3 => /usr/lib/libqt-mt.so.3 (0x0e4da000)
        libpthread.so.0 => /lib/tls/libpthread.so.0 (0x0e4a6000)
        libutil.so.1 => /lib/tls/libutil.so.1 (0x0e483000)
        libkdesu.so.4 => /usr/lib/libkdesu.so.4 (0x0e44c000)
        libkwalletclient.so.1 => /usr/lib/libkwalletclient.so.1 (0x0e41a000)
        libz.so.1 => /usr/lib/libz.so.1 (0x0e3e4000)
        libfam.so.0 => /usr/lib/libfam.so.0 (0x0e3bb000)
        libacl.so.1 => /lib/libacl.so.1 (0x0e393000)
        libattr.so.1 => /lib/libattr.so.1 (0x0e36e000)
        libXext.so.6 => /usr/lib/libXext.so.6 (0x0e33a000)
        libXrender.so.1 => /usr/lib/libXrender.so.1 (0x0e30f000)
        libXt.so.6 => /usr/lib/libXt.so.6 (0x0e28e000)
        libSM.so.6 => /usr/lib/libSM.so.6 (0x0e264000)
        libICE.so.6 => /usr/lib/libICE.so.6 (0x0e22a000)
        /lib/ld.so.1 (0x30000000)
        libXau.so.6 => /usr/lib/libXau.so.6 (0x0e207000)
        libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x0e1e1000)
        libresolv.so.2 => /lib/tls/libresolv.so.2 (0x0e1ac000)
        libidn.so.11 => /usr/lib/libidn.so.11 (0x0e16b000)
        libpng12.so.0 => /usr/lib/libpng12.so.0 (0x0e125000)
        libfontconfig.so.1 => /usr/lib/libfontconfig.so.1 (0x0e0d0000)
        libaudio.so.2 => /usr/lib/libaudio.so.2 (0x0e096000)
        libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x0e050000)
        libXi.so.6 => /usr/lib/libXi.so.6 (0x0e026000)
        libXcursor.so.1 => /usr/lib/libXcursor.so.1 (0x0dffb000)
        libXinerama.so.1 => /usr/lib/libXinerama.so.1 (0x0dfd8000)
        libXft.so.2 => /usr/lib/libXft.so.2 (0x0dfa3000)
        libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x0df0b000)
        libexpat.so.1 => /usr/lib/libexpat.so.1 (0x0dec4000)
        libXfixes.so.3 => /usr/lib/libXfixes.so.3 (0x0de9e000)


> * The output of ldd /usr/bin/glxgears

eddy at merci ~/usr/src/traduceri/dipo/di/4th/samba $ ldd /usr/bin/glxgears
        libGL.so.1 => /usr/lib/libGL.so.1 (0x0ff46000)
        libGLU.so.1 => /usr/lib/libGLU.so.1 (0x0fe9e000)
        libglut.so.3 => /usr/lib/libglut.so.3 (0x0fe57000)
        libm.so.6 => /lib/tls/libm.so.6 (0x0fdbe000)
        libc.so.6 => /lib/tls/libc.so.6 (0x0fc48000)
        libX11.so.6 => /usr/lib/libX11.so.6 (0x0fb43000)
        libXext.so.6 => /usr/lib/libXext.so.6 (0x0fb0f000)
        libXxf86vm.so.1 => /usr/lib/libXxf86vm.so.1 (0x0fae8000)
        libpthread.so.0 => /lib/tls/libpthread.so.0 (0x0fab4000)
        libdl.so.2 => /lib/tls/libdl.so.2 (0x0fa90000)
        libdrm.so.2 => /usr/lib/libdrm.so.2 (0x0fa67000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x0f94d000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x0f91a000)
        /lib/ld.so.1 (0x30000000)
        libXau.so.6 => /usr/lib/libXau.so.6 (0x0f8f7000)
        libXdmcp.so.6 => /usr/lib/libXdmcp.so.6 (0x0f8d1000)

> * The output of glxinfo

eddy at merci ~/usr/src/traduceri/dipo/di/4th/samba $ glxinfo
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_visual_info, GLX_EXT_visual_rating,
    GLX_EXT_import_context, GLX_OML_swap_method, GLX_SGI_make_current_read,
    GLX_SGIS_multisample, GLX_SGIX_hyperpipe, GLX_SGIX_swap_barrier,
    GLX_SGIX_fbconfig
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_swap_control,
    GLX_MESA_swap_frame_usage, GLX_OML_swap_method, GLX_SGI_video_sync,
    GLX_SGIS_multisample, GLX_SGIX_fbconfig
OpenGL vendor string: Tungsten Graphics, Inc.
OpenGL renderer string: Mesa DRI R300 20040924 AGP 4x TCL
OpenGL version string: 1.3 Mesa 6.5.1
OpenGL extensions:
    GL_ARB_fragment_program, GL_ARB_imaging, GL_ARB_multisample,
    GL_ARB_multitexture, 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_MESAX_texture_float, GL_ARB_texture_mirrored_repeat,
    GL_ARB_texture_rectangle, GL_ARB_transpose_matrix,
    GL_ARB_vertex_buffer_object, GL_ARB_vertex_program, 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_minmax, GL_EXT_blend_subtract, GL_EXT_clip_volume_hint,
    GL_EXT_compiled_vertex_array, GL_EXT_convolution, GL_EXT_copy_texture,
    GL_EXT_draw_range_elements, GL_EXT_histogram, GL_EXT_packed_pixels,
    GL_EXT_polygon_offset, GL_EXT_rescale_normal, GL_EXT_secondary_color,
    GL_EXT_separate_specular_color, 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_mirror_clamp,
    GL_EXT_texture_object, GL_EXT_texture_rectangle, GL_EXT_vertex_array,
    GL_APPLE_packed_pixels, GL_ATI_blend_equation_separate,
    GL_ATI_texture_env_combine3, GL_ATI_texture_mirror_once,
    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_texture_rectangle, GL_NV_texgen_reflection, GL_NV_vertex_program,
    GL_OES_read_format, GL_SGI_color_matrix, GL_SGI_color_table,
    GL_SGIS_generate_mipmap, GL_SGIS_texture_border_clamp,
    GL_SGIS_texture_edge_clamp, GL_SGIS_texture_lod
glu version: 1.3
glu extensions:
    GLU_EXT_nurbs_tessellator, GLU_EXT_object_space_tess

   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
----------------------------------------------------------------------
0x23 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
0x24 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x25 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  0 16 16 16 16  0 0 Slow
0x26 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x27 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
0x28 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x29 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  0 16 16 16 16  0 0 Slow
0x2a 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x2b 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
0x2c 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x2d 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  0 16 16 16 16  0 0 Slow
0x2e 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x2f 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  0  0  0  0  0  0 0 None
0x30 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x31 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  0 16 16 16 16  0 0 Slow
0x32 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow


> * The first about 20 lines of console output when starting boson

eddy at merci ~/usr/src/traduceri/dipo/di/4th/samba $ boson 2>/dev/null | head -n25
eddy at merci ~/usr/src/traduceri/dipo/di/4th/samba $ boson 2>&1 | head -n25
[int main(int, char**)] resolving GL, GLX and GLU symbols
[QLibrary* loadLibrary(const QString&)] Trying to guess correct
filename for libGL
searching in dir /usr/lib/
using file /usr/lib/libGL.so
[QLibrary* loadLibrary(const QString&)] Trying to guess correct
filename for libGL
searching in dir /usr/lib/
using file /usr/lib/libGLU.so
[int main(int, char**)] GL, GLX and GLU symbols successfully resolved
open /dev/[sound/]dsp: Device or resource busy
boson: ERROR: [BosonAudioAL::BosonAudioAL()] could not open device using alc
boson: ERROR: [void BosonCanvasRenderer::initGL()] boson requires
GL_EXT_framebuffer_object
boson: ERROR: [/build/buildd/boson-0.12dfsg1/boson/gameengine/speciestheme.cpp:288]
oops - no unit properties for 18
boson: ERROR: [Unit* BosonCanvas::createUnit(Player*, long unsigned
int)] Unknown unitType 18
LoadGame: ERROR: [BosonItem* BosonCanvas::createItemFromXML(const
QDomElement&, Player*)] could not create unit type=18 for owner=129
LoadGame: ERROR: [bool BosonCanvas::loadItemsFromXML(const
QDomElement&)] failed creating item 8
boson: ERROR: [/build/buildd/boson-0.12dfsg1/boson/gameengine/speciestheme.cpp:288]
oops - no unit properties for 18
boson: ERROR: [Unit* BosonCanvas::createUnit(Player*, long unsigned
int)] Unknown unitType 18
LoadGame: ERROR: [BosonItem* BosonCanvas::createItemFromXML(const
QDomElement&, Player*)] could not create unit type=18 for owner=129
LoadGame: ERROR: [bool BosonCanvas::loadItemsFromXML(const
QDomElement&)] failed creating item 9
boson: ERROR: [/build/buildd/boson-0.12dfsg1/boson/gameengine/speciestheme.cpp:288]
oops - no unit properties for 18
boson: ERROR: [Unit* BosonCanvas::createUnit(Player*, long unsigned
int)] Unknown unitType 18
LoadGame: ERROR: [BosonItem* BosonCanvas::createItemFromXML(const
QDomElement&, Player*)] could not create unit type=18 for owner=129
LoadGame: ERROR: [bool BosonCanvas::loadItemsFromXML(const
QDomElement&)] failed creating item 10
boson: ERROR: [/build/buildd/boson-0.12dfsg1/boson/gameengine/speciestheme.cpp:288]
oops - no unit properties for 18
boson: ERROR: [Unit* BosonCanvas::createUnit(Player*, long unsigned
int)] Unknown unitType 18

> Boson checks the result of glXIsDirect(), which tells whether the GLX context
> is direct (accellerated) or not. So the warning message is just fine :-)

Are you sure that's what boson is doing? Glxgears does what you are
saying and gets a different result:

eddy at merci ~/tmp/glxgears-boson/mesa-utils-6.3.2 $ grep -i -R -n 'glXIsDirect' *
xdemos/glxinfo.c:309:      printf("direct rendering: %s\n",
glXIsDirect(dpy, ctx) ? "Yes" : "No");
xdemos/glxpbdemo.c:171:      if (!glXIsDirect(gDpy, glCtx)) {
xdemos/glxpixmap.c:79:   printf("Direct rendering: %s\n",
glXIsDirect(dpy, ctx) ? "Yes" : "No");
eddy at merci ~/tmp/glxgears-boson/mesa-utils-6.3.2 $ grep -i -R -n
'direct rendering:' *
xdemos/glxinfo.c:309:      printf("direct rendering: %s\n",
glXIsDirect(dpy, ctx) ? "Yes" : "No");
xdemos/glxpixmap.c:79:   printf("Direct rendering: %s\n",
glXIsDirect(dpy, ctx) ? "Yes" : "No");
eddy at merci ~/tmp/glxgears-boson/mesa-utils-6.3.2 $ glxinfo | grep direct
direct rendering: Yes


P.S.: I don't think the source changed since 6.3.2.


-- 
Regards,
EddyP
=============================================
"Imagination is more important than knowledge" A.Einstein




More information about the Pkg-games-devel mailing list