Join us at the Oolite Anniversary Party -- London, 7th July 2024, 1pm
More details in this thread.

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

For discussion of ports to POSIX based systems, especially using GNUStep.

Moderators: winston, another_commander, Getafix

Post Reply
ac2013
Poor
Poor
Posts: 7
Joined: Mon Dec 23, 2013 8:48 pm

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

Post 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.
Last edited by Getafix on Thu Jan 09, 2014 8:21 am, edited 2 times in total.
Reason: Mark as "Solved".
User avatar
cim
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 4072
Joined: Fri Nov 11, 2011 6:19 pm

Re: glxinfo reports hardware renderer, Oolite log says softw

Post 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.
ac2013
Poor
Poor
Posts: 7
Joined: Mon Dec 23, 2013 8:48 pm

Re: glxinfo reports hardware renderer, Oolite log says softw

Post 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.
User avatar
cim
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 4072
Joined: Fri Nov 11, 2011 6:19 pm

Re: glxinfo reports hardware renderer, Oolite log says softw

Post 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?
User avatar
Cody
Sharp Shooter Spam Assassin
Sharp Shooter Spam Assassin
Posts: 16071
Joined: Sat Jul 04, 2009 9:31 pm
Location: The Lizard's Claw
Contact:

Re: glxinfo reports hardware renderer, Oolite log says softw

Post 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.
I would advise stilts for the quagmires, and camels for the snowy hills
And any survivors, their debts I will certainly pay. There's always a way!
User avatar
Diziet Sma
---- E L I T E ----
---- E L I T E ----
Posts: 6311
Joined: Mon Apr 06, 2009 12:20 pm
Location: Aboard the Pitviper S.E. "Blackwidow"

Re: glxinfo reports hardware renderer, Oolite log says softw

Post by Diziet Sma »

ac2013, any luck finding more recent drivers?
Most games have some sort of paddling-pool-and-water-wings beginning to ease you in: Oolite takes the rather more Darwinian approach of heaving you straight into the ocean, often with a brick or two in your pockets for luck. ~ Disembodied
ac2013
Poor
Poor
Posts: 7
Joined: Mon Dec 23, 2013 8:48 pm

Re: glxinfo reports hardware renderer, Oolite log says softw

Post 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.
ac2013
Poor
Poor
Posts: 7
Joined: Mon Dec 23, 2013 8:48 pm

Re: glxinfo reports hardware renderer, Oolite log says softw

Post 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.
ac2013
Poor
Poor
Posts: 7
Joined: Mon Dec 23, 2013 8:48 pm

Re: glxinfo reports hardware renderer, Oolite log says softw

Post 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.
ac2013
Poor
Poor
Posts: 7
Joined: Mon Dec 23, 2013 8:48 pm

Re: glxinfo reports hardware renderer, Oolite log says softw

Post 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.
User avatar
Diziet Sma
---- E L I T E ----
---- E L I T E ----
Posts: 6311
Joined: Mon Apr 06, 2009 12:20 pm
Location: Aboard the Pitviper S.E. "Blackwidow"

Re: glxinfo reports hardware renderer, Oolite log says softw

Post 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'..
Most games have some sort of paddling-pool-and-water-wings beginning to ease you in: Oolite takes the rather more Darwinian approach of heaving you straight into the ocean, often with a brick or two in your pockets for luck. ~ Disembodied
ac2013
Poor
Poor
Posts: 7
Joined: Mon Dec 23, 2013 8:48 pm

SOLVED!

Post 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...
Last edited by ac2013 on Wed Dec 25, 2013 10:09 pm, edited 1 time in total.
User avatar
Getafix
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 979
Joined: Tue Apr 01, 2008 12:55 pm
Location: A small ice asteroid, orbiting Oresrati in Galaxy 8 (a.k.a. northwest Armorica).
Contact:

Re: glxinfo reports hardware renderer, Oolite log says softw

Post 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.
"Any sufficiently advanced information is indistinguishable from noise." [Newman, Lachmann, Moore]
User avatar
Diziet Sma
---- E L I T E ----
---- E L I T E ----
Posts: 6311
Joined: Mon Apr 06, 2009 12:20 pm
Location: Aboard the Pitviper S.E. "Blackwidow"

Re: glxinfo reports hardware renderer, Oolite log says softw

Post 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:
Most games have some sort of paddling-pool-and-water-wings beginning to ease you in: Oolite takes the rather more Darwinian approach of heaving you straight into the ocean, often with a brick or two in your pockets for luck. ~ Disembodied
Post Reply