Why can't the X11 native type do this itself? Doing it this way leaks an implementation detail of one backend into all the other backends which makes no sense.

I can possibly understand why it might not be possible to do this right now (no EGLConfig), but maybe we should be passing EGLConfig over to the backends and not an X11-specific integer.