Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 571
  • Last Modified:

Lost a lot of graphics capability

A software change on my computer (I'm not sure what caused it) has caused me to lose a lot of graphics ability on my Compaq Presario C306US running Ubuntu 8.04 Hardy Heron.  Before, I could use the "Extra" setting in Visual Effects without suffering a performance hit but can now only use "None" to get good performance.  Also, some games I play now require lower graphics settings or I get under 10FPS, where I used to get 30.  I have confirmed this is a software problem by booting with a LiveCD, and everything worked the way it used to there.  Also, possibly related, the 2.6.24-19-openvz kernel could use my graphics card without a problem, but 2.6.24-21-openvz will only start in low graphics mode.  For now, I have to use 2.6.24-21-generic.
0
jackmcbarn
Asked:
jackmcbarn
  • 18
  • 13
2 Solutions
 
larsgaCommented:
According to google, the 306US has an Intel 950 GMA graphics adapter (probably a 945GM / GME chipset)

I am not familiar with any recent changes/updates to Ubuntu Hardy that would have a negative impact on the performance of the GMA 950. However, you might check the xorg log ('less /var/log/Xorg.0.log' on the command line or Administration | System Log | Xorg.0.log in the gui) and syslog to see if there are any error messages related to "dri" "glx" "i915".
0
 
jackmcbarnAuthor Commented:
I see this:

(WW) AIGLX: 3D driver claims to not support visual 0x23
(WW) AIGLX: 3D driver claims to not support visual 0x24
(WW) AIGLX: 3D driver claims to not support visual 0x25
(WW) AIGLX: 3D driver claims to not support visual 0x26
(WW) AIGLX: 3D driver claims to not support visual 0x27
(WW) AIGLX: 3D driver claims to not support visual 0x28
(WW) AIGLX: 3D driver claims to not support visual 0x29
(WW) AIGLX: 3D driver claims to not support visual 0x2a
(WW) AIGLX: 3D driver claims to not support visual 0x2b
(WW) AIGLX: 3D driver claims to not support visual 0x2c
(WW) AIGLX: 3D driver claims to not support visual 0x2d
(WW) AIGLX: 3D driver claims to not support visual 0x2e
(WW) AIGLX: 3D driver claims to not support visual 0x2f
(WW) AIGLX: 3D driver claims to not support visual 0x30
(WW) AIGLX: 3D driver claims to not support visual 0x31
(WW) AIGLX: 3D driver claims to not support visual 0x32

Open in new window

0
 
larsgaCommented:
Hmm. What is the output of the command 'glxinfo'?
0
Technology Partners: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
jackmcbarnAuthor Commented:
This:
name of display: :0.0
display: :0  screen: 0
direct rendering: No (If you want to find out why, try setting LIBGL_DEBUG=verbose)
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_make_current_read, 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_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_OML_swap_method, 
    GLX_SGI_make_current_read, GLX_SGI_swap_control, 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) 945GM 20061017 x86/MMX/SSE2
OpenGL version string: 1.3 Mesa 7.0.3-rc2
OpenGL extensions:
    GL_ARB_depth_texture, GL_ARB_fragment_program, GL_ARB_imaging, 
    GL_ARB_multisample, GL_ARB_multitexture, GL_ARB_point_parameters, 
    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_rectangle, GL_ARB_transpose_matrix, 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_copy_texture, GL_EXT_draw_range_elements, 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_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_lod_bias, GL_EXT_texture_object, GL_EXT_texture_rectangle, 
    GL_EXT_vertex_array, GL_3DFX_texture_compression_FXT1, 
    GL_APPLE_packed_pixels, GL_IBM_texture_mirrored_repeat, 
    GL_INGR_blend_func_separate, GL_MESA_pack_invert, GL_MESA_ycbcr_texture, 
    GL_NV_blend_square, GL_NV_light_max_exponent, GL_NV_texgen_reflection, 
    GL_NV_texture_rectangle, GL_NV_vertex_program, GL_NV_vertex_program1_1, 
    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, 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
----------------------------------------------------------------------
0x23 24 tc  0 32  0 r  y  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
0x24 24 tc  0 32  0 r  .  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
0x25 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x26 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x27 24 tc  0 32  0 r  y  .  8  8  8  8  0  0  0 16 16 16 16  0 0 Slow
0x28 24 tc  0 32  0 r  .  .  8  8  8  8  0  0  0 16 16 16 16  0 0 Slow
0x29 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x2a 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x2b 24 dc  0 32  0 r  y  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
0x2c 24 dc  0 32  0 r  .  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
0x2d 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x2e 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x2f 24 dc  0 32  0 r  y  .  8  8  8  8  0  0  0 16 16 16 16  0 0 Slow
0x30 24 dc  0 32  0 r  .  .  8  8  8  8  0  0  0 16 16 16 16  0 0 Slow
0x31 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x32 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x57 32 tc  0 32  0 r  .  .  8  8  8  8  0  0  0  0  0  0  0  0 0 Ncon
Segmentation fault

Open in new window

0
 
jackmcbarnAuthor Commented:
I'm going to see what that looks like from the LiveCD as well.
0
 
jackmcbarnAuthor Commented:
And here it is from the Ubuntu Hardy LiveCD:

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_make_current_read, 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_allocate_memory, 
    GLX_MESA_copy_sub_buffer, GLX_MESA_swap_control, 
    GLX_MESA_swap_frame_usage, GLX_OML_swap_method, GLX_SGI_make_current_read, 
    GLX_SGI_swap_control, GLX_SGI_video_sync, GLX_SGIS_multisample, 
    GLX_SGIX_fbconfig, GLX_SGIX_visual_select_group
OpenGL vendor string: Tungsten Graphics, Inc
OpenGL renderer string: Mesa DRI Intel(R) 945GM 20061017 x86/MMX/SSE2
OpenGL version string: 1.3 Mesa 7.0.3-rc2
OpenGL extensions:
    GL_ARB_depth_texture, GL_ARB_fragment_program, GL_ARB_imaging, 
    GL_ARB_multisample, GL_ARB_multitexture, GL_ARB_point_parameters, 
    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_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_cull_vertex, GL_EXT_compiled_vertex_array, GL_EXT_convolution, 
    GL_EXT_copy_texture, GL_EXT_draw_range_elements, GL_EXT_fog_coord, 
    GL_EXT_histogram, 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_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_vertex_array, GL_3DFX_texture_compression_FXT1, 
    GL_APPLE_client_storage, GL_APPLE_packed_pixels, 
    GL_ATI_blend_equation_separate, 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_NV_vertex_program1_1, 
    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, 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
----------------------------------------------------------------------
0x23 24 tc  0 32  0 r  y  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
0x24 24 tc  0 32  0 r  .  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
0x25 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x26 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x27 24 tc  0 32  0 r  y  .  8  8  8  8  0  0  0 16 16 16 16  0 0 Slow
0x28 24 tc  0 32  0 r  .  .  8  8  8  8  0  0  0 16 16 16 16  0 0 Slow
0x29 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x2a 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x2b 24 dc  0 32  0 r  y  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
0x2c 24 dc  0 32  0 r  .  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
0x2d 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x2e 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x2f 24 dc  0 32  0 r  y  .  8  8  8  8  0  0  0 16 16 16 16  0 0 Slow
0x30 24 dc  0 32  0 r  .  .  8  8  8  8  0  0  0 16 16 16 16  0 0 Slow
0x31 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x32 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x57 32 tc  0 32  0 r  .  .  8  8  8  8  0  0  0  0  0  0  0  0 0 Ncon

Open in new window

0
 
larsgaCommented:
"direct rendering: No"

Not good. drm/dri is probably failing to load for some reason. Can you find anything else in the logs related to that?
0
 
larsgaCommented:
Do 'lsmod', do you see "i915" and "drm" listed? If not, look through the logs and see if you find any error message indicating that they failed to load for some reason.
0
 
jackmcbarnAuthor Commented:
Got these lines from lsmod:

i915                   32512  2 
drm                    82452  3 i915
agpgart                34760  3 drm,intel_agp

Open in new window

0
 
jackmcbarnAuthor Commented:
More in the logs:

$ more /var/log/Xorg.0.log | grep -i drm
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is -1, (No such device or address)
drmOpenDevice: open result is -1, (No such device or address)
drmOpenDevice: Open failed
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is -1, (No such device or address)
drmOpenDevice: open result is -1, (No such device or address)
drmOpenDevice: Open failed
drmOpenByBusid: Searching for BusID pci:0000:00:02.0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 10, (OK)
drmOpenByBusid: drmOpenMinor returns 10
drmOpenByBusid: drmGetBusid reports pci:0000:00:02.0
(II) [drm] loaded kernel module for "i915" driver.
(II) [drm] DRM interface version 1.3
(II) [drm] DRM open master succeeded.
(II) intel(0): [drm] Using the DRM lock SAREA also for drawables.
(II) intel(0): [drm] framebuffer mapped by ddx driver
(II) intel(0): [drm] added 1 reserved context for kernel
(II) intel(0): [drm] installed DRM signal handler
(II) intel(0): [drm] Registers = 0xd0200000
(II) intel(0): [drm] ring buffer = 0xc0000000
(II) intel(0): [drm] mapped front buffer at 0xc1000000, handle = 0xc1000000
(II) intel(0): [drm] mapped back buffer at 0xc4000000, handle = 0xc4000000
(II) intel(0): [drm] mapped depth buffer at 0xc5000000, handle = 0xc5000000
(II) intel(0): [drm] mapped classic textures at 0xc6000000, handle = 0xc6000000
(II) intel(0): [drm] Initialized kernel agp heap manager, 33554432
(II) intel(0): [drm] dma control initialized, using IRQ 20
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 11, (OK)
drmOpenByBusid: Searching for BusID pci:0000:00:02.0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: open result is 11, (OK)
drmOpenByBusid: drmOpenMinor returns 11
drmOpenByBusid: drmGetBusid reports pci:0000:00:02.0
$ more /var/log/Xorg.0.log | grep -i dri
	X.Org Video Driver: 2.0
	X.Org XInput driver : 2.0
	ABI class: X.Org Video Driver, version 2.0
(II) LoadModule: "dri"
(II) Loading /usr/lib/xorg/modules/extensions//libdri.so
(II) Module dri: vendor="X.Org Foundation"
(II) Loading extension XFree86-DRI
(==) Matched intel for the autoconfigured driver
(==) Assigned the driver to the xf86ConfigLayout
(II) Loading /usr/lib/xorg/modules/drivers//intel_drv.so
	Module class: X.Org Video Driver
	ABI class: X.Org Video Driver, version 2.0
	Module class: X.Org XInput Driver
	ABI class: X.Org XInput driver, version 2.0
	Module class: X.Org XInput Driver
	ABI class: X.Org XInput driver, version 2.0
	Module class: X.Org XInput Driver
	ABI class: X.Org XInput driver, version 2.0
(II) intel: Driver for Intel Integrated Graphics Chipsets: i810,
	ABI class: X.Org Video Driver, version 2.0
	ABI class: X.Org Video Driver, version 2.0
	ABI class: X.Org Video Driver, version 2.0
	ABI class: X.Org Video Driver, version 2.0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: node name is /dev/dri/card0
(II) [drm] loaded kernel module for "i915" driver.
(II) intel(0): [drm] framebuffer mapped by ddx driver
(II) intel(0): [dri] visual configs initialized
(II) EXA(0): Driver registered support for the following operations:
(II) intel(0): [DRI] installation complete
drmOpenDevice: node name is /dev/dri/card0
drmOpenDevice: node name is /dev/dri/card0
(WW) AIGLX: 3D driver claims to not support visual 0x23
(WW) AIGLX: 3D driver claims to not support visual 0x24
(WW) AIGLX: 3D driver claims to not support visual 0x25
(WW) AIGLX: 3D driver claims to not support visual 0x26
(WW) AIGLX: 3D driver claims to not support visual 0x27
(WW) AIGLX: 3D driver claims to not support visual 0x28
(WW) AIGLX: 3D driver claims to not support visual 0x29
(WW) AIGLX: 3D driver claims to not support visual 0x2a
(WW) AIGLX: 3D driver claims to not support visual 0x2b
(WW) AIGLX: 3D driver claims to not support visual 0x2c
(WW) AIGLX: 3D driver claims to not support visual 0x2d
(WW) AIGLX: 3D driver claims to not support visual 0x2e
(WW) AIGLX: 3D driver claims to not support visual 0x2f
(WW) AIGLX: 3D driver claims to not support visual 0x30
(WW) AIGLX: 3D driver claims to not support visual 0x31
(WW) AIGLX: 3D driver claims to not support visual 0x32
(II) AIGLX: Loaded and initialized /usr/lib/dri/i915_dri.so
(II) GLX: Initialized DRI GL provider for screen 0
(II) Synaptics touchpad driver version 0.14.6 (1406)
$ 

Open in new window

0
 
jackmcbarnAuthor Commented:
Also, this problem seems to have started when I first started playing Sauerbraten.  It caused my computer to hang and require a restart twice.  Could it be related?
0
 
jackmcbarnAuthor Commented:
Update: tried a friend's suggestion of adding this to the Device section of xorg.conf, to no avail:

        Option          "MigrationHeuristic"    "greedy"

Open in new window

0
 
larsgaCommented:
Can you give the output of 'LIBGL_DEBUG=verbose glxinfo'?
0
 
jackmcbarnAuthor Commented:
Here:
name of display: :0.0
libGL: XF86DRIGetClientDriverName: 1.9.0 i915 (screen 0)
libGL: OpenDriver: trying /usr/lib/dri/i915_dri.so
libGL error: dlopen /usr/lib/dri/i915_dri.so failed (/usr/lib/dri/i915_dri.so: undefined symbol: _glapi_Dispatch)
libGL error: unable to load driver: i915_dri.so
display: :0  screen: 0
direct rendering: No (If you want to find out why, try setting LIBGL_DEBUG=verbose)
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_make_current_read, 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_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_OML_swap_method, 
    GLX_SGI_make_current_read, GLX_SGI_swap_control, 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) 945GM 20061017 x86/MMX/SSE2
OpenGL version string: 1.3 Mesa 7.0.3-rc2
OpenGL extensions:
    GL_ARB_depth_texture, GL_ARB_fragment_program, GL_ARB_imaging, 
    GL_ARB_multisample, GL_ARB_multitexture, GL_ARB_point_parameters, 
    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_rectangle, GL_ARB_transpose_matrix, 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_copy_texture, GL_EXT_draw_range_elements, 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_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_lod_bias, GL_EXT_texture_object, GL_EXT_texture_rectangle, 
    GL_EXT_vertex_array, GL_3DFX_texture_compression_FXT1, 
    GL_APPLE_packed_pixels, GL_IBM_texture_mirrored_repeat, 
    GL_INGR_blend_func_separate, GL_MESA_pack_invert, GL_MESA_ycbcr_texture, 
    GL_NV_blend_square, GL_NV_light_max_exponent, GL_NV_texgen_reflection, 
    GL_NV_texture_rectangle, GL_NV_vertex_program, GL_NV_vertex_program1_1, 
    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, 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
----------------------------------------------------------------------
0x23 24 tc  0 32  0 r  y  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
0x24 24 tc  0 32  0 r  .  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
0x25 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x26 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x27 24 tc  0 32  0 r  y  .  8  8  8  8  0  0  0 16 16 16 16  0 0 Slow
0x28 24 tc  0 32  0 r  .  .  8  8  8  8  0  0  0 16 16 16 16  0 0 Slow
0x29 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x2a 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x2b 24 dc  0 32  0 r  y  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
0x2c 24 dc  0 32  0 r  .  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
0x2d 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x2e 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x2f 24 dc  0 32  0 r  y  .  8  8  8  8  0  0  0 16 16 16 16  0 0 Slow
0x30 24 dc  0 32  0 r  .  .  8  8  8  8  0  0  0 16 16 16 16  0 0 Slow
0x31 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x32 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x57 32 tc  0 32  0 r  .  .  8  8  8  8  0  0  0  0  0  0  0  0 0 Ncon
Segmentation fault

Open in new window

0
 
larsgaCommented:
I think I might finally have found what the problem is.

Do a
sudo apt-get remove xorg-driver-fglrx

Then try
LIBGL_DEBUG=verbose glxinfo

and tell me if the LibGL errors disappeared and if "direct rendering: No" changed to Yes.
0
 
jackmcbarnAuthor Commented:
That did put direct rendering back to yes and fix the LibGL errors.  How was that package causing the problem anyway?
0
 
larsgaCommented:
Did it fix your performance problems?

As for the exact reason why, I'm not sure. Some people having the same problem/symptoms that you have managed to fix it by removing the fglrx package. From the discussions I could find on the problem, the cause is probably that either a kernel module (i.e. a driver) or a background deamon included in the fglrx package interferes with loading the proper _dri.so for your graphics chip.

0
 
jackmcbarnAuthor Commented:
That fixed the performance problems in all kernels except 2.6.24-21-openvz.  It still boots into Low Graphics mode there, but everything else is fine.
0
 
larsgaCommented:
That's one down, one to go. ;-p

Do you see any obvious differences in lsmod, /var/log/syslog and /var/log/Xorg.0.log when running 21-openvz compared to other kernels? i915, dri/drm would probably be the things to look for but there might be other causes.
0
 
jackmcbarnAuthor Commented:
Got this from booting into the broken kernel:


Oct 18 10:00:11 compaqlaptop kernel: [  139.865818] agpgart: disagrees about version of symbol struct_module
Oct 18 10:00:12 compaqlaptop kernel: [  139.903956] drm: Unknown symbol agp_bind_memory
Oct 18 10:00:12 compaqlaptop kernel: [  139.904147] drm: Unknown symbol agp_enable
Oct 18 10:00:12 compaqlaptop kernel: [  139.904218] drm: Unknown symbol agp_find_bridge
Oct 18 10:00:12 compaqlaptop kernel: [  139.904364] drm: Unknown symbol agp_backend_acquire
Oct 18 10:00:12 compaqlaptop kernel: [  139.904688] drm: Unknown symbol agp_free_memory
Oct 18 10:00:12 compaqlaptop kernel: [  139.904993] drm: Unknown symbol agp_allocate_memory
Oct 18 10:00:12 compaqlaptop kernel: [  139.905066] drm: Unknown symbol agp_unbind_memory
Oct 18 10:00:12 compaqlaptop kernel: [  139.905216] drm: Unknown symbol agp_copy_info
Oct 18 10:00:12 compaqlaptop kernel: [  139.905352] drm: Unknown symbol agp_backend_release
Oct 18 10:00:12 compaqlaptop kernel: [  139.907753] i915: Unknown symbol drm_open
Oct 18 10:00:12 compaqlaptop kernel: [  139.907812] i915: Unknown symbol drm_fasync
Oct 18 10:00:12 compaqlaptop kernel: [  139.907865] i915: Unknown symbol drm_poll
Oct 18 10:00:12 compaqlaptop kernel: [  139.907917] i915: Unknown symbol drm_get_resource_len
Oct 18 10:00:12 compaqlaptop kernel: [  139.907991] i915: Unknown symbol drm_core_get_reg_ofs
Oct 18 10:00:12 compaqlaptop kernel: [  139.908102] i915: Unknown symbol drm_pci_alloc
Oct 18 10:00:12 compaqlaptop kernel: [  139.908155] i915: Unknown symbol drm_irq_uninstall
Oct 18 10:00:12 compaqlaptop kernel: [  139.908229] i915: Unknown symbol drm_ioctl
Oct 18 10:00:12 compaqlaptop kernel: [  139.908281] i915: Unknown symbol drm_exit
Oct 18 10:00:12 compaqlaptop kernel: [  139.908334] i915: Unknown symbol drm_getsarea
Oct 18 10:00:12 compaqlaptop kernel: [  139.908387] i915: Unknown symbol drm_debug
Oct 18 10:00:12 compaqlaptop kernel: [  139.908439] i915: Unknown symbol drm_core_ioremapfree
Oct 18 10:00:12 compaqlaptop kernel: [  139.908492] i915: Unknown symbol drm_core_get_map_ofs
Oct 18 10:00:12 compaqlaptop kernel: [  139.908551] i915: Unknown symbol drm_get_drawable_info
Oct 18 10:00:12 compaqlaptop kernel: [  139.908604] i915: Unknown symbol drm_init
Oct 18 10:00:12 compaqlaptop kernel: [  139.908658] i915: Unknown symbol drm_addmap
Oct 18 10:00:12 compaqlaptop kernel: [  139.908729] i915: Unknown symbol drm_locked_tasklet
Oct 18 10:00:12 compaqlaptop kernel: [  139.908817] i915: Unknown symbol drm_get_resource_start
Oct 18 10:00:12 compaqlaptop kernel: [  139.908870] i915: Unknown symbol drm_vbl_send_signals
Oct 18 10:00:12 compaqlaptop kernel: [  139.908934] i915: Unknown symbol drm_pci_free
Oct 18 10:00:12 compaqlaptop kernel: [  139.908987] i915: Unknown symbol drm_core_ioremap
Oct 18 10:00:12 compaqlaptop kernel: [  139.909040] i915: Unknown symbol drm_rmmap
Oct 18 10:00:12 compaqlaptop kernel: [  139.909109] i915: Unknown symbol drm_mmap
Oct 18 10:00:12 compaqlaptop kernel: [  139.909217] i915: Unknown symbol drm_core_reclaim_buffers
Oct 18 10:00:12 compaqlaptop kernel: [  139.909279] i915: Unknown symbol drm_release
Oct 18 10:00:12 compaqlaptop kernel: [  140.119324] ppdev: user-space parallel port driver
Oct 18 10:00:18 compaqlaptop kernel: [  143.838911] agpgart: disagrees about version of symbol struct_module
Oct 18 10:00:18 compaqlaptop kernel: [  143.840004] drm: Unknown symbol agp_bind_memory
Oct 18 10:00:18 compaqlaptop kernel: [  143.840197] drm: Unknown symbol agp_enable
Oct 18 10:00:18 compaqlaptop kernel: [  143.840266] drm: Unknown symbol agp_find_bridge
Oct 18 10:00:18 compaqlaptop kernel: [  143.840411] drm: Unknown symbol agp_backend_acquire
Oct 18 10:00:18 compaqlaptop kernel: [  143.840735] drm: Unknown symbol agp_free_memory
Oct 18 10:00:18 compaqlaptop kernel: [  143.841040] drm: Unknown symbol agp_allocate_memory
Oct 18 10:00:18 compaqlaptop kernel: [  143.841113] drm: Unknown symbol agp_unbind_memory
Oct 18 10:00:18 compaqlaptop kernel: [  143.841264] drm: Unknown symbol agp_copy_info
Oct 18 10:00:18 compaqlaptop kernel: [  143.841401] drm: Unknown symbol agp_backend_release
Oct 18 10:00:18 compaqlaptop kernel: [  143.843339] i915: Unknown symbol drm_open
Oct 18 10:00:18 compaqlaptop kernel: [  143.843399] i915: Unknown symbol drm_fasync
Oct 18 10:00:18 compaqlaptop kernel: [  143.843453] i915: Unknown symbol drm_poll
Oct 18 10:00:18 compaqlaptop kernel: [  143.843506] i915: Unknown symbol drm_get_resource_len
Oct 18 10:00:18 compaqlaptop kernel: [  143.843578] i915: Unknown symbol drm_core_get_reg_ofs
Oct 18 10:00:18 compaqlaptop kernel: [  143.843689] i915: Unknown symbol drm_pci_alloc
Oct 18 10:00:18 compaqlaptop kernel: [  143.843742] i915: Unknown symbol drm_irq_uninstall
Oct 18 10:00:18 compaqlaptop kernel: [  143.843815] i915: Unknown symbol drm_ioctl
Oct 18 10:00:18 compaqlaptop kernel: [  143.843868] i915: Unknown symbol drm_exit
Oct 18 10:00:18 compaqlaptop kernel: [  143.843922] i915: Unknown symbol drm_getsarea
Oct 18 10:00:18 compaqlaptop kernel: [  143.843975] i915: Unknown symbol drm_debug
Oct 18 10:00:18 compaqlaptop kernel: [  143.844028] i915: Unknown symbol drm_core_ioremapfree
Oct 18 10:00:18 compaqlaptop kernel: [  143.844081] i915: Unknown symbol drm_core_get_map_ofs
Oct 18 10:00:18 compaqlaptop kernel: [  143.844141] i915: Unknown symbol drm_get_drawable_info
Oct 18 10:00:18 compaqlaptop kernel: [  143.844194] i915: Unknown symbol drm_init
Oct 18 10:00:18 compaqlaptop kernel: [  143.844285] i915: Unknown symbol drm_addmap
Oct 18 10:00:18 compaqlaptop kernel: [  143.844356] i915: Unknown symbol drm_locked_tasklet
Oct 18 10:00:18 compaqlaptop kernel: [  143.844445] i915: Unknown symbol drm_get_resource_start
Oct 18 10:00:18 compaqlaptop kernel: [  143.844498] i915: Unknown symbol drm_vbl_send_signals
Oct 18 10:00:18 compaqlaptop kernel: [  143.844562] i915: Unknown symbol drm_pci_free
Oct 18 10:00:18 compaqlaptop kernel: [  143.844614] i915: Unknown symbol drm_core_ioremap
Oct 18 10:00:18 compaqlaptop kernel: [  143.844667] i915: Unknown symbol drm_rmmap
Oct 18 10:00:18 compaqlaptop kernel: [  143.844737] i915: Unknown symbol drm_mmap
Oct 18 10:00:18 compaqlaptop kernel: [  143.844845] i915: Unknown symbol drm_core_reclaim_buffers
Oct 18 10:00:18 compaqlaptop kernel: [  143.844906] i915: Unknown symbol drm_release
Oct 18 10:00:25 compaqlaptop kernel: [  144.836883] agpgart: disagrees about version of symbol struct_module
Oct 18 10:00:25 compaqlaptop kernel: [  144.837968] drm: Unknown symbol agp_bind_memory
Oct 18 10:00:25 compaqlaptop kernel: [  144.838158] drm: Unknown symbol agp_enable
Oct 18 10:00:25 compaqlaptop kernel: [  144.838227] drm: Unknown symbol agp_find_bridge
Oct 18 10:00:25 compaqlaptop kernel: [  144.838371] drm: Unknown symbol agp_backend_acquire
Oct 18 10:00:25 compaqlaptop kernel: [  144.838695] drm: Unknown symbol agp_free_memory
Oct 18 10:00:25 compaqlaptop kernel: [  144.838999] drm: Unknown symbol agp_allocate_memory
Oct 18 10:00:25 compaqlaptop kernel: [  144.839072] drm: Unknown symbol agp_unbind_memory
Oct 18 10:00:25 compaqlaptop kernel: [  144.839221] drm: Unknown symbol agp_copy_info
Oct 18 10:00:25 compaqlaptop kernel: [  144.839356] drm: Unknown symbol agp_backend_release
Oct 18 10:00:25 compaqlaptop kernel: [  144.841254] i915: Unknown symbol drm_open
Oct 18 10:00:25 compaqlaptop kernel: [  144.841311] i915: Unknown symbol drm_fasync
Oct 18 10:00:25 compaqlaptop kernel: [  144.841364] i915: Unknown symbol drm_poll
Oct 18 10:00:25 compaqlaptop kernel: [  144.841418] i915: Unknown symbol drm_get_resource_len
Oct 18 10:00:25 compaqlaptop kernel: [  144.841491] i915: Unknown symbol drm_core_get_reg_ofs
Oct 18 10:00:25 compaqlaptop kernel: [  144.841602] i915: Unknown symbol drm_pci_alloc
Oct 18 10:00:25 compaqlaptop kernel: [  144.841655] i915: Unknown symbol drm_irq_uninstall
Oct 18 10:00:25 compaqlaptop kernel: [  144.841729] i915: Unknown symbol drm_ioctl
Oct 18 10:00:25 compaqlaptop kernel: [  144.841781] i915: Unknown symbol drm_exit
Oct 18 10:00:25 compaqlaptop kernel: [  144.841834] i915: Unknown symbol drm_getsarea
Oct 18 10:00:25 compaqlaptop kernel: [  144.841888] i915: Unknown symbol drm_debug
Oct 18 10:00:25 compaqlaptop kernel: [  144.841941] i915: Unknown symbol drm_core_ioremapfree
Oct 18 10:00:25 compaqlaptop kernel: [  144.841994] i915: Unknown symbol drm_core_get_map_ofs
Oct 18 10:00:25 compaqlaptop kernel: [  144.842054] i915: Unknown symbol drm_get_drawable_info
Oct 18 10:00:25 compaqlaptop kernel: [  144.842107] i915: Unknown symbol drm_init
Oct 18 10:00:25 compaqlaptop kernel: [  144.842159] i915: Unknown symbol drm_addmap
Oct 18 10:00:25 compaqlaptop kernel: [  144.842231] i915: Unknown symbol drm_locked_tasklet
Oct 18 10:00:25 compaqlaptop kernel: [  144.842320] i915: Unknown symbol drm_get_resource_start
Oct 18 10:00:25 compaqlaptop kernel: [  144.842373] i915: Unknown symbol drm_vbl_send_signals
Oct 18 10:00:25 compaqlaptop kernel: [  144.842437] i915: Unknown symbol drm_pci_free
Oct 18 10:00:25 compaqlaptop kernel: [  144.842489] i915: Unknown symbol drm_core_ioremap
Oct 18 10:00:25 compaqlaptop kernel: [  144.842542] i915: Unknown symbol drm_rmmap
Oct 18 10:00:25 compaqlaptop kernel: [  144.842611] i915: Unknown symbol drm_mmap
Oct 18 10:00:25 compaqlaptop kernel: [  144.842719] i915: Unknown symbol drm_core_reclaim_buffers
Oct 18 10:00:25 compaqlaptop kernel: [  144.842781] i915: Unknown symbol drm_release

Open in new window

0
 
larsgaCommented:
"agpgart: disagrees about version of symbol struct_module"

This usually means that the agpgart.ko you are trying to load is built/compiled for a different version of the kernel. The "Unknown symbol" errors are follow-on errors caused by agpgart not being loaded.

Now to figure out why we don't have the correct agpgart.ko for -21-openvz...
0
 
jackmcbarnAuthor Commented:
Anything else I should do or try?
0
 
larsgaCommented:
'find /lib/modules/2.6.24-21-openvz' says what?

Also for each of the files the above command lists, could you do:
dpkg -S full-path-to-file
0
 
larsgaCommented:
Sorry. 'find /lib/modules/2.6.24-21-openvz -name agpgart.ko'
0
 
jackmcbarnAuthor Commented:
Tried your second one, and also did it for all 4 of the kernels:

$ find /lib/modules/2.6.24-21-openvz -name agpgart.ko
/lib/modules/2.6.24-21-openvz/kernel/drivers/char/agp/agpgart.ko
/lib/modules/2.6.24-21-openvz/ubuntu/char/intel-agp-ich9m/agpgart.ko
$ find /lib/modules/2.6.24-21-generic -name agpgart.ko
/lib/modules/2.6.24-21-generic/kernel/drivers/char/agp/agpgart.ko
/lib/modules/2.6.24-21-generic/ubuntu/char/intel-agp-ich9m/agpgart.ko
$ find /lib/modules/2.6.24-19-openvz -name agpgart.ko
/lib/modules/2.6.24-19-openvz/kernel/drivers/char/agp/agpgart.ko
/lib/modules/2.6.24-19-openvz/ubuntu/char/intel-agp-ich9m/agpgart.ko
$ find /lib/modules/2.6.24-19-generic -name agpgart.ko
/lib/modules/2.6.24-19-generic/kernel/drivers/char/agp/agpgart.ko
/lib/modules/2.6.24-19-generic/ubuntu/char/intel-agp-ich9m/agpgart.ko
$

Open in new window

0
 
jackmcbarnAuthor Commented:
Got this from dpkg -S commands:

$ dpkg -S /lib/modules/2.6.24-21-openvz/kernel/drivers/char/agp/agpgart.ko
 
linux-image-2.6.24-21-openvz: /lib/modules/2.6.24-21-openvz/kernel/drivers/char/agp/agpgart.ko
$ dpkg -S /lib/modules/2.6.24-21-openvz/ubuntu/char/intel-agp-ich9m/agpgart.ko
linux-ubuntu-modules-2.6.24-21-openvz: /lib/modules/2.6.24-21-openvz/ubuntu/char/intel-agp-ich9m/agpgart.ko
$

Open in new window

0
 
jackmcbarnAuthor Commented:
Also, doing dpkg -S for the other listed files yielded the same result, except for the different kernel in the package name.
0
 
larsgaCommented:
That looks perfectly normal.

Could you try uninstalling/reinstalling the packages and see if that helps?
  sudo apt-get remove linux-image-2.6.24-21-openvz linux-ubuntu-modules-2.6.24-21-openvz
  sudo apt-get install linux-image-2.6.24-21-openvz linux-ubuntu-modules-2.6.24-21-openvz

Then reboot and see if the agpgart symbol struct_module error goes away.

If that doesn't fix it, it might be that the 21-openvz packages somehow managed to include bad versions of agpgart.ko. I looked in the ubuntu bug system, but didn't find anything specific for the GMA 950 (did however find a fglrx/agpgart problem reported in 21-openvz). I can test this on a machine here too, but it will take some time.
0
 
larsgaCommented:
Just tested -21-openvz on a machine here that has GMA 950 gfx. I get the exact same problem. This pretty much proves that the Ubuntu folks managed to ship the -21-openvz kernel with a bungled agpgart driver. I'll write up a report on it in their bug tracker so that it can be fixed in -22 or -23.

In the meantime, I guess you will just have to use -21-generic or -19-openvz.
0
 
jackmcbarnAuthor Commented:
Okay, thanks for your help.
0
 
jackmcbarnAuthor Commented:
Thanks for all your help again.  Hopefully the bug you submitted for me will get fixed soon.
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

  • 18
  • 13
Tackle projects and never again get stuck behind a technical roadblock.
Join Now