fixing gl-cairo (unfinished)