From: Brian P. <br...@tu...> - 2003-07-09 14:34:40
|
Simon Vogl wrote: > Hi, > I am trying to get chromium up and running in our lab, > but am running into troubles... > The story so far: I have already have a running chromium > setup, although using mesa only. > > Now I want hardware 3d-acceleration as well (naturally). After some > inquiries at Matrox and fiddling around with kernel options and versions, > I now have X with hw acceleration, at least glxgears,atlantis > etc. run ok, the whales swim around at >160fps @2048x768. > > The matrox drivers exchange gl.h, glx.h (adding matrox extensions). > As gl.h breaks the chromium compile process*, I compiled it with the > standard gl.h that comes with xfree 4.2.1. > > > When I try to start a demo using chromium, crserver crashes every time > just after the window is created. I ran it with gdb and got the following > output: > > Starting program: /data/tmp/cr-1.3/bin/Linux/crserver > [New Thread 1024 (LWP 21791)] > CR Debug(wall4:21791): Networking already initialized! > CR Warning(wall4:21791): Couldn't find the CRMOTHERSHIP environment > variable, defaulting to localhost > CR Debug(wall4:21791): calling crNetConnectToServer( "localhost", 10000, > 8096, 0 ) > CR Debug(wall4:21791): Connecting to server wall4 on port 10000, with > protocol tcpip > CR Debug(wall4:21791): Calling crTCPIPInit() > CR Warning(wall4:21791): Initializing TCPIP > > CR Debug(wall4:21791): Calling crTCPIPConnection > CR Debug(wall4:21791): Done calling crTCPIPConnection > CR Debug(wall4:21791): Done connecting to server. > CR Debug(wall4:21791): SPU 1/1: (0) "render" > CR Debug(wall4:21791): crNetSetRank: set my_rank to 0 > CR Debug(wall4:21791): initializing dispatch table 0x8112400 (for SPU > error) > CR Debug(wall4:21791): Done initializing the dispatch table for SPU > error, calling the self function > CR Debug(wall4:21791): Done with the self function > CR Debug(wall4:21791): Networking already initialized! > CR Warning(wall4:21791): Couldn't find the CRMOTHERSHIP environment > variable, defaulting to localhost > CR Debug(wall4:21791): calling crNetConnectToServer( "localhost", 10000, > 8096, 0 ) > CR Debug(wall4:21791): Connecting to server wall4 on port 10000, with > protocol tcpip > CR Debug(wall4:21791): Calling crTCPIPInit() > CR Debug(wall4:21791): Calling crTCPIPConnection > CR Debug(wall4:21791): Done calling crTCPIPConnection > CR Debug(wall4:21791): Done connecting to server. > CR Debug(wall4:21791): Looking for the system's OpenGL library... > CR Debug(wall4:21791): Found it in default path. > CR Debug(wall4:21791): Render SPU: Creating default window (visBits=0x1, > id=0) > CR Debug(wall4:21791): Render SPU: Looks like we have GLX > CR Debug(wall4:21791): Render SPU: Chose visual id=0x23: RGBA=(8,8,8,8) > Z=24 stencil=8 double=0 stereo=0 accum=(0,0,0,0) > CR Debug(wall4:21791): Render SPU: Creating window (visBits=0x1, id=0) > CR Debug(wall4:21791): Render SPU: Created window on display :0.0, > Xvisual 0x23 > CR Debug(wall4:21791): Render SPU: actual window x, y, width, height: > 100, 100, 800, 400 > CR Debug(wall4:21791): WindowCreate returned 0 > CR Debug(wall4:21791): Render SPU: Created DIRECT context on display > :0.0, Xvisual 0x23 > CR Debug(wall4:21791): Render SPU: GL_VENDOR: Matrox Graphics Inc. > CR Debug(wall4:21791): Render SPU: GL_RENDERER: OpenGL Linux library for > Parhelia > CR Debug(wall4:21791): Render SPU: GL_VERSION: 1.3 > CR Debug(wall4:21791): initializing dispatch table 0x8110798 (for SPU > render) > CR Debug(wall4:21791): Done initializing the dispatch table for SPU > render, calling the self function > CR Debug(wall4:21791): Done with the self function > CR Debug(wall4:21791): Networking already initialized! > CR Warning(wall4:21791): Couldn't find the CRMOTHERSHIP environment > variable, defaulting to localhost > CR Debug(wall4:21791): calling crNetConnectToServer( "localhost", 10000, > 8096, 0 ) > CR Debug(wall4:21791): Connecting to server wall4 on port 10000, with > protocol tcpip > CR Debug(wall4:21791): Calling crTCPIPInit() > CR Debug(wall4:21791): Calling crTCPIPConnection > CR Debug(wall4:21791): Done calling crTCPIPConnection > CR Debug(wall4:21791): Done connecting to server. > > > Program received signal SIGINT, Interrupt. > [Switching to Thread 1024 (LWP 21791)] > 0x402d8812 in recv () from /lib/libc.so.6 > (gdb) break glXGetProcAddressARB > Breakpoint 1 at 0x408367a4 > (gdb) cont > Continuing. > <...now spawning crappfaker> > CR Debug(wall4:21791): Accepted connection from "wall4". > CR Debug(wall4:21791): No tiling information for server! > CR Warning(wall4:21791): Total output dimensions = (0, 0) > CR Debug(wall4:21791): Adding to the run queue: client=0x81100b8 > number=0 count=1 > CR Debug(wall4:21791): CALLING INIT ON 0x80c10e0 > CR Debug(wall4:21791): Buffer pool was empty, so I allocated 1048596 bytes. > I did so from the buffer: 0x4012eecc > CR Debug(wall4:21791): sizeof(CRTCPIPBuffer): 20 > CR Debug(wall4:21791): sizeof(conn->buffer_size): 1048576 > > CR Debug(wall4:21791): Render SPU: Looks like we have GLX > CR Debug(wall4:21791): Render SPU: Chose visual id=0x22: RGBA=(8,8,8,8) > Z=24 stencil=8 double=1 stereo=0 accum=(0,0,0,0) > CR Debug(wall4:21791): Render SPU: Created DIRECT context on display > :0.0, Xvisual 0x22 > CR Debug(wall4:21791): Render SPU: Looks like we have GLX > CR Debug(wall4:21791): Render SPU: Chose visual id=0x22: RGBA=(8,8,8,8) > Z=24 stencil=8 double=1 stereo=0 accum=(0,0,0,0) > CR Debug(wall4:21791): Render SPU: Creating window (visBits=0x2f, id=1) > CR Debug(wall4:21791): Render SPU: Created window on display :0.0, > Xvisual 0x22 > CR Debug(wall4:21791): Render SPU: actual window x, y, width, height: > 100, 100, 800, 400 > CR Debug(wall4:21791): Render SPU: Created window on display :0.0, > Xvisual 0x22 > CR Debug(wall4:21791): Render SPU: actual window x, y, width, height: > 100, 100, 800, 400 > > Program received signal SIGSEGV, Segmentation fault. > 0x40839fcd in glXGetProcAddressARB () from /usr/lib/libGL.so > (gdb) bt > #0 0x40839fcd in glXGetProcAddressARB () from /usr/lib/libGL.so > #1 0x40a24504 in glXGetProcAddressARB () from /usr/lib/libGL.so > #2 0x00000067 in ?? () > Cannot access memory at address 0x3e00002 > (gdb) info frame > Stack level 0, frame at 0x85c7368: > eip = 0x40839fcd in glXGetProcAddressARB; saved eip 0x67 > (FRAMELESS), called by frame at 0x85c7368 > Arglist at 0x85c7368, args: > Locals at 0x85c7368, Previous frame's sp is 0x0 > Saved registers: > ebp at 0x85c7368, eip at 0x85c736c > > > Where should I start digging around to get this running?? > thanks for insights, Looks like this may be a bug in glXGetProcAddressARB in the Matrox driver. I'm going to send you a test program from Mesa for testing the glXGetProcAddressARB function. > p.s.: glxinfo finds the following: > [vogl /data/tmp/cr-1.3/mothership/configs]$ glxinfo > name of display: :0.0 > display: :0 screen: 0 > direct rendering: Yes > server glx vendor string: Matrox Graphics Inc. > server glx version string: 1.3 > server glx extensions: > GLX_EXT_visual_info, GLX_EXT_visual_rating, GLX_EXT_import_context > client glx vendor string: Matrox Graphics Inc. > client glx version string: 1.3 > client glx extensions: > GLX_ARB_get_proc_address, GLX_EXT_visual_rating, GLX_EXT_visual_info, > GLX_SGI_swap_control > GLX extensions: > GLX_ARB_get_proc_address, GLX_EXT_visual_rating, GLX_EXT_visual_info, > GLX_SGI_swap_control > OpenGL vendor string: Matrox Graphics Inc. > OpenGL renderer string: OpenGL Linux library for Parhelia > OpenGL version string: 1.3 > OpenGL extensions: > GL_ARB_multisample, GL_ARB_multitexture, GL_ARB_point_parameters, > 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_dot3, > GL_ARB_transpose_matrix, GL_S3_s3tc, GL_ATI_element_array, > GL_ATI_vertex_array_object, GL_Autodesk_valid_back_buffer_hint, > GL_EXT_bgra, GL_EXT_blend_color, 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_compiled_vertex_array, > GL_EXT_draw_range_elements, GL_EXT_element_array, GL_EXT_fog_coord, > GL_EXT_multi_draw_arrays, GL_EXT_packed_pixels, > GL_EXT_point_parameters, > 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_texture3D, GL_EXT_texture_compression_s3tc, > GL_EXT_texture_cube_map, GL_EXT_texture_edge_clamp, > GL_EXT_texture_env_add, GL_EXT_texture_filter_anisotropic, > GL_EXT_texture_lod_bias, GL_EXT_texture_object, GL_EXT_vertex_array, > GL_EXT_vertex_array_object, GL_EXT_texture_env_combine, > GL_EXT_texture_env_dot3, GL_KTX_buffer_region, GL_MTX_fragment_shader, > GL_NV_texgen_reflection, GL_SGIS_multitexture, 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 > ---------------------------------------------------------------------- > 0x22 24 tc 0 32 0 r y . 8 8 8 8 0 24 8 0 0 0 0 0 0 None > 0x23 24 tc 0 32 0 r . . 8 8 8 8 0 24 8 0 0 0 0 0 0 None > 0x24 24 tc 0 32 0 r y . 8 8 8 8 0 24 8 8 8 8 8 0 0 None > 0x25 24 tc 0 32 0 r . . 8 8 8 8 0 24 8 8 8 8 8 0 0 None > > > > > > *) I get tons of already defined as well as missing functions starting > at util/bbox.c: > > n file included from ../include/chromium.h:37, > from ../include/state/cr_statetypes.h:10, > from ../include/cr_bbox.h:10, > from bbox.c:8: > ../include/GL/glext.h:1672:1: "GL_CONSTANT_COLOR0_NV" redefined > In file included from /usr/include/GL/glx.h:17, > from ../include/chromium.h:32, > from ../include/state/cr_statetypes.h:10, > from ../include/cr_bbox.h:10, > from bbox.c:8: > /usr/include/GL/gl.h:1003:1: this is the location of the previous > definition Could you send me the Matrox gl.h header? -Brian |