The OpenGL apps that fail have the view in the main window... it's not a child window. I've a first guess, though: When I first compiled some of my UNIX code in OSX, I found that OSX is a bit picky if you render into a GLX context before initializing it: if you do it, the app may crash, or the view become unusable. In Linux and Windows it's also an error, but not a fatal one... the app will continue running, and the view will work fine once you initialize it. I'm not sure if it's this problem or not, but it remembers me of it. However, I don't think it's a issue related to rendering into child windows. If you look the wxWidgets "penguin" GL demo you'll see the GL view is on the main window.