Comment 13 for bug 1079011

Revision history for this message
Rebecca Palmer (rebecca-palmer) wrote :

The error occurs because nv10 (the driver used for this card) declares VBO support (extension GL_ARB_vertex_buffer_object) but only supports VBOs of int8, int16 and float (not double) types, and the application is trying to draw data of type double. Given that the double type is part of the OpenGL spec, that would appear to be a bug in mesa, not the application.

The easy fix would be "don't declare VBO support on those cards", but that would slow down many other applications, and break any that require this feature.

An alternative would be a software fallback that reads back the VBO data and draws it as either a client-side array or individual primitives (which would probably be even slower, but only applications that actually use doubles would take the penalty), but that might be more work than is reasonable to do for little benefit: stellarium and other QtOpenGL applications will lose OpenGL 1 support in the upcoming Qt 5 transition anyway, and flightgear would probably be unusably slow on such old hardware even if it didn't crash.

As an immediate workaround, you can use software rendering with
LIBGL_ALWAYS_SOFTWARE=1 stellarium
(perhaps the error message should suggest that?), but expect that to be slow.

I will report this upstream.