I had a problem with osx using NSOpenGLView with CVDisplayLink to call the render callback.
Be sure to wait until NSOpenGLView is fully displayed before rendering, i.e.
-(void)viewDidAppear { [super viewDidAppear]; CVDisplayLinkStart(_displayLink); }
Doing this in viewDidLoad is too early.
source share