Re: Hardware OpenGL

Emeric Maschino <[email protected]> 01 Aug 2003 09:21:20 +0200
Newsgroups gmane.linux.redhat.ia64.general
Message-ID <1059722480.32464.5.camel@giulietta>
Le mar 29/07/2003 à 22:44, David Mosberger a écrit :
> >>>>> On 29 Jul 2003 18:41:01 +0200, Emeric Maschino <[email protected]> said:
> 
>   Emeric> Hi there, I have a problem to get OpenGL running in hardware
>   Emeric> on my nVIDIA Quadro2 Pro graphics adapter. I'm running an hp
>   Emeric> workstation i2000 with Red Hat 7.2 for IPF and the nVIDIA
>   Emeric> drivers are installed. I've developed a minimal OpenGL 3D
>   Emeric> viewer in C++ with KDevelop. ldd shows that I'm linking with
>   Emeric> the right libGL.so library provided with the nVIDIA
>   Emeric> drivers. Unfortunately, nothing is hardware accelerated. The
>   Emeric> same project, with the same configuration (Qt project), runs
>   Emeric> accelerated on a IA-32 platform. I've checked the hardware
>   Emeric> acceleration on my i2000 by running the IA-64 version of
>   Emeric> Quake2 (sorry for the reference!): it runs extremely
>   Emeric> smoothly at 1280x1024 with all details on and shadows
>   Emeric> activated. Is there something special to do to have hardware
>   Emeric> acceleration when writing project?
> 
> Are you by chance linking the application statically?  IIRC, Nvidia
> only provides shared versions of libGL so if you were to link
> statically, you might end up getting the default libGL.
> 
> BTW: Instead of quake2, it might be easier/more informative to use
> glxinfo to see if hw acceleration is enabled/working.
> 
> 	--david

Here is the output of glxinfo (all seems to be OK)

display: :0.0  screen:0
direct rendering: Yes
server glx vendor string: NVIDIA Corporation
server glx version string: 1.2
server glx extensions:
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_SGIX_fbconfig, 
    GLX_SGIX_pbuffer
client glx vendor string: NVIDIA Corporation
client glx version string: 1.2
client glx extensions:
    GLX_ARB_get_proc_address, GLX_ARB_multisample, GLX_EXT_visual_info, 
    GLX_EXT_visual_rating, GLX_EXT_import_context, GLX_SGI_video_sync, 
    GLX_SGIX_swap_group, GLX_SGIX_swap_barrier, GLX_SGIX_fbconfig, 
    GLX_SGIX_pbuffer, GLX_NV_float_buffer
GLX extensions:
    GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_SGIX_fbconfig, 
    GLX_SGIX_pbuffer, GLX_ARB_get_proc_address
OpenGL vendor string: NVIDIA Corporation
OpenGL renderer string: Quadro2 Pro/AGP/SSE
OpenGL version string: 1.4.0 NVIDIA 43.51
OpenGL extensions:
    GL_ARB_imaging, GL_ARB_multitexture, GL_ARB_point_parameters, 
    GL_ARB_texture_compression, GL_ARB_texture_cube_map, 
    GL_ARB_texture_env_add, GL_ARB_texture_env_combine, 
    GL_ARB_texture_env_dot3, GL_ARB_texture_mirrored_repeat, 
    GL_ARB_transpose_matrix, GL_ARB_vertex_program, GL_ARB_window_pos, 
    GL_S3_s3tc, GL_EXT_abgr, GL_EXT_bgra, GL_EXT_blend_color, 
    GL_EXT_blend_minmax, GL_EXT_blend_subtract, GL_EXT_clip_volume_hint,
    GL_EXT_compiled_vertex_array, GL_EXT_draw_range_elements, 
    GL_EXT_fog_coord, GL_EXT_multi_draw_arrays, GL_EXT_packed_pixels, 
    GL_EXT_paletted_texture, GL_EXT_point_parameters,
GL_EXT_rescale_normal, 
    GL_EXT_secondary_color, GL_EXT_separate_specular_color, 
    GL_EXT_shared_texture_palette, GL_EXT_stencil_wrap, 
    GL_EXT_texture_compression_s3tc, GL_EXT_texture_cube_map, 
    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, 
    GL_EXT_texture_lod_bias, GL_EXT_texture_object, GL_EXT_vertex_array,
    GL_EXT_vertex_weighting, GL_IBM_texture_mirrored_repeat, 
    GL_KTX_buffer_region, GL_NV_blend_square, GL_NV_fence, 
    GL_NV_fog_distance, GL_NV_light_max_exponent,
GL_NV_packed_depth_stencil, 
    GL_NV_pixel_data_range, GL_NV_point_sprite,
GL_NV_register_combiners, 
    GL_NV_texgen_reflection, GL_NV_texture_env_combine4, 
    GL_NV_texture_rectangle, GL_NV_vertex_array_range, 
    GL_NV_vertex_array_range2, GL_NV_vertex_program,
GL_NV_vertex_program1_1, 
    GL_SGIS_generate_mipmap, GL_SGIS_multitexture, GL_SGIS_texture_lod
glu version: 1.1 Mesa 3.4.2
glu extensions:
    GL_EXT_abgr

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

And here is the output of ldd on my exec:

	libGL.so.1 => /usr/lib/libGL.so.1 (0x200000000005c000)
	libGLU.so.1 => /usr/lib/libGLU.so.1 (0x2000000000130000)
	libqt.so.2 => /usr/lib/qt-2.3.1/lib/libqt.so.2 (0x200000000016c000)
	libpng.so.2 => /usr/lib/libpng.so.2 (0x2000000000bb8000)
	libz.so.1 => /usr/lib/libz.so.1 (0x2000000000c10000)
	libjpeg.so.62 => /usr/lib/libjpeg.so.62 (0x2000000000c3c000)
	libXext.so.6 => /usr/X11R6/lib/libXext.so.6 (0x2000000000c98000)
	libX11.so.6 => /usr/X11R6/lib/libX11.so.6 (0x2000000000ccc000)
	libresolv.so.2 => /lib/libresolv.so.2 (0x2000000000ec0000)
	libSM.so.6 => /usr/X11R6/lib/libSM.so.6 (0x2000000000ef4000)
	libICE.so.6 => /usr/X11R6/lib/libICE.so.6 (0x2000000000f18000)
	libstdc++-libc6.2-2.so.3 => /usr/lib/libstdc++-libc6.2-2.so.3
(0x2000000000f58000)
	libm.so.6.1 => /lib/libm.so.6.1 (0x2000000000fe0000)
	libc.so.6.1 => /lib/libc.so.6.1 (0x200000000107c000)
	libGLcore.so.1 => /usr/lib/libGLcore.so.1 (0x20000000012e4000)
	libdl.so.2 => /lib/libdl.so.2 (0x2000000001f94000)
	libXft.so.1 => /usr/X11R6/lib/libXft.so.1 (0x2000000001fac000)
	libmng.so.1 => /usr/lib/libmng.so.1 (0x2000000002004000)
	/lib/ld-linux-ia64.so.2 => /lib/ld-linux-ia64.so.2 (0x2000000000000000)
	libXrender.so.1 => /usr/X11R6/lib/libXrender.so.1 (0x20000000020a8000)
	libfreetype.so.6 => /usr/lib/libfreetype.so.6 (0x20000000020c4000)

I have checked /usr/lib/libGL.so.1 and /usr/lib/libGLcore.so.1: they're
links on the files provided by nVIDIA. Only /usr/lib/libGLU.so.1 is a
link on a file provided by the Mesa project, as confirmed by the glxinfo
(glu version: 1.1 Mesa 3.4.2).

What's wrong?