Page 2 of 2 FirstFirst 12
Results 11 to 18 of 18

Thread: Unable to run Webgl in Firefox nightly under (ubuntu) linux

  1. #11
    Junior Member
    Join Date
    Nov 2009
    Posts
    1

    Re: Unable to run Webgl in Firefox nightly under (ubuntu) linux

    OpenGL renderer string: Mesa DRI Mobile Intel® GM45 Express Chipset GEM 20090326 2009Q1 RC2 x86/MMX/SSE2
    OpenGL version string: 2.0 Mesa 7.4
    OpenGL shading language version string: 1.10
    That is an old driver. Try upgrade to 9.10, or try using ppa ubuntu x-updates. The new intel driver may support glsl > 1.10.

  2. #12
    Junior Member
    Join Date
    Nov 2009
    Posts
    7

    Re: Unable to run Webgl in Firefox nightly under (ubuntu) linux

    Quote Originally Posted by lingo
    That is an old driver. Try upgrade to 9.10, or try using ppa ubuntu x-updates. The new intel driver may support glsl > 1.10.
    yeah, I tried out ubuntu 9.10 with no luck, but didnt saved the glxinfo. I will try it out one more time, and post the glxinfo.

  3. #13
    Junior Member
    Join Date
    Nov 2009
    Posts
    3

    Re: Unable to run Webgl in Firefox nightly under (ubuntu) linux

    I have the same issue (can't find symbol activetexture) on 9.10 with mesa software rendering, gl version 2.1, glsl 1.2

    my glxinfo:

    Code :
    name of display: :0.0
    display: :0  screen: 0
    direct rendering: Yes
    server glx vendor string: Brian Paul
    server glx version string: 1.4 Mesa 7.7-devel
    server glx extensions:
        GLX_MESA_copy_sub_buffer, GLX_MESA_pixmap_colormap, 
        GLX_MESA_release_buffers, GLX_ARB_get_proc_address, 
        GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info, GLX_EXT_visual_rating, 
        GLX_SGIX_fbconfig, GLX_SGIX_pbuffer
    client glx vendor string: Brian Paul
    client glx version string: 1.4 Mesa 7.7-devel
    client glx extensions:
        GLX_MESA_copy_sub_buffer, GLX_MESA_pixmap_colormap, 
        GLX_MESA_release_buffers, GLX_ARB_get_proc_address, 
        GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info, GLX_EXT_visual_rating, 
        GLX_SGIX_fbconfig, GLX_SGIX_pbuffer
    GLX version: 1.4
    GLX extensions:
        GLX_MESA_copy_sub_buffer, GLX_MESA_pixmap_colormap, 
        GLX_MESA_release_buffers, GLX_ARB_get_proc_address, 
        GLX_EXT_texture_from_pixmap, GLX_EXT_visual_info, GLX_EXT_visual_rating, 
        GLX_SGIX_fbconfig, GLX_SGIX_pbuffer
    OpenGL vendor string: Brian Paul
    OpenGL renderer string: Mesa X11
    OpenGL version string: 2.1 Mesa 7.7-devel
    OpenGL shading language version string: 1.20
    OpenGL extensions:
        GL_ARB_copy_buffer, GL_ARB_depth_texture, GL_ARB_depth_clamp, 
        GL_ARB_draw_buffers, GL_ARB_draw_elements_base_vertex, 
        GL_ARB_fragment_program, GL_ARB_fragment_program_shadow, 
        GL_ARB_fragment_shader, GL_ARB_framebuffer_object, 
        GL_ARB_half_float_pixel, GL_ARB_imaging, GL_ARB_map_buffer_range, 
        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_provoking_vertex, GL_ARB_shader_objects, 
        GL_ARB_shading_language_100, GL_ARB_shading_language_120, GL_ARB_shadow, 
        GL_ARB_shadow_ambient, GL_ARB_sync, 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_array_bgra, GL_ARB_vertex_array_object, 
        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_compiled_vertex_array, GL_EXT_convolution, GL_EXT_copy_texture, 
        GL_EXT_depth_bounds_test, GL_EXT_draw_range_elements, 
        GL_EXT_framebuffer_object, GL_EXT_framebuffer_blit, GL_EXT_fog_coord, 
        GL_EXT_gpu_program_parameters, GL_EXT_histogram, GL_EXT_multi_draw_arrays, 
        GL_EXT_packed_depth_stencil, GL_EXT_packed_pixels, 
        GL_EXT_paletted_texture, GL_EXT_pixel_buffer_object, 
        GL_EXT_point_parameters, GL_EXT_polygon_offset, GL_EXT_provoking_vertex, 
        GL_EXT_rescale_normal, GL_EXT_secondary_color, 
        GL_EXT_separate_specular_color, GL_EXT_shadow_funcs, 
        GL_EXT_shared_texture_palette, GL_EXT_stencil_two_side, 
        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_lod_bias, GL_EXT_texture_mirror_clamp, 
        GL_EXT_texture_object, GL_EXT_texture_rectangle, GL_EXT_texture_sRGB, 
        GL_EXT_texture_swizzle, GL_EXT_timer_query, GL_EXT_vertex_array, 
        GL_EXT_vertex_array_bgra, GL_3DFX_texture_compression_FXT1, 
        GL_APPLE_packed_pixels, GL_APPLE_vertex_array_object, 
        GL_ATI_blend_equation_separate, GL_ATI_envmap_bumpmap, 
        GL_ATI_texture_env_combine3, GL_ATI_texture_mirror_once, 
        GL_ATI_fragment_shader, GL_ATI_separate_stencil, 
        GL_IBM_multimode_draw_arrays, GL_IBM_rasterpos_clip, 
        GL_IBM_texture_mirrored_repeat, GL_INGR_blend_func_separate, 
        GL_MESA_pack_invert, GL_MESA_resize_buffers, GL_MESA_texture_array, 
        GL_MESA_ycbcr_texture, GL_MESA_window_pos, GL_NV_blend_square, 
        GL_NV_depth_clamp, GL_NV_fragment_program, GL_NV_fragment_program_option, 
        GL_NV_light_max_exponent, GL_NV_point_sprite, GL_NV_texture_env_combine4, 
        GL_NV_texture_rectangle, GL_NV_texgen_reflection, GL_NV_vertex_program, 
        GL_NV_vertex_program1_1, GL_OES_read_format, GL_SGI_color_matrix, 
        GL_SGI_color_table, GL_SGI_texture_color_table, GL_SGIS_generate_mipmap, 
        GL_SGIS_texture_border_clamp, GL_SGIS_texture_edge_clamp, 
        GL_SGIS_texture_lod, GL_SUN_multi_draw_arrays
     
    17 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 16 tc  0 16  0 r  y  .  5  6  5  0  0 16  8 16 16 16 16  0 0 None
    0x22 16 dc  0 16  0 r  y  .  5  6  5  0  0 16  8 16 16 16 16  0 0 None
    0x4e 16 tc  0 16  0 r  y  .  5  6  5  0  0 16  8 16 16 16 16  0 0 None
    0x4f 16 tc  0 16  0 r  y  .  5  6  5  0  0 16  8 16 16 16 16  0 0 None
    0x50 16 tc  0 16  0 r  y  .  5  6  5  0  0 16  8 16 16 16 16  0 0 None
    0x51 16 tc  0 16  0 r  y  .  5  6  5  0  0 16  8 16 16 16 16  0 0 None
    0x52 16 tc  0 16  0 r  y  .  5  6  5  0  0 16  8 16 16 16 16  0 0 None
    0x53 16 tc  0 16  0 r  y  .  5  6  5  0  0 16  8 16 16 16 16  0 0 None
    0x54 16 tc  0 16  0 r  y  .  5  6  5  0  0 16  8 16 16 16 16  0 0 None
    0x55 16 dc  0 16  0 r  y  .  5  6  5  0  0 16  8 16 16 16 16  0 0 None
    0x56 16 dc  0 16  0 r  y  .  5  6  5  0  0 16  8 16 16 16 16  0 0 None
    0x57 16 dc  0 16  0 r  y  .  5  6  5  0  0 16  8 16 16 16 16  0 0 None
    0x58 16 dc  0 16  0 r  y  .  5  6  5  0  0 16  8 16 16 16 16  0 0 None
    0x59 16 dc  0 16  0 r  y  .  5  6  5  0  0 16  8 16 16 16 16  0 0 None
    0x5a 16 dc  0 16  0 r  y  .  5  6  5  0  0 16  8 16 16 16 16  0 0 None
    0x5b 16 dc  0 16  0 r  y  .  5  6  5  0  0 16  8 16 16 16 16  0 0 None
    0x3d 32 tc  0 32  0 r  y  .  8  8  8  0  0 16  8 16 16 16  0  0 0 None
     
    17 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
    ----------------------------------------------------------------------
    0x21  0 tc  0 16  0 r  y  .  5  6  5  0  0 16  8 16 16 16 16  0 0 None
    0x22  0 dc  0 16  0 r  y  .  5  6  5  0  0 16  8 16 16 16 16  0 0 None
    0x4e  0 tc  0 16  0 r  y  .  5  6  5  0  0 16  8 16 16 16 16  0 0 None
    0x4f  0 tc  0 16  0 r  y  .  5  6  5  0  0 16  8 16 16 16 16  0 0 None
    0x50  0 tc  0 16  0 r  y  .  5  6  5  0  0 16  8 16 16 16 16  0 0 None
    0x51  0 tc  0 16  0 r  y  .  5  6  5  0  0 16  8 16 16 16 16  0 0 None
    0x52  0 tc  0 16  0 r  y  .  5  6  5  0  0 16  8 16 16 16 16  0 0 None
    0x53  0 tc  0 16  0 r  y  .  5  6  5  0  0 16  8 16 16 16 16  0 0 None
    0x54  0 tc  0 16  0 r  y  .  5  6  5  0  0 16  8 16 16 16 16  0 0 None
    0x55  0 dc  0 16  0 r  y  .  5  6  5  0  0 16  8 16 16 16 16  0 0 None
    0x56  0 dc  0 16  0 r  y  .  5  6  5  0  0 16  8 16 16 16 16  0 0 None
    0x57  0 dc  0 16  0 r  y  .  5  6  5  0  0 16  8 16 16 16 16  0 0 None
    0x58  0 dc  0 16  0 r  y  .  5  6  5  0  0 16  8 16 16 16 16  0 0 None
    0x59  0 dc  0 16  0 r  y  .  5  6  5  0  0 16  8 16 16 16 16  0 0 None
    0x5a  0 dc  0 16  0 r  y  .  5  6  5  0  0 16  8 16 16 16 16  0 0 None
    0x5b  0 dc  0 16  0 r  y  .  5  6  5  0  0 16  8 16 16 16 16  0 0 None
    0x3d  0 tc  0 32  0 r  y  .  8  8  8  0  0 16  8 16 16 16 16  0 0 None

  4. #14
    Junior Member
    Join Date
    Nov 2009
    Posts
    7

    Re: Unable to run Webgl in Firefox nightly under (ubuntu) linux

    I've been wrangling the Firefox WebGL Linux backend earlier this year. The drivers that I've tested on Linux are the ATI and Nvidia binary drivers. I remember getting OSMesa to work too at some point, but it was rather difficult, as it requires some specific version (the Windows webgl-mesa-751.zip seems to have 7.5.1, maybe that's it).

    The situation with the open source drivers, older hardware and Intel drivers I don't know about, so this thread is good information. Another interesting thing would be to know if the WebGL-enabled Chromium Linux builds work when Firefox doesn't.

    If WebGL doesn't work on your drivers, file a bug on the Firefox bugzilla at http://bugzilla.mozilla.org under Core->Canvas:WebGL. Sending a bug report to the driver developer would be good as well (possibly even more useful than filing it on bugzilla, as the driver devs can actually fix driver bugs).

    Last time I touched the GLX backend was this spring, so my memory is a bit hazy...

    Anyhow, the GLX backend is using pbuffers for drawing and glxChooseFBConfig for setting up the drawing context. The GLSL version isn't checked for, but a lot of the demos use 1.20, so 1.10 drivers won't work on those. Each WebGL canvas runs in its own GLX context.

    If you can figure out how to run multiple GLX pbuffer contexts on your drivers (and creating and deleting them on the fly without crashing), that could be used to make Firefox WebGL work on the drivers. See test program at the end of this post.

    ATI drivers required some hack workaround which isn't present in the current implementation. I don't know if it's still needed. With the workaround, it worked on a HD4850 and sort of on a Radeon 9600 (IIRC 9600 was missing a symbol and had some weird rendering bug). Recent Nvidia drivers (180.44) on my Geforce 7600 GS work fine.

    [out-of-date] Bugzilla bug for the ATI workarounds: https://bugzilla.mozilla.org/show_bug.cgi?id=486277

    Code :
    /*
      GLX test program for managing multiple pbuffer contexts.
      If this doesn't segfault, Firefox WebGL might work too.
     
      $ gcc -lGL -lX11 glx_pbuffer_test.c -o glx_pbuffer_test
      $ ./glx_pbuffer_test
    */
     
    #include <GL/glx.h>
    #include <GL/gl.h>
     
    int attrib[] = { GLX_DRAWABLE_TYPE, GLX_PBUFFER_BIT,
                     GLX_RENDER_TYPE,   GLX_RGBA_BIT,
                     GLX_RED_SIZE, 1,
                     GLX_GREEN_SIZE, 1,
                     GLX_BLUE_SIZE, 1,
                     GLX_ALPHA_SIZE, 1,
                     GLX_DEPTH_SIZE, 1,
                     None 
    };
     
    int pbuf_attrib[] = {
      GLX_PBUFFER_WIDTH, 400,
      GLX_PBUFFER_HEIGHT, 400,
      None
    };
     
    struct Pctx {
      Display *display;
      GLXContext ctx;
      GLXPbuffer pbuf;
    };
     
     
    struct Pctx makeCtx() {
      int num;
     
      struct Pctx pctx;
     
      Display *display = XOpenDisplay(NULL);
     
      GLXFBConfig *configs = glXChooseFBConfig(
        display, DefaultScreen(display), 
        attrib, &num);
      GLXFBConfig config = *configs;
      GLXContext ctx = glXCreateNewContext(display, config, GLX_RGBA_TYPE, 0, 1);
      XFree(configs);
     
      GLXPbuffer pbuf = glXCreatePbuffer(display, config, attrib);
      glXMakeContextCurrent(display, pbuf, pbuf, ctx);
     
      pctx.display = display;
      pctx.pbuf = pbuf;
      pctx.ctx = ctx;
     
      return pctx;
    }
     
    void destroyCtx (struct Pctx ctx) {
      glXMakeContextCurrent(ctx.display, 0, 0, 0);
      glXDestroyPbuffer(ctx.display, ctx.pbuf);
      glXDestroyContext(ctx.display, ctx.ctx);
      XCloseDisplay(ctx.display);
    }
     
    int main () {
      struct Pctx c1, c2;
      c1 = makeCtx();
      c2 = makeCtx();
      destroyCtx(c2);
      glXMakeContextCurrent(c1.display, c1.pbuf, c1.pbuf, c1.ctx);
     
      return 0;
    }

  5. #15
    Member Coolcat's Avatar
    Join Date
    Oct 2009
    Location
    NRW, Germany
    Posts
    75

    Re: Unable to run Webgl in Firefox nightly under (ubuntu) linux

    Another interesting thing would be to know if the WebGL-enabled Chromium Linux builds work when Firefox doesn't.
    For me does Firefox work, but Chromium doesn't However, this is probably a Fedora specific (known) problem.

  6. #16
    Junior Member
    Join Date
    Nov 2009
    Posts
    7

    Re: Unable to run Webgl in Firefox nightly under (ubuntu) linux

    I think I found the OSMesa bug. The Firefox GL wrapper lib looks for mglActiveTexture etc. when using OSMesa, but the OSMesa lib uses glActiveTexture. Making it check for glActiveTexture etc. made OSMesa work here.

  7. #17
    Junior Member
    Join Date
    Nov 2009
    Posts
    7

    Re: Unable to run Webgl in Firefox nightly under (ubuntu) linux


  8. #18
    Junior Member
    Join Date
    May 2010
    Posts
    16

    Re: Unable to run Webgl in Firefox nightly under (ubuntu) linux

    Hi

    If you don't want to recompile Minefield or wait for this patch to be accepted, you can just compile libOSMesa with changed names. I've put the instructions on my site (http://guciek.net/en/3d/osmesa_webgl).

    Hope it's useful.

Page 2 of 2 FirstFirst 12

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •