From: Get Takacs
That's pretty a pretty interesting observation /and/ menu. Thanks for pointing them out.
So how do we go about doing this? Has DTrace been ported to Linux yet? Bugging people usually works better if you can point them at the problem with a bit more detail than "prims in SL 0wned your driver lolz!!111"

/Get
You're right that the lack of detail wouldn't be very helpful. However, lately (read: today) I've had a very different experience with SL on Linux. It's been a long road, but the end result is very positive.
Here's a summary:
(1) I'm on x86_64 Ubuntu 8.04 RC with Intel 965GM chipset (X3100) integrated graphics.
(2) I am using Michelle2 Zenovka's x86_64 build of the latest SL Viewer, 1.19.1(4). The "why" of this is below.
(3) I am using the latest GIT (development) versions of Mesa-DRI, the DRM kernel modules, libdrm, xorg-xserver, and xf86-video-intel from freedesktop.org.
(4) The latest Mesa interface to the i965 chipset's DRI advertises OpenGL 2.1 support (See below glxinfo call; really cool stuff is bolded).
And now, the RESULTS...
(5) With medium detail (Basic Shaders off -- they cause a userspace (soft) crash of the program after about 10 seconds), with Vertex Buffer Objects on, I get 10 to 15 FPS in a very primmy area, over water, with several avatars standing around dancing.
Compare this to 0.1 FPS on lowest detail with the drivers shipped with Ubuntu 8.04! Wow!
The Mesa/DRI/DRM/Xorg team has been making a lot of progress of late, it seems, even without DRI2. The new work towards supporting OpenGL 2.1 with hardware, rather than software, is making SL a very enjoyable thing with the 965 chipset, even with Windlight!
The details of my trials and tribulations to get this running are listed below the glxinfo that I promised you.
me@computer:~$ 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_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_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, GLX_EXT_texture_from_pixmap
OpenGL vendor string: Tungsten Graphics, Inc
OpenGL renderer string: Mesa DRI Intel(R) 965GM 20061102
OpenGL version string: 2.1 Mesa 7.1
OpenGL extensions:
GL_ARB_depth_texture, GL_ARB_draw_buffers, GL_ARB_fragment_program,
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_shading_language_120, 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_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
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
0x55 32 tc 0 32 0 r . . 8 8 8 8 0 0 0 0 0 0 0 0 0 None
--- How I did it ---
-I built the latest git version of the DRM kernel modules, libdrm, the Xorg xserver itself, Mesa-DRI, and xf86-video-intel (the xserver Intel chipset DDX), all from the "master" branches of the respective repositories on freedesktop.org. These are not using DRI2 because the lack of DRI2 support in the xf86-video-intel "master" branch holds back the entire stack from using DRI2. This is probably for the better right now, since DRI2 support is still very experimental.
-I built libdrm for 32-bit as well, and installed it into /usr/lib32 (the rest go into /usr/lib, which is a symlink to /usr/lib64 on Ubuntu 8.04).
-Unfortunately, the 32-bit mesa depends on a 32-bit X11 development environment (for example, /usr/lib32/pkgconfig/x11.pc). Ubuntu's repositories only ship 32-bit binaries for X11 and the X server, as far as I can tell.
-Unfortunately again, trying to coerce the xorg-xserver SDK to build for 32-bit requires libx11 and a plethora of other modular libraries to be built for 32-bit and have the respective pkg-config entries.
-This would be very exhausting work to check out all the freedesktop.org lib* under the xorg project and build them for 32-bit.

-Instead, I simply downloaded and installed Michelle2 Zinovka's excellent build of the latest stable SL viewer as of this writing, 1.19.1(4). I am fine without voice support, and the additional open source components included (OpenAL and Gstreamer) are icing on the cake.
-During the install I had a hitch with a version mismatch between Hardy's version of libboost-regex, and the version expected by Michelle's package. To resolve this, I took the long way around and used the "equivs" program (hand-edited by me so it's not broken) to create a dummy package for the libboost-regex version desired, so my Debian package database would be in a consistent state.
-So now I have a consistent dpkg database, a running SL client that uses no proprietary software, a development version of the 3d stack that uses no proprietary software, and I get 10-15 FPS. And it's running as x86_64 code.
Very important info: You should be aware that each individual Mesa DRI driver has a differing level of support for the OpenGL spec. Brian Paul usually plows ahead with implementing a 100% software (rasterized) version of the OpenGL spec and advertises that "Mesa" supports that spec; however, in reality, most of the DRI drivers lag several OpenGL versions behind Brian's work.
At the current time, it appears that contributors from Tungsten Graphics, Red Hat and Intel are making the most progress on the Intel 965 DRI backend to Mesa. If you use another Intel chipset, such as the 945, it has its own set of bugs, limitations, and support for OpenGL, which I am uninformed on.
Of course, if you go with Nvidia for the solution to your original problem of choosing an integrated chipset, you'll have their binary drivers to fall back on.
But I'm just saying that the open source alternative has really shaped up for me.
-Tiyuk