shiny/driver/gldriver: (X11) GL ES 3.0

Change-Id: Ibf27e0b326837d2bb19b0858471a32cdec04460f
Reviewed-on: https://go-review.googlesource.com/23822
Reviewed-by: Nigel Tao <nigeltao@golang.org>
diff --git a/shiny/driver/gldriver/x11.c b/shiny/driver/gldriver/x11.c
index 4937756..db34ded 100644
--- a/shiny/driver/gldriver/x11.c
+++ b/shiny/driver/gldriver/x11.c
@@ -118,7 +118,7 @@
 	}
 
 	static const EGLint ctx_attribs[] = {
-		EGL_CONTEXT_CLIENT_VERSION, 2,
+		EGL_CONTEXT_CLIENT_VERSION, 3,
 		EGL_NONE
 	};
 	e_ctx = eglCreateContext(e_dpy, e_config, EGL_NO_CONTEXT, ctx_attribs);
diff --git a/shiny/driver/gldriver/x11.go b/shiny/driver/gldriver/x11.go
index d866b69..8eca8ed 100644
--- a/shiny/driver/gldriver/x11.go
+++ b/shiny/driver/gldriver/x11.go
@@ -21,6 +21,7 @@
 */
 import "C"
 import (
+	"errors"
 	"runtime"
 	"time"
 
@@ -112,6 +113,9 @@
 }
 
 func main(f func(screen.Screen)) error {
+	if gl.Version() == "GL_ES_2_0" {
+		return errors.New("gldriver: ES 3 required on X11")
+	}
 	C.startDriver()
 	glctx, worker = gl.NewContext()