Shaders under Linux

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

Moderators: winston, another_commander, Getafix

Post Reply
zevans
---- E L I T E ----
---- E L I T E ----
Posts: 332
Joined: Mon Jul 06, 2009 11:12 pm
Location: Uncharted backwaters of the unfashionable end of the western spiral arm

Shaders under Linux

Post by zevans »

From a discussion over on the Windows subforum...
Ahruman wrote:
zevans wrote:
Pretty sure those chipsets don't do shaders - sorry!
All Intel GMA chips do support fragment shaders (but not all support vertex shaders). I know that OpenGL driver support for Windows has been an issue, but I haven’t kept up on the details.

I have successfully used Oolite’s default shaders, in low-complexity mode, on a GMA 950 under OS X. It’s a good baseline testing system because it only supports very simple shaders (after which a software fallback is used). On the other hand, it’s faster than my other low-end testing chip, a GeForce 5200 FX.
I should have said I was on Linux. I'm now using the xorg-edgers stuff and for the last couple of months it's been pretty good. (People on GMA950 Macs but using Linux have also seen vast improvements recently.)

I do have the feeling the chipsets are OK and it's the drivers that let them down so I hear what you're saying!

Code: Select all

[rendering.opengl.shader.support]: Shaders will not be used (OpenGL extension GL_ARB_shading_language_100 is not available).
Does this mean no shaders, or only fragment shaders?
User avatar
JensAyton
Grand Admiral Emeritus
Grand Admiral Emeritus
Posts: 6657
Joined: Sat Apr 02, 2005 2:43 pm
Location: Sweden
Contact:

Post by JensAyton »

It means no shaders.

To clarify, when hardware supports fragment (pixel) shaders but not vertex shaders, it is necessary for the software stack to implement vertex shaders. Under Mac OS X, this means the Apple software engine is used for vertex shaders and the hardware is used for fragment shaders. On other platforms, I expect the software fallback has to be provided by the driver vendor. All of this is transparent to the application, which just demands that full shader support be available.
zevans
---- E L I T E ----
---- E L I T E ----
Posts: 332
Joined: Mon Jul 06, 2009 11:12 pm
Location: Uncharted backwaters of the unfashionable end of the western spiral arm

Post by zevans »

+1 Insightful to you.

I am a bit confused now though, because there is a software renderer in Mesa and this page (http://www.mesa3d.org/shading.html) implies that they are supported. Yet, no shaders for me.

I will try installing the mesa SW rendering libraries IF it will let me do that without conflicting with the Intel HW version. Then hopefully I'll get accelerated HW for most of it and shaders will be done in software on top. If not then I'll try and find out why, and see if we can sort out some patches for the Linux branch...
another_commander
Quite Grand Sub-Admiral
Quite Grand Sub-Admiral
Posts: 6740
Joined: Wed Feb 28, 2007 7:54 am

Post by another_commander »

The following OpenGL extensions must be supported by your graphics hardware / drivers:

Code: Select all

  GL_ARB_shading_language_100
  GL_ARB_fragment_shader
  GL_ARB_vertex_shader
  GL_ARB_multitexture
  GL_ARB_shader_objects
If any of these is not supported for any reason, Oolite will internally disable shader suppot.
Post Reply