Bool DMXQueryVersion(Display *dpy, int *major_version, int *minor_version, int *patch_version);
Any incompatible changes to the protocol will be indicated by a change in major_version. Small, upward-compatible changes will be indicated by a change in minor_version. In general, patch_version is for informational purposes and will encode the date of the last protocol revision (e.g., 20040604).
Version 2.2 was the final development version, and code supporting this version was submitted to upstream X server repositories in the summer of 2004.
Version 1.5 was the last of the 1.x series, which was used for development before screen and input addition and removal were supported. Version 2.0 and 2.1 were development versions that partially supported screen and input addition and removal.
Since we do not expect development versions to be widely used, we recommend that any software that uses the DMX protocol extension to support only versions 2.2 and above (although they should detect earlier versions and either reduce functionality or fail gracefully).