Mmm, you version seems to fix the glut resize error. Maybe we need something like `while time.time() < timeout: process_events()`

Also, I still get sometimes the warmup errors, and GLUT app tests sometimes says "Attempt to retrieve context when no valid context"