This is regarding the state of previous dual-GPU MacBook Pros again. There’s been a development on that front, so I’m writing to make you all aware.
macOS 10.12.3 contains some fixes to Apple’s frameworks!
CoconutBattery:
- Not fixed by 10.12.3.
- Uses Core Animation, which is the cause of it.
- When Core Animation was removed from the app (in a private build), the application no longer required the discrete GPU.
Siri:
- Still uses discrete GPU in 10.12.3.
- Because it uses Core Animation.
BetterTouchTool:
- Fixed by 10.12.3.
gfxCardStatus 2.3 (last official version):
- Fixed by 10.12.3.
- Previously, the only way to fix it was to re-compile it with newer frameworks.
- The recompiled version linked somewhere in this thread is still recommended, however, because it contains bugfixes not merged into the abandoned official version.
The issue that Apple has fixed in 10.12.3 was that the mere existence of certain versions of certain frameworks (without the app even opening any OpenGL contexts) marked the app as “needs dGPU”. Now that’s no longer the case! WHAT A RELIEF!
So the last *remaining* cause for dGPU is when applications use OpenGL *or* Core Animation. CA in turn opens an OpenGL context, which 100% always enables the discrete GPU. That has always been the case, and is a lot easier to avoid (most app makers avoid frivolous use of Core Animation).
macOS 10.12.3 contains some fixes to Apple’s frameworks!
CoconutBattery:
- Not fixed by 10.12.3.
- Uses Core Animation, which is the cause of it.
- When Core Animation was removed from the app (in a private build), the application no longer required the discrete GPU.
Siri:
- Still uses discrete GPU in 10.12.3.
- Because it uses Core Animation.
BetterTouchTool:
- Fixed by 10.12.3.
gfxCardStatus 2.3 (last official version):
- Fixed by 10.12.3.
- Previously, the only way to fix it was to re-compile it with newer frameworks.
- The recompiled version linked somewhere in this thread is still recommended, however, because it contains bugfixes not merged into the abandoned official version.
The issue that Apple has fixed in 10.12.3 was that the mere existence of certain versions of certain frameworks (without the app even opening any OpenGL contexts) marked the app as “needs dGPU”. Now that’s no longer the case! WHAT A RELIEF!
So the last *remaining* cause for dGPU is when applications use OpenGL *or* Core Animation. CA in turn opens an OpenGL context, which 100% always enables the discrete GPU. That has always been the case, and is a lot easier to avoid (most app makers avoid frivolous use of Core Animation).
Last edited: