There isn't a way to update a portion of the display using OpenGL. OpenGL expects you to redraw the screen from scratch every frame, and then flip to the next frame.How are you drawing to the screen? Are you using GL calls? Or pygame blits to the screen surface? The later doesn't work with OPENGL.
Is it possible that the cause is that OPENGL is being used by pygame?On Windows, afaik, this only happens if you request it with the pygame.OPENGL flag. Nevertheless, inspecting the value of the following should say for sure: