Well, I'm using our dglOpenGL.pas for linux too and that just uses glXGetProcAddress to get the procedure addresses. But as for the compressed textures I simply check against the presence of GL_EXT_texture_compression_s3tc in the extension string, and if that's not present the game won't run.

Maybe I'll have to check against a different (newer) extension instead of the GL_EXT_ one, but e.g. GL_ARB_Compression is completly different. I'll look into this issue.

P.S. : What graphics card are you using? Could you upload a report to http://delphigl.de/glcapsviewer/listreports.php if you haven't done so, so I can see what it supports?