Page 1 of 1

[Solved] glxinfo reports h/w renderer, Oolite log says s/w

Posted: Mon Dec 23, 2013 9:12 pm
by ac2013
Running an older variant of Puppy Linux and trying to get Oolite to run. I know this laptop will support it in Linux, as previously I've had Oolite 1.75 running on here and it was only a shade slower than in Windows XP. I think that was with Puppy 5.25. I could revert to that one, but for various quirky reasons I'm currently using 'Fluppy' for my gaming requirements.

Anyway...

"glxinfo|grep render" gives this:

Code: Select all

direct rendering: Yes
OpenGL renderer string: Mesa DRI Intel(R) 945GM GEM 20090712 2009Q2 RC3 x86/MMX/SSE2
"cat .Oolite/Logs/Latest.log" |grep render" gives this:

Code: Select all

09:42:19.948 [rendering.opengl.version]: OpenGL renderer version: 2.1.0 ("2.1 Mesa 7.6"). Vendor: "Mesa Project". Renderer: "Software Rasterizer".
09:42:19.949 [rendering.opengl.extensions]: OpenGL extensions (123):
09:42:19.967 [rendering.opengl.shader.support]: Shaders are supported.
I can update the Mesa DRI package to 7.7.1 on this machine, which makes tests like glxgears a tad faster, but that's the limit. Oolite result is the same.

Oolite crawls; after launch we're talking seconds-per-frame, not frames-per-second. It's definitely rendering in software. This is true of Oolite 1.75 and 1.77.1.

I can run 3D games on here in Wine, such as American McGee's Alice, in high resolution with no problem, though perhaps that's not using openGL. glxgears reports 700-ish, which is obviously slow by today's standards but should suffice.

Is there a way to force Oolite to use a specific renderer? Or do I need to keep fighting to get the drivers working better on this machine?

I also have Carolina Linux 1.1 on here (another Puppy fork) which is newer and should have all the drivers built-in, but Oolite won't even start on that distro. I haven't checked its logs yet.

Re: glxinfo reports hardware renderer, Oolite log says softw

Posted: Tue Dec 24, 2013 5:04 pm
by cim
ac2013 wrote:
Is there a way to force Oolite to use a specific renderer?
No - that's all handled by the SDL library, which should be preferentially picking hardware-accelerated renderers if any suitable ones exist.

Mesa 7 is pretty old, and had various driver bugs which have caused problems for other people, so that's probably it. Are there any non-Mesa drivers you could try instead, if you can't get a more recent Mesa version?

You might also have some luck if you can - very slowly! - reach the Graphics Settings (start new game, then F2, then Game Options) and set the Shader mode to "no shaders". Then close and restart the game.

Re: glxinfo reports hardware renderer, Oolite log says softw

Posted: Tue Dec 24, 2013 10:18 pm
by ac2013
Lovely stuff, that's got it running. If I set detail to low I can play with reasonable frame rates (the nebulae in particular seem to slow things down dramatically on this machine).

One question re the difference between the 1.75.1 and 1.77.1 versions I have. Both now run, and I'd prefer to use the later one, but the blue engine jets (e.g. when looking aft) in 1.77.1 slow this machine down a lot even when detail is set to low. That's not the case with the simpler jets in 1.75.1.

Are there any hidden "really set detail to low, everywhere" settings that might help?

Thanks for your help.

Re: glxinfo reports hardware renderer, Oolite log says softw

Posted: Tue Dec 24, 2013 10:40 pm
by cim
ac2013 wrote:
Are there any hidden "really set detail to low, everywhere" settings that might help?
Not really - "reduced detail" and shaders off is about all there is. Of the hidden graphics settings, you might have some luck bringing the max-texture-size setting lower than your graphics card's theoretical maximum.

Turning down the resolution may also help if you haven't already.

Could you send us the rendering entries from Latest.log now you're in shader-off mode?

Re: glxinfo reports hardware renderer, Oolite log says softw

Posted: Tue Dec 24, 2013 10:43 pm
by Cody
ac2013 wrote:
the nebulae in particular seem to slow things down dramatically on this machine.
You could zero the nebula_count_multiplier, found in the planetinfo.plist - that might help.

Re: glxinfo reports hardware renderer, Oolite log says softw

Posted: Tue Dec 24, 2013 11:08 pm
by Diziet Sma
ac2013, any luck finding more recent drivers?

Re: glxinfo reports hardware renderer, Oolite log says softw

Posted: Wed Dec 25, 2013 2:25 am
by ac2013
cim wrote:
ac2013 wrote:
Are there any hidden "really set detail to low, everywhere" settings that might help?
Not really - "reduced detail" and shaders off is about all there is. Of the hidden graphics settings, you might have some luck bringing the max-texture-size setting lower than your graphics card's theoretical maximum.

Turning down the resolution may also help if you haven't already.

Could you send us the rendering entries from Latest.log now you're in shader-off mode?
Yes, I've lowered the resolution. 1.75.1 is quite playable now. 1.77.1 would be aside from the engine jets.

I'll look into the max-texture-size setting, thanks.

Full Latest.log is as follows:

Code: Select all

Opening log for Oolite version 1.77.1 (x86-32) under Linux 2.6.35.7 at 2013-12-25 15:18:14 +1300.
2 processors detected.
Build options: spoken messages, mass/fuel pricing.

Note that the contents of the log file can be adjusted by editing logcontrol.plist.

15:18:15.384 [display.mode.list.native]: X11 native resolution detected: 1280 x 800
15:18:15.458 [joystick.init]: Number of joysticks detected: 0
15:18:15.459 [rendering.opengl.version]: OpenGL renderer version: 2.1.0 ("2.1 Mesa 7.6"). Vendor: "Mesa Project". Renderer: "Software Rasterizer".
15:18:15.459 [rendering.opengl.extensions]: OpenGL extensions (123):
GL_ATI_texture_mirror_once, GL_ARB_depth_texture, GL_MESA_texture_array, GL_ARB_texture_env_add, GL_EXT_pixel_buffer_object, GL_SGI_texture_color_table, GL_EXT_depth_bounds_test, GL_IBM_multimode_draw_arrays, GL_EXT_texture3D, GL_EXT_compiled_vertex_array, GL_NV_vertex_program1_1, GL_EXT_separate_specular_color, GL_ARB_framebuffer_object, GL_SGI_color_table, GL_EXT_shadow_funcs, GL_EXT_convolution, GL_EXT_rescale_normal, GL_ARB_transpose_matrix, GL_EXT_stencil_two_side, GL_ARB_texture_border_clamp, GL_ARB_multisample, GL_ARB_half_float_pixel, GL_ATI_separate_stencil, GL_ARB_texture_non_power_of_two, GL_INGR_blend_func_separate, GL_EXT_bgra, GL_ARB_sync, GL_EXT_texture_env_dot3, GL_NV_light_max_exponent, GL_APPLE_packed_pixels, GL_EXT_provoking_vertex, GL_SUN_multi_draw_arrays, GL_ARB_vertex_shader, GL_ARB_shader_objects, GL_ARB_map_buffer_range, GL_NV_texgen_reflection, GL_EXT_multi_draw_arrays, GL_IBM_rasterpos_clip, GL_EXT_texture_object, GL_ARB_vertex_program, GL_ATI_texture_env_combine3, GL_NV_texture_env_combine4, GL_ARB_imaging, GL_ARB_shading_language_120, GL_EXT_stencil_wrap, GL_EXT_shared_texture_palette, GL_EXT_texture_swizzle, GL_MESA_pack_invert, GL_EXT_framebuffer_blit, GL_ARB_vertex_array_bgra, GL_ARB_texture_compression, GL_EXT_blend_color, GL_ARB_vertex_array_object, GL_EXT_blend_minmax, GL_APPLE_vertex_array_object, GL_EXT_subtexture, GL_ARB_point_sprite, GL_EXT_vertex_array, GL_EXT_abgr, GL_NV_blend_square, GL_ARB_vertex_buffer_object, GL_ATI_envmap_bumpmap, GL_NV_texture_rectangle, GL_EXT_texture, GL_ARB_multitexture, GL_EXT_vertex_array_bgra, GL_ARB_copy_buffer, GL_ARB_shadow, GL_EXT_blend_subtract, GL_MESA_window_pos, GL_ARB_fragment_program_shadow, GL_ARB_window_pos, GL_IBM_texture_mirrored_repeat, GL_EXT_texture_lod_bias, GL_EXT_paletted_texture, GL_ARB_texture_env_crossbar, GL_ARB_point_parameters, GL_MESA_resize_buffers, GL_ARB_shadow_ambient, GL_EXT_texture_edge_clamp, GL_EXT_copy_texture, GL_MESA_ycbcr_texture, GL_EXT_texture_sRGB, GL_ARB_texture_env_combine, GL_SGI_color_matrix, GL_ARB_fragment_program, GL_ATI_fragment_shader, GL_EXT_histogram, GL_EXT_draw_range_elements, GL_EXT_blend_logic_op, GL_ARB_pixel_buffer_object, GL_EXT_packed_depth_stencil, GL_ARB_texture_rectangle, GL_EXT_fog_coord, GL_SGIS_texture_lod, GL_3DFX_texture_compression_FXT1, GL_EXT_gpu_program_parameters, GL_ARB_fragment_shader, GL_EXT_polygon_offset, GL_SGIS_texture_border_clamp, GL_ARB_shading_language_100, GL_EXT_secondary_color, GL_EXT_point_parameters, GL_NV_vertex_program, GL_ARB_draw_buffers, GL_SGIS_generate_mipmap, GL_ATI_blend_equation_separate, GL_EXT_texture_rectangle, GL_OES_read_format, GL_EXT_blend_func_separate, GL_NV_fragment_program, GL_ARB_texture_cube_map, GL_NV_point_sprite, GL_ARB_occlusion_query, GL_EXT_texture_mirror_clamp, GL_EXT_packed_pixels, GL_EXT_framebuffer_object, GL_ARB_texture_mirrored_repeat, GL_ARB_texture_env_dot3, GL_EXT_blend_equation_separate, GL_EXT_texture_env_add, GL_SGIS_texture_edge_clamp, GL_EXT_texture_env_combine
15:18:15.465 [rendering.opengl.shader.support]: Shaders are supported.
15:18:15.499 [searchPaths.dumpAll]: Unrestricted mode - resource paths:
    /opt/Oolite/oolite.app/Resources
    AddOns
15:18:15.584 [shipData.load.begin]: Loading ship data.
15:18:15.761 [script.javascript.init]: JavaScript reset successful.
15:18:15.776 [script.load.world.listAll]: Loaded 9 world scripts:
    oolite-cloaking-device 1.77.1
    oolite-constrictor-hunt 1.77.1
    oolite-contracts-cargo 1.77.1
    oolite-contracts-helpers 1.77.1
    oolite-contracts-parcels 1.77.1
    oolite-contracts-passengers 1.77.1
    oolite-nova 1.77.1
    oolite-thargoid-plans 1.77.1
    oolite-trumbles 1.77.1
15:18:16.576 [startup.complete]: ========== Loading complete in 1.63 seconds. ==========
15:18:37.323 [shipData.load.begin]: Loading ship data.
15:18:37.327 [script.javascript.init]: JavaScript reset successful.
15:18:37.334 [script.load.world.listAll]: Loaded 9 world scripts:
    oolite-cloaking-device 1.77.1
    oolite-constrictor-hunt 1.77.1
    oolite-contracts-cargo 1.77.1
    oolite-contracts-helpers 1.77.1
    oolite-contracts-parcels 1.77.1
    oolite-contracts-passengers 1.77.1
    oolite-nova 1.77.1
    oolite-thargoid-plans 1.77.1
    oolite-trumbles 1.77.1
15:18:51.067 [exit.context]: Exiting: SDL_QUIT event received.
15:18:51.067 [gameController.exitApp]: .GNUstepDefaults synchronized.

Closing log at 2013-12-25 15:18:51 +1300.

Re: glxinfo reports hardware renderer, Oolite log says softw

Posted: Wed Dec 25, 2013 2:26 am
by ac2013
Cody wrote:
ac2013 wrote:
the nebulae in particular seem to slow things down dramatically on this machine.
You could zero the nebula_count_multiplier, found in the planetinfo.plist - that might help.
Thanks, I'll look into that. With detail set to low the nebulae don't show at all so it's not a performance issue, but they do look good so it'd be nice to have a hint of them if it doesn't impact performance much.

Re: glxinfo reports hardware renderer, Oolite log says softw

Posted: Wed Dec 25, 2013 2:34 am
by ac2013
Diziet Sma wrote:
ac2013, any luck finding more recent drivers?
Sadly no, not yet. I have read that Intel GMA adapters can be a real pain with OpenGL in Linux. I don't know if I need to compile a new kernel module for the adapter, install a new library, upgrade Xorg, somehow get a newer Mesa running (anything past 7.7.1 fails to install) or install a replacement for Mesa (if so, what?).

More importantly, I don't know where to find any of these things for a relatively obscure derivative of a Puppy Linux distro from 2011 (though I do have kernel sources for it if required). ;-)

That's my fault, but I have this distro running on four Intel GMA machines purely for games so I don't feel the urge to change it.

Oolite is at least now running and playable, which it wasn't before I came to this forum, so I'm grateful for that. If it can be made a bit prettier that'd be nice (it's nearly OK with the DeepSpaceship and System Redux OXPs I used in XP) but it's the gameplay that's important.

Re: glxinfo reports hardware renderer, Oolite log says softw

Posted: Wed Dec 25, 2013 6:31 am
by ac2013
Just out of interest I tried Oolite in Precise Puppy 5.7.1 on the same laptop. Worked fine straight out of the box: good performance at high resolution, nebulae on, shader will go to 'simple'.

glxinfo shows:

Code: Select all

OpenGL renderer string: Mesa DRI Intel(R) 945GM x86/MMX/SSE2
OpenGL version string: 1.4 Mesa 8.0.4
which probably explains the difference, though I don't know what else is different.

Oolite's log includes this:

Code: Select all

19:13:20.057 [rendering.opengl.version]: OpenGL renderer version: 1.4.0 ("1.4 Mesa 8.0.4"). Vendor: "Tungsten Graphics, Inc". Renderer: "Mesa DRI Intel(R) 945GM x86/MMX/SSE2".
19:13:20.057 [rendering.opengl.extensions]: OpenGL extensions (111):
GL_ARB_texture_env_crossbar, GL_EXT_abgr, GL_EXT_texture, GL_ARB_shadow, GL_IBM_texture_mirrored_repeat, GL_EXT_texture_edge_clamp, GL_EXT_separate_specular_color, GL_EXT_blend_minmax, GL_ARB_texture_env_add, GL_EXT_texture_object, GL_INGR_blend_func_separate, GL_NV_texture_env_combine4, GL_EXT_texture_cube_map, GL_ARB_draw_elements_base_vertex, GL_ARB_sampler_objects, GL_EXT_texture_env_dot3, GL_IBM_rasterpos_clip, GL_EXT_framebuffer_blit, GL_ARB_texture_env_dot3, GL_EXT_framebuffer_object, GL_NV_light_max_exponent, GL_EXT_blend_subtract, GL_EXT_copy_texture, GL_EXT_separate_shader_objects, GL_3DFX_texture_compression_FXT1, GL_MESA_window_pos, GL_ARB_multitexture, GL_EXT_stencil_wrap, GL_ARB_texture_border_clamp, GL_ARB_texture_env_combine, GL_NV_vertex_program, GL_EXT_framebuffer_multisample, GL_EXT_texture_env_add, GL_SGIS_texture_edge_clamp, GL_EXT_packed_pixels, GL_ARB_depth_texture, GL_SGIS_texture_lod, GL_ARB_transpose_matrix, GL_EXT_stencil_two_side, GL_NV_packed_depth_stencil, GL_NV_texgen_reflection, GL_ARB_shading_language_100, GL_ARB_robustness, GL_OES_EGL_image, GL_EXT_gpu_program_parameters, GL_EXT_rescale_normal, GL_ARB_map_buffer_range, GL_ARB_provoking_vertex, GL_ARB_explicit_attrib_location, GL_ARB_pixel_buffer_object, GL_EXT_secondary_color, GL_ARB_ES2_compatibility, GL_ARB_copy_buffer, GL_OES_read_format, GL_ARB_texture_mirrored_repeat, GL_SUN_multi_draw_arrays, GL_EXT_blend_equation_separate, GL_ARB_half_float_pixel, GL_EXT_draw_range_elements, GL_EXT_polygon_offset, GL_EXT_texture_lod_bias, GL_EXT_texture_filter_anisotropic, GL_SGIS_texture_border_clamp, GL_SGIS_generate_mipmap, GL_APPLE_object_purgeable, GL_ARB_texture_rectangle, GL_ARB_texture_non_power_of_two, GL_NV_texture_rectangle, GL_ARB_point_sprite, GL_EXT_packed_depth_stencil, GL_ARB_vertex_shader, GL_ARB_vertex_buffer_object, GL_ARB_sync, GL_ARB_shader_objects, GL_EXT_provoking_vertex, GL_IBM_multimode_draw_arrays, GL_MESA_ycbcr_texture, GL_ATI_separate_stencil, GL_ARB_framebuffer_object, GL_EXT_texture_rectangle, GL_ARB_fragment_shader, GL_EXT_fog_coord, GL_EXT_texture3D, GL_EXT_subtexture, GL_ARB_window_pos, GL_ARB_fragment_program, GL_EXT_point_parameters, GL_ARB_vertex_program, GL_EXT_texture_env_combine, GL_ARB_texture_cube_map, GL_ARB_point_parameters, GL_EXT_compiled_vertex_array, GL_EXT_bgra, GL_EXT_vertex_array, GL_ARB_multisample, GL_ARB_vertex_array_object, GL_ARB_draw_buffers, GL_ATI_draw_buffers, GL_ARB_texture_compression, GL_EXT_multi_draw_arrays, GL_APPLE_vertex_array_object, GL_ATI_texture_env_combine3, GL_APPLE_packed_pixels, GL_EXT_blend_func_separate, GL_MESA_pack_invert, GL_EXT_shadow_funcs, GL_ATI_blend_equation_separate, GL_EXT_blend_color, GL_EXT_pixel_buffer_object, GL_NV_vertex_program1_1, GL_NV_blend_square
19:13:20.064 [rendering.opengl.gpuSpecific]: Matched GPU configuration "Intel GMA 900/950 family".
19:13:20.064 [rendering.opengl.shader.support]: Shaders are supported.
If anyone has any ideas, I'd love to be able to get the same performance out of Fluppy, the distro I'm using for all my other games. But I can always dual-boot if not.

Re: glxinfo reports hardware renderer, Oolite log says softw

Posted: Wed Dec 25, 2013 7:52 am
by Diziet Sma
ac2013 wrote:
Sadly no, not yet. I have read that Intel GMA adapters can be a real pain with OpenGL in Linux. I don't know if I need to compile a new kernel module for the adapter, install a new library, upgrade Xorg, somehow get a newer Mesa running (anything past 7.7.1 fails to install) or install a replacement for Mesa (if so, what?).

More importantly, I don't know where to find any of these things for a relatively obscure derivative of a Puppy Linux distro from 2011 (though I do have kernel sources for it if required). ;-)
Wild-assed guess.. you may need to update the kernel to get a newer driver to 'take'..

SOLVED!

Posted: Wed Dec 25, 2013 8:35 am
by ac2013
But I like 2.6.35.7... ;-)

After some messing around with 8.0.4 drivers (Xorg wouldn't load) it turned out all I needed was the relevant libGL file from libgl1-mesa-glx_7.7.1-6_i386.deb: I put that in /usr/X11R7/lib and now the performance is as good as in Precise Puppy or XP, so I'm very happy.

Strangely, adding the actual Intel driver for 7.7.1 slows things right down again. Upgrading just the single GL library file is all that's required.

Thanks everyone for their help and suggestions.

PS. I can't work out how to mark this topic as 'solved', so if anyone could advise...

Re: glxinfo reports hardware renderer, Oolite log says softw

Posted: Wed Dec 25, 2013 9:38 am
by Getafix
ac2013 wrote:
... PS. I can't work out how to mark this topic as 'solved', so if anyone could advise...
Hi ac2013.

You may edit the subject of the first post to display:
"[Solved] Oolite log reports software renderer"

Additionally you could make the same change to the subject of the post,
where you provide the actual solution.

Merry Christmas.

Re: glxinfo reports hardware renderer, Oolite log says softw

Posted: Wed Dec 25, 2013 9:51 am
by Diziet Sma
Good to hear you got it sorted! 8)
ac2013 wrote:
it turned out all I needed was the relevant libGL file from libgl1-mesa-glx_7.7.1-6_i386.deb: I put that in /usr/X11R7/lib and now the performance is as good as in Precise Puppy or XP, so I'm very happy.

Strangely, adding the actual Intel driver for 7.7.1 slows things right down again. Upgrading just the single GL library file is all that's required.
<files this away under "weird shit to try if stuck", for future reference> :lol: