There was indeed a bug in FreeGLUT-EGL: EGL is always double-buffered,
but FreeGLUT behaved as if it were single-buffered by default. Fixed
in development branch.
Thanks for the glutSwapBuffers() call (which makes a necessary and
implicit call to glFlush() when single-buffered), the code works in
both single- and double-buffered contexts anyway.