Strange graphical corruption in Ubuntu with Intel X3100

Hello! I’m new to Panda3D; I’ve just started messing with the tutorials.

I’m getting some strange graphical corruption when I try to run the second tutorial program.

It’s like the screen isn’t getting redrawn properly; it smears as it rotates. Here is an example:

The more it rotates, the longer that smear gets.

I’m running Ubuntu 9.04. I’m using an Intel integrated X3100 graphics card. Any idea how to resolve this?

Sorry to hear about the problems- but with an integrated video card 3d performance will be spotty at best- especially under Ubuntu.

Mind you that Intel has made leaps and bounds with their graphics cards but they are not meant for gaming or 3d usage over all. The reason why is power, video, and processing:

developer.nvidia.com/object/cg_t … _home.html this link is to a free book on cg programming by nvidia and it explains the how and why video cards do what they do.

Anyway

For under fifty bucks you can buy a nvidia card that can handle the engine properly. But if you are using a laptop or cant afford the video card two other things that will help:

one: google running 3d games like Jade Empire, WOW, or Warhammer etc on Ubuntu using Intel integrated graphics. They have a lot of tricks on getting your video card to perform better. But turning off Compiz and desk efffects in Ubuntu will be the minimum. Also there are some accelerated graphics drivers for Intel that promise better performance- but results are not consistent.

two: Increase your system memory- On my hybrid that has intel video I tripled my video performance by increasing my system memory, becuase many intel cards integrated into the motherboard can use physical system memory for additional resources. I can program on Panda but I canot do much texture swapping, chrome rendering etc it just tears and smears like your screen shows becuase the card just cannot handle it. But I can do the panda scenes fine but I have four gb memory too and 2.5ghz processor.

JB Skaggs

Ok, unhelpful.

I know Intel graphics cards don’t get great performance, but I can run Guild Wars, Unreal Tournament 2004, Knights of the Old Republic, and Prince of Persia: Sands of Time (the latter with graphical detail on high) with acceptable performance in Windows. I’m not planning on doing anything graphically intense with Panda, and Intel cards aren’t that bad.

Thanks for the link to the book, but I’m using Panda because I don’t want to get down with the nitty-gritty of graphics cards. I’m a n00b at 3D graphics, I don’t have a ton of free time to learn this right now, and I like abstraction.

This is a laptop. I can’t upgrade the hardware, and getting an Nvidia card in this model would have cut the battery life to like a third of what I currently get.

Yeah, I’m not using Compiz, though I eagerly await DRI2, which will supposedly make all those issues a thing of the past.

All Linux Intel drivers have 3D acceleration. You’ll have to be more specific. :wink:

I’ve got two gigs of ram and a dual core processor. Like I said, I can handle stuff loads more complex (heck, even HDR. It’s slow, but I don’t get corruption) when I’m running Windows.

Performance is a lot worse under Linux, but Panda3D is the first engine I’ve encountered that’s actually had graphical corruption. Are you saying this is a driver issue?

Edit: Ok, yeah. It is a driver bug. Sorry.

For me it was driver issue- Panda ran fairly well under Windows Vista on Intel Integrated but not Ubuntu.

I had to track down a specialized Intel driver for Ubuntu to get any performance at all. Im sorry but I dont use that computer anymore and I do not remember the driver name.

I am a noob at Panda and Python- but I think this is a Ubuntu / Intel driver issue rather than a Panda one since I had the same video and overcame it with no adjustments to Panda3d. Yes I could play Guildwars- but not Dawn of War, Spore, or Jade Empire with any performance on Ubuntu and Intel.

Intel Integrated Video are not bad cards, but they are not designed to be gaming cards- they are low level / low load graphics cards.

Sorry I couldn’t help you.

JB Skaggs

Interesting. Digging through the aranaxis source reveals they disable the GL_EXT_texture_compression_s3tc, GL_ARB_multitexture and GL_ARB_vertex_buffer_object extensions when safe mode is enabled.

Can you try running pview, moving the camera around, and see if that gives any issues? Can you try the same for an entirely untextured model?

Also, please give me the full output of running pview (if it also gives the problem) or the sample with this added to /etc/Config.prc:

notify-level-display debug

I exported the default cube in blender to an x file, then used x2egg to convert it, and loaded it into the scene rotation demo, and that is also leaving a smear.

I get the same issue with pview. It leaves a trail of textured blue triangles. Using the untextured cube in pview has the same issue.

$ pview
:display: loading display module: libpandagl.so
:display(debug): symbol of get_pipe_type_pandagl = 0x7fea6df26300
:display(debug): pipe_type_index = 513
:display(debug): pipe_type = glxGraphicsPipe
Known pipe types:
  glxGraphicsPipe
(all display modules loaded.)
:display(debug): DisplayRegion::do_compute_pixels(800, 600)
:display(debug): DisplayRegion::do_compute_pixels(800, 600)
:display(debug): Creating new window window1
:display(debug): Created glxGraphicsWindow 0x1c774d8
:display(debug): Windows resorted: window1(0)
 window1(0)
:display:glxdisplay(debug): 0: color_bits=24 alpha_bits=8 force_hardware=1 force_software=1  (pixmap)
:display:glxdisplay(debug): 1: color_bits=24 alpha_bits=8 force_hardware=1 force_software=1  (pixmap)
:display:glxdisplay(debug): 2: depth_bits=24 color_bits=24 alpha_bits=8 stencil_bits=8 force_hardware=1 force_software=1  (pixmap)
:display:glxdisplay(debug): 3: depth_bits=24 color_bits=24 alpha_bits=8 stencil_bits=8 force_hardware=1 force_software=1  (pixmap)
:display:glxdisplay(debug): 4: depth_bits=24 color_bits=24 alpha_bits=8 stencil_bits=8 force_hardware=1 force_software=1  (pixmap)
:display:glxdisplay(debug): 5: depth_bits=24 color_bits=24 alpha_bits=8 stencil_bits=8 force_hardware=1 force_software=1  (pixmap)
:display:glxdisplay(debug): 6: color_bits=24 alpha_bits=8 back_buffers=1 force_hardware=1 force_software=1  (pixmap)
:display:glxdisplay(debug): 7: color_bits=24 alpha_bits=8 back_buffers=1 force_hardware=1 force_software=1  (pixmap)
:display:glxdisplay(debug): 8: color_bits=24 alpha_bits=8 back_buffers=1 force_hardware=1 force_software=1  (pixmap)
:display:glxdisplay(debug): 9: color_bits=24 alpha_bits=8 back_buffers=1 force_hardware=1 force_software=1  (pixmap)
:display:glxdisplay(debug): 10: depth_bits=24 color_bits=24 alpha_bits=8 stencil_bits=8 back_buffers=1 force_hardware=1 force_software=1  (pixmap)
:display:glxdisplay(debug): 11: depth_bits=24 color_bits=24 alpha_bits=8 stencil_bits=8 back_buffers=1 force_hardware=1 force_software=1  (pixmap)
:display:glxdisplay(debug): 12: depth_bits=24 color_bits=24 alpha_bits=8 stencil_bits=8 back_buffers=1 force_hardware=1 force_software=1  (pixmap)
:display:glxdisplay(debug): 13: depth_bits=24 color_bits=24 alpha_bits=8 stencil_bits=8 back_buffers=1 force_hardware=1 force_software=1  (pixmap)
:display:glxdisplay(debug): 14: depth_bits=24 color_bits=24 alpha_bits=8 stencil_bits=8 back_buffers=1 force_hardware=1 force_software=1  (pixmap)
:display:glxdisplay(debug): 15: depth_bits=24 color_bits=24 alpha_bits=8 stencil_bits=8 back_buffers=1 force_hardware=1 force_software=1  (pixmap)
:display:glxdisplay(debug): 16: depth_bits=24 color_bits=24 alpha_bits=8 stencil_bits=8 back_buffers=1 force_hardware=1 force_software=1  (pixmap)
:display:glxdisplay(debug): 17: depth_bits=24 color_bits=24 alpha_bits=8 stencil_bits=8 back_buffers=1 force_hardware=1 force_software=1  (pixmap)
:display:glxdisplay(debug): 18: color_bits=24 alpha_bits=8 accum_bits=64 force_hardware=1 force_software=1  (pixmap) (slow)
:display:glxdisplay(debug): 19: color_bits=24 alpha_bits=8 accum_bits=64 force_hardware=1 force_software=1  (pixmap) (slow)
:display:glxdisplay(debug): 20: depth_bits=24 color_bits=24 alpha_bits=8 stencil_bits=8 accum_bits=64 force_hardware=1 force_software=1  (pixmap) (slow)
:display:glxdisplay(debug): 21: depth_bits=24 color_bits=24 alpha_bits=8 stencil_bits=8 accum_bits=64 force_hardware=1 force_software=1  (pixmap) (slow)
:display:glxdisplay(debug): 22: depth_bits=24 color_bits=24 alpha_bits=8 stencil_bits=8 accum_bits=64 force_hardware=1 force_software=1  (pixmap) (slow)
:display:glxdisplay(debug): 23: depth_bits=24 color_bits=24 alpha_bits=8 stencil_bits=8 accum_bits=64 force_hardware=1 force_software=1  (pixmap) (slow)
:display:glxdisplay(debug): 24: color_bits=24 alpha_bits=8 accum_bits=64 back_buffers=1 force_hardware=1 force_software=1  (pixmap) (slow)
:display:glxdisplay(debug): 25: color_bits=24 alpha_bits=8 accum_bits=64 back_buffers=1 force_hardware=1 force_software=1  (pixmap) (slow)
:display:glxdisplay(debug): 26: color_bits=24 alpha_bits=8 accum_bits=64 back_buffers=1 force_hardware=1 force_software=1  (pixmap) (slow)
:display:glxdisplay(debug): 27: color_bits=24 alpha_bits=8 accum_bits=64 back_buffers=1 force_hardware=1 force_software=1  (pixmap) (slow)
:display:glxdisplay(debug): 28: depth_bits=24 color_bits=24 alpha_bits=8 stencil_bits=8 accum_bits=64 back_buffers=1 force_hardware=1 force_software=1  (pixmap) (slow)
:display:glxdisplay(debug): 29: depth_bits=24 color_bits=24 alpha_bits=8 stencil_bits=8 accum_bits=64 back_buffers=1 force_hardware=1 force_software=1  (pixmap) (slow)
:display:glxdisplay(debug): 30: depth_bits=24 color_bits=24 alpha_bits=8 stencil_bits=8 accum_bits=64 back_buffers=1 force_hardware=1 force_software=1  (pixmap) (slow)
:display:glxdisplay(debug): 31: depth_bits=24 color_bits=24 alpha_bits=8 stencil_bits=8 accum_bits=64 back_buffers=1 force_hardware=1 force_software=1  (pixmap) (slow)
:display:glxdisplay(debug): 32: depth_bits=24 color_bits=24 alpha_bits=8 stencil_bits=8 accum_bits=64 back_buffers=1 force_hardware=1 force_software=1  (pixmap) (slow)
:display:glxdisplay(debug): 33: depth_bits=24 color_bits=24 alpha_bits=8 stencil_bits=8 accum_bits=64 back_buffers=1 force_hardware=1 force_software=1  (pixmap) (slow)
:display:glxdisplay(debug): 34: depth_bits=24 color_bits=24 alpha_bits=8 stencil_bits=8 accum_bits=64 back_buffers=1 force_hardware=1 force_software=1  (pixmap) (slow)
:display:glxdisplay(debug): 35: depth_bits=24 color_bits=24 alpha_bits=8 stencil_bits=8 accum_bits=64 back_buffers=1 force_hardware=1 force_software=1  (pixmap) (slow)
:display:gsg:glgsg(debug): GL_VENDOR = Tungsten Graphics, Inc
:display:gsg:glgsg(debug): GL_RENDERER = Mesa DRI Intel(R) 965GM GEM 20090326 2009Q1 RC2
:display:gsg:glgsg(debug): GL_VERSION = 2.0 Mesa 7.4
:display:gsg:glgsg(debug): GL_VERSION = 2.0 Mesa 7.4, decoded to 2.0.0
:display:gsg:glgsg(debug): GLX_VENDOR (client) = SGI
:display:gsg:glgsg(debug): GLX_VERSION (client) = 1.4
:display:gsg:glgsg(debug): GLX_VENDOR (server) = SGI
:display:gsg:glgsg(debug): GLX_VERSION (server) = 1.2
:display:gsg:glgsg(debug): GLX_VERSION = 1.2
:display:gsg:glgsg(debug): GL Extensions:
:display:gsg:glgsg(debug): GLX_ARB_get_proc_address
:display:gsg:glgsg(debug): GLX_ARB_multisample
:display:gsg:glgsg(debug): GLX_EXT_import_context
:display:gsg:glgsg(debug): GLX_EXT_visual_info
:display:gsg:glgsg(debug): GLX_EXT_visual_rating
:display:gsg:glgsg(debug): GLX_MESA_copy_sub_buffer
:display:gsg:glgsg(debug): GLX_MESA_swap_control
:display:gsg:glgsg(debug): GLX_MESA_swap_frame_usage
:display:gsg:glgsg(debug): GLX_OML_swap_method
:display:gsg:glgsg(debug): GLX_SGIS_multisample
:display:gsg:glgsg(debug): GLX_SGIX_fbconfig
:display:gsg:glgsg(debug): GLX_SGIX_visual_select_group
:display:gsg:glgsg(debug): GLX_SGI_make_current_read
:display:gsg:glgsg(debug): GLX_SGI_swap_control
:display:gsg:glgsg(debug): GLX_SGI_video_sync
:display:gsg:glgsg(debug): GL_3DFX_texture_compression_FXT1
:display:gsg:glgsg(debug): GL_APPLE_client_storage
:display:gsg:glgsg(debug): GL_APPLE_packed_pixels
:display:gsg:glgsg(debug): GL_ARB_depth_texture
:display:gsg:glgsg(debug): GL_ARB_draw_buffers
:display:gsg:glgsg(debug): GL_ARB_fragment_program
:display:gsg:glgsg(debug): GL_ARB_fragment_program_shadow
:display:gsg:glgsg(debug): GL_ARB_fragment_shader
:display:gsg:glgsg(debug): GL_ARB_multisample
:display:gsg:glgsg(debug): GL_ARB_multitexture
:display:gsg:glgsg(debug): GL_ARB_occlusion_query
:display:gsg:glgsg(debug): GL_ARB_pixel_buffer_object
:display:gsg:glgsg(debug): GL_ARB_point_parameters
:display:gsg:glgsg(debug): GL_ARB_point_sprite
:display:gsg:glgsg(debug): GL_ARB_shader_objects
:display:gsg:glgsg(debug): GL_ARB_shading_language_100
:display:gsg:glgsg(debug): GL_ARB_shadow
:display:gsg:glgsg(debug): GL_ARB_texture_border_clamp
:display:gsg:glgsg(debug): GL_ARB_texture_compression
:display:gsg:glgsg(debug): GL_ARB_texture_cube_map
:display:gsg:glgsg(debug): GL_ARB_texture_env_add
:display:gsg:glgsg(debug): GL_ARB_texture_env_combine
:display:gsg:glgsg(debug): GL_ARB_texture_env_crossbar
:display:gsg:glgsg(debug): GL_ARB_texture_env_dot3
:display:gsg:glgsg(debug): GL_ARB_texture_mirrored_repeat
:display:gsg:glgsg(debug): GL_ARB_texture_non_power_of_two
:display:gsg:glgsg(debug): GL_ARB_texture_rectangle
:display:gsg:glgsg(debug): GL_ARB_transpose_matrix
:display:gsg:glgsg(debug): GL_ARB_vertex_buffer_object
:display:gsg:glgsg(debug): GL_ARB_vertex_program
:display:gsg:glgsg(debug): GL_ARB_vertex_shader
:display:gsg:glgsg(debug): GL_ARB_window_pos
:display:gsg:glgsg(debug): GL_ATI_blend_equation_separate
:display:gsg:glgsg(debug): GL_ATI_separate_stencil
:display:gsg:glgsg(debug): GL_ATI_texture_env_combine3
:display:gsg:glgsg(debug): GL_EXT_abgr
:display:gsg:glgsg(debug): GL_EXT_bgra
:display:gsg:glgsg(debug): GL_EXT_blend_color
:display:gsg:glgsg(debug): GL_EXT_blend_equation_separate
:display:gsg:glgsg(debug): GL_EXT_blend_func_separate
:display:gsg:glgsg(debug): GL_EXT_blend_logic_op
:display:gsg:glgsg(debug): GL_EXT_blend_minmax
:display:gsg:glgsg(debug): GL_EXT_blend_subtract
:display:gsg:glgsg(debug): GL_EXT_clip_volume_hint
:display:gsg:glgsg(debug): GL_EXT_compiled_vertex_array
:display:gsg:glgsg(debug): GL_EXT_copy_texture
:display:gsg:glgsg(debug): GL_EXT_cull_vertex
:display:gsg:glgsg(debug): GL_EXT_draw_range_elements
:display:gsg:glgsg(debug): GL_EXT_fog_coord
:display:gsg:glgsg(debug): GL_EXT_framebuffer_object
:display:gsg:glgsg(debug): GL_EXT_multi_draw_arrays
:display:gsg:glgsg(debug): GL_EXT_packed_depth_stencil
:display:gsg:glgsg(debug): GL_EXT_packed_pixels
:display:gsg:glgsg(debug): GL_EXT_pixel_buffer_object
:display:gsg:glgsg(debug): GL_EXT_point_parameters
:display:gsg:glgsg(debug): GL_EXT_polygon_offset
:display:gsg:glgsg(debug): GL_EXT_rescale_normal
:display:gsg:glgsg(debug): GL_EXT_secondary_color
:display:gsg:glgsg(debug): GL_EXT_separate_specular_color
:display:gsg:glgsg(debug): GL_EXT_shadow_funcs
:display:gsg:glgsg(debug): GL_EXT_stencil_wrap
:display:gsg:glgsg(debug): GL_EXT_subtexture
:display:gsg:glgsg(debug): GL_EXT_texture
:display:gsg:glgsg(debug): GL_EXT_texture3D
:display:gsg:glgsg(debug): GL_EXT_texture_edge_clamp
:display:gsg:glgsg(debug): GL_EXT_texture_env_add
:display:gsg:glgsg(debug): GL_EXT_texture_env_combine
:display:gsg:glgsg(debug): GL_EXT_texture_env_dot3
:display:gsg:glgsg(debug): GL_EXT_texture_filter_anisotropic
:display:gsg:glgsg(debug): GL_EXT_texture_lod_bias
:display:gsg:glgsg(debug): GL_EXT_texture_object
:display:gsg:glgsg(debug): GL_EXT_texture_rectangle
:display:gsg:glgsg(debug): GL_EXT_texture_sRGB
:display:gsg:glgsg(debug): GL_EXT_vertex_array
:display:gsg:glgsg(debug): GL_IBM_rasterpos_clip
:display:gsg:glgsg(debug): GL_IBM_texture_mirrored_repeat
:display:gsg:glgsg(debug): GL_INGR_blend_func_separate
:display:gsg:glgsg(debug): GL_MESA_pack_invert
:display:gsg:glgsg(debug): GL_MESA_window_pos
:display:gsg:glgsg(debug): GL_MESA_ycbcr_texture
:display:gsg:glgsg(debug): GL_NV_blend_square
:display:gsg:glgsg(debug): GL_NV_light_max_exponent
:display:gsg:glgsg(debug): GL_NV_point_sprite
:display:gsg:glgsg(debug): GL_NV_texgen_reflection
:display:gsg:glgsg(debug): GL_NV_texture_rectangle
:display:gsg:glgsg(debug): GL_NV_vertex_program
:display:gsg:glgsg(debug): GL_NV_vertex_program1_1
:display:gsg:glgsg(debug): GL_OES_read_format
:display:gsg:glgsg(debug): GL_SGIS_generate_mipmap
:display:gsg:glgsg(debug): GL_SGIS_texture_border_clamp
:display:gsg:glgsg(debug): GL_SGIS_texture_edge_clamp
:display:gsg:glgsg(debug): GL_SGIS_texture_lod
:display:gsg:glgsg(debug): GL_SGIX_depth_texture
:display:gsg:glgsg(debug): GL_SUN_multi_draw_arrays
:display:gsg:glgsg(debug): Getting run-time PointParameter pointers
:display:gsg:glgsg(debug): HAS EXT GLX_ARB_get_proc_address 1
:display:gsg:glgsg(debug): HAS EXT GL_ARB_point_sprite 1
:display:gsg:glgsg(debug): HAS EXT GL_ARB_vertex_blend 0
:display:gsg:glgsg(debug): HAS EXT GL_ARB_matrix_palette 0
:display:gsg:glgsg(debug): Getting run-time DrawRangeElements pointers
:display:gsg:glgsg(debug): HAS EXT GL_ARB_depth_texture 1
:display:gsg:glgsg(debug): HAS EXT GL_EXT_packed_depth_stencil 1
:display:gsg:glgsg(debug): Getting run-time 3-D textures pointers
:display:gsg:glgsg(debug): HAS EXT GL_ARB_texture_cube_map 1
:display:gsg:glgsg(debug): Getting run-time compressed textures pointers
:display:gsg:glgsg(debug): HAS EXT GL_EXT_bgra 1
:display:gsg:glgsg(debug): HAS EXT GL_EXT_rescale_normal 1
:display:gsg:glgsg(debug): HAS EXT GL_ARB_multisample 1
:display:gsg:glgsg(debug): HAS EXT GL_SGIS_generate_mipmap 1
:display:gsg:glgsg(debug): HAS EXT GL_ARB_texture_non_power_of_two 1
:display:gsg:glgsg(debug): Getting run-time multitexture pointers
:display:gsg:glgsg(debug): HAS EXT GL_ARB_depth_texture 1
:display:gsg:glgsg(debug): HAS EXT GL_ARB_shadow 1
:display:gsg:glgsg(debug): HAS EXT GL_ARB_fragment_program_shadow 1
:display:gsg:glgsg(debug): HAS EXT GL_ARB_texture_env_combine 1
:display:gsg:glgsg(debug): HAS EXT GL_ARB_texture_env_crossbar 1
:display:gsg:glgsg(debug): HAS EXT GL_ARB_texture_env_dot3 1
:display:gsg:glgsg(debug): Getting run-time buffer pointers
:display:gsg:glgsg(debug): HAS EXT GL_ATI_draw_buffers 0
:display:gsg:glgsg(debug): HAS EXT GL_EXT_framebuffer_object 1
:display:gsg:glgsg(debug): Getting run-time occlusion pointers
:display:gsg:glgsg(debug): Occlusion query counter provides 64 bits.
:display:gsg:glgsg(debug): Getting run-time blend pointers
:display:gsg:glgsg(debug): Getting run-time BlendColor pointers
:display:gsg:glgsg(debug): HAS EXT GL_SGIS_texture_edge_clamp 1
:display:gsg:glgsg(debug): HAS EXT GL_ARB_texture_border_clamp 1
:display:gsg:glgsg(debug): HAS EXT GL_ARB_texture_mirrored_repeat 1
:display:gsg:glgsg(debug): HAS EXT GL_EXT_texture_mirror_clamp 0
:display:gsg:glgsg(debug): max texture dimension = 2048, max 3d texture = 256, max cube map = 2048
:display:gsg:glgsg(debug): max_elements_vertices = 3000, max_elements_indices = 3000
:display:gsg:glgsg(debug): vertex buffer objects are supported.
:display:gsg:glgsg(debug): Supported compressed texture formats:
  GL_COMPRESSED_RGB_FXT1_3DFX
  GL_COMPRESSED_RGBA_FXT1_3DFX
  Unknown compressed format 0x8c4c
  Unknown compressed format 0x8c4d
  Unknown compressed format 0x8c4e
  Unknown compressed format 0x8c4f
:display:gsg:glgsg(debug): HAS EXT GL_EXT_texture_filter_anisotropic 1
:display:gsg:glgsg(debug): HAS EXT GL_EXT_stencil_wrap 1
:display:gsg:glgsg(debug): HAS EXT GL_EXT_stencil_two_side 0
:display:gsg:glgsg(debug): max lights = 8
:display:gsg:glgsg(debug): max clip planes = 6
:display:gsg:glgsg(debug): max texture stages = 8
:display:gsg:glgsg(debug): 
Cg vertex profile = arbvp1  id = 6150
Cg pixel profile = arbfp1  id = 7000
shader model = 2
:display:gsg:glgsg(debug): HAS EXT GLX_SGI_swap_control 1
:display:glxdisplay(debug): Raw mice not requested.
:display(debug): DisplayRegion::do_compute_pixels(800, 600)
:display(debug): system_changed_properties(size=(800, 600) )
:display(debug): system_changed_size(800, 600)
:display(debug): system_changed_properties(size=(800, 600) )
:display(debug): system_changed_size(800, 600)
:display(debug): system_changed_properties(!minimized )
:display(debug): system_changed_properties(foreground )
:display(debug): DisplayRegion::do_compute_pixels(800, 600)
:display(debug): DisplayRegion::do_compute_pixels(800, 600)
:display: Unable to set window properties: !undecorated 
:display:gsg:glgsg(debug): loading uncompressed texture rock-floor.rgb
:display:gsg:glgsg(debug): loading new texture object, 256 x 256 x 1, mipmaps 1, uses_mipmaps = 0
:display: Closing glxGraphicsWindow
:display(debug): system_changed_properties(!open )
:display(debug): 0x1c7ff88 close_gsg glxGraphicsStateGuardian
:display:gsg:glgsg(debug): GLGraphicsStateGuardian 0x1c7ff88 destructing
:display(debug): 0x1c7ff88 close_gsg GLGraphicsStateGuardian
:display(debug): Removed glxGraphicsWindow 0x1c774d8
802 frames in 13.1147 seconds.
61.1529 fps average (16.3525ms)

In Blender, the top and bottom areas of the display view are showing this same corruption, (but not the menu, the control panel at the bottom, or the center where they cube is). Definitely wasn’t like that before I upgraded to Ubuntu 9.04.

Wait, it says it’s using Mesa? So you’re not using true 3d acceleration?
What does glxinfo say?

I was under the impression that the Intel drivers were supposed to be using Mesa. Is this not the case?

glxinfo says I’m using direct rendering. That generally implies 3D acceleration, doesn’t it? WarSow runs at acceptable framerate on medium settings, and I can use shiny desktop effects in KDE4, so there’s some sort of acceleration going on.

$ 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_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_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) 965GM GEM 20090326 2009Q1 RC2
OpenGL version string: 2.0 Mesa 7.4
OpenGL shading language version string: 1.10
OpenGL extensions:
    GL_ARB_depth_texture, GL_ARB_draw_buffers, GL_ARB_fragment_program, 
    GL_ARB_fragment_program_shadow, 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_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_texture_env_combine3, 
    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

36 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 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
0x8b 24 tc  0 32  0 r  .  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
0x8c 24 tc  0 32  0 r  .  .  8  8  8  8  0  0  0 16 16 16 16  0 0 Slow
0x8d 24 tc  0 32  0 r  y  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
0x8e 24 tc  0 32  0 r  y  .  8  8  8  8  0  0  0 16 16 16 16  0 0 Slow
0x8f 24 tc  0 32  0 r  y  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
0x90 24 tc  0 32  0 r  y  .  8  8  8  8  0  0  0 16 16 16 16  0 0 Slow
0x91 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x92 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x93 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x94 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x95 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x96 24 tc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x97 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x98 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x99 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x9a 24 tc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x9b 24 dc  0 32  0 r  .  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
0x9c 24 dc  0 32  0 r  .  .  8  8  8  8  0  0  0 16 16 16 16  0 0 Slow
0x9d 24 dc  0 32  0 r  y  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
0x9e 24 dc  0 32  0 r  y  .  8  8  8  8  0  0  0 16 16 16 16  0 0 Slow
0x9f 24 dc  0 32  0 r  y  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
0xa0 24 dc  0 32  0 r  y  .  8  8  8  8  0  0  0 16 16 16 16  0 0 Slow
0xa1 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0xa2 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0xa3 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0xa4 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0xa5 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0xa6 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0xa7 24 dc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0xa8 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0xa9 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0xaa 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0xab 24 dc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x66 32 tc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None

36 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
----------------------------------------------------------------------
0x67  0 tc  0 32  0 r  .  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
0x68  0 tc  0 32  0 r  .  .  8  8  8  8  0  0  0 16 16 16 16  0 0 Slow
0x69  0 tc  0 32  0 r  y  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
0x6a  0 tc  0 32  0 r  y  .  8  8  8  8  0  0  0 16 16 16 16  0 0 Slow
0x6b  0 tc  0 32  0 r  y  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
0x6c  0 tc  0 32  0 r  y  .  8  8  8  8  0  0  0 16 16 16 16  0 0 Slow
0x6d  0 tc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x6e  0 tc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x6f  0 tc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x70  0 tc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x71  0 tc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x72  0 tc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x73  0 tc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x74  0 tc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x75  0 tc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x76  0 tc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x77  0 tc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x78  0 tc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x79  0 dc  0 32  0 r  .  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
0x7a  0 dc  0 32  0 r  .  .  8  8  8  8  0  0  0 16 16 16 16  0 0 Slow
0x7b  0 dc  0 32  0 r  y  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
0x7c  0 dc  0 32  0 r  y  .  8  8  8  8  0  0  0 16 16 16 16  0 0 Slow
0x7d  0 dc  0 32  0 r  y  .  8  8  8  8  0  0  0  0  0  0  0  0 0 None
0x7e  0 dc  0 32  0 r  y  .  8  8  8  8  0  0  0 16 16 16 16  0 0 Slow
0x7f  0 dc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x80  0 dc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x81  0 dc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x82  0 dc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x83  0 dc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x84  0 dc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x85  0 dc  0 32  0 r  .  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x86  0 dc  0 32  0 r  .  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x87  0 dc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x88  0 dc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow
0x89  0 dc  0 32  0 r  y  .  8  8  8  8  0 24  8  0  0  0  0  0 0 None
0x8a  0 dc  0 32  0 r  y  .  8  8  8  8  0 24  8 16 16 16 16  0 0 Slow

I was going to guess that the blurring issue is linked to GL_EXT_texture_compression_s3tc. S3TC didn’t used to be supported by the Intel drivers because it was patented. Before I upgraded Ubuntu, UT2004 would spit out errors about it and degrade to a different texture compression method, but I just ran it and didn’t get any errors. It seems to be running several FPS faster than it used to, also. There is a little bit of smearing with messages that appear on the screen, but they get wiped away fairly fast.

…but that untextured cube was also smearing, so that can’t be it. :frowning:

For the record, many Linux drivers use Mesa as the OpenGL front-end, but they are still hardware accelerated. “Mesa DRI” is the key phrase there that indicates hardware acceleration, and that’s what you’re showing. On the other hand, “direct rendering” is an old, outdated X11 concept, and has nothing whatsoever to do with hardware acceleration.

The bug in question certainly appears to be a driver bug. Something’s going wrong with the clear operation, somehow. I doubt it’s related to texture compression, but it might be a problem with the stencil buffer or some of the more exotic framebuffer bits. Try putting:

framebuffer-stencil 0
framebuffer-multisample 0
framebuffer-alpha 0

in your Config.prc file.

If upgrading your driver is an option, I’d recommend it.

David

Direct rendering isn’t about 3D acceleration? It’s always corresponded to it for me in the past (with ATi, Nvidia, and Intel cards), and the Gentoo docs still used it as of last September. Meh, whatever.

Yeah, the framebuffer options didn’t make a difference. I shall look into getting an updated driver.

Thanks for your help! :slight_smile:

Well, there’s a confusion of terms. “DRI” stands for “Direct Rendering Infrastructure”, and it is indeed about hardware acceleration. But “direct rendering” as reported by glxinfo is talking about something totally different; it basically means that the X11 context is local, as opposed to on a remote machine. Software renderers can still report “direct rendering” to glxinfo.

David

Upgrade to Ubuntu 9.04… The Intel drivers are much improved… I have a VAIO with the same chipset and it works with OpenGL apps much better than before…

Cheers.

There are known performance regressions with Intel cards in Ubuntu 9.04. Some stuff runs better, most stuff runs a lot worse.

Which isn’t really a big deal for simplistic 3D games like what I was trying to make. The graphical corruption is sort of a showstopper, though. It looks like I’m stuck until they get these driver-level graphical corruption issues sorted out.

how about using tinygl for now. and switch back to opengl once the drivers are usable again?

How would that work with Panda3D? TinyGL looks like you list it in the includes and then make OpenGL calls directly.

Panda has TinyGL support built-in, beginning with 1.6.x. Just change your config.prc line from:

load-display pandagl

to:

load-display tinydisplay

It is not, strictly speaking, TinyGL any more. It is a software renderer that was originally TinyGL, then heavily modified to integrate it efficiently with Panda’s rendering engine, and also to add useful features like blending and multitexturing.

David

It spits out errors now. Apparently something to do with libtinydisplay.so and XAllocSizeHints.

$ python main.py 
DirectStart: Starting the game.
:display: loading display module: libtinydisplay.so
:display(warning): Unable to load: /usr/lib/panda3d/libtinydisplay.so: undefined symbol: XAllocSizeHints
Known pipe types:
(all display modules loaded.)
Traceback (most recent call last):
  File "main.py", line 1, in <module>
    import direct.directbase.DirectStart
  File "/usr/share/panda3d/direct/directbase/DirectStart.py", line 4, in <module>
    ShowBase.ShowBase()
  File "/usr/share/panda3d/direct/showbase/ShowBase.py", line 229, in __init__
    self.openDefaultWindow(startDirect = False, props=props)
  File "/usr/share/panda3d/direct/showbase/ShowBase.py", line 692, in openDefaultWindow
    self.openMainWindow(*args, **kw)
  File "/usr/share/panda3d/direct/showbase/ShowBase.py", line 777, in openMainWindow
    self.openWindow(*args, **kw)
  File "/usr/share/panda3d/direct/showbase/ShowBase.py", line 534, in openWindow
    self.makeDefaultPipe()
  File "/usr/share/panda3d/direct/showbase/ShowBase.py", line 467, in makeDefaultPipe
    "No graphics pipe is available!\n"
  File "/usr/share/panda3d/direct/directnotify/Notifier.py", line 130, in error
    raise exception(errorString)
StandardError: No graphics pipe is available!
Your Config.prc file must name at least one valid panda display
library via load-display or aux-display.

Hmm. Some version dependency issue on your X11 libraries, maybe? It sounds like your X11 libraries are not the same version that libtinydisplay was built against.

Maybe if you downloaded Panda from source and built it yourself?

David

Did anyone ever find a solution to this problem? I am having the same issue. I suppose if worst comes about, I can wait 5 days and see if Karmic fixes the problem.