I agree, I think the reason for this is that SDL only provided a single function SDL_SetVideoMode and the surrounding code was built around that layer. Now we drop SDL and end up doing similar things SDL did internally. This certainly needs more than one or two iterations.