I've messed with Macs on the developer level and on the install-linux-and-boot-it-successfully level. I have a fair amount of knowledge with how they work.
Know what you're doing before doing this. You could mess the computer up if you do even one thing improperly.Install Linux. Do not install a bootloader like GRUB unless you really know what you're doing. Install
rEFInd on Mac OS X and then set up your linux distro for EFISTUB. Only do this if the distro you pick supports EFISTUB.
If you want the easy way out, install Windows using Boot Camp.
Past research has determined that the Mac graphics drivers basically just suck. If you install Windows or Linux on the same system and install the drivers there, it should work fine.
Badspot has to modify the platform-specific Objective-C code and possibly the Interface Builder files in the Xcode project so that it'll instantiate a OpenGL 3.2 context. Currently, it instantiates an OpenGL context without specifying a version, so Mac OS's behavior is to initialize the OpenGL 2.1 context (I wonder why Apple does this...)
That is difficult. I myself think that Objective-C is awkward and I can't really understand
the OpenGL tutorial Apple provides. I might give it a read later, though.
Try updating your drivers, this may not be it but its a big cause
(There should be a new one because of the gtx 970 and 980)
There are no drivers to update. Apple updates and provides the drivers for you. (but they are late on updating (Mavericks is the only OSX version that supports OpenGL 4.1 right now), just like quite a few other software packages and libraries they provide for you)