I&#x27;m not sure you could get an accelerated OpenGL context before KMS+EGL were implemented. Indeed, even today most ARM vendors don&#x27;t support accelerated OpenGL without X11&#x2F;GLX.<p>Edit: libinput covers all your low-level input handling needs. The API is very-well designed, unlike the 3-4 separate input stacks you have to juggle in X11 (core X, XInput 1, XInput 2, XInput 2.1 etc).<p>Edit 2: X server is not used to draw stuff in modern applications, all drawing is handled client-side (by Qt, GTK, EFL, etc) and the X server just acts as an inefficient intermediary between the client and the compositor.<p>Wayland simply removes that intermediary.