I have been running with Ubuntu for a month now and so far it is holding up very well, just a hiccup with wireless driver up kernel update. Reverted back to previous kernel and things are stable all over again.
I have been monitoring temp and power consumption on my MBP 2011 and found that after every boot it runs quite cool, thanks to lmsensors and swithcing off turbo-boost helps. But one thing I noticed is that every time I resume after suspend the laptop starts heating up all over again, confirmed that dGPU was switched on. Now this is all in domain of
gmux and seems like it is playing a role somehow.
Previously, I had disabled dGPU during boot time with changes to grub, can we do that again?
outb here are the io instructions that can do the magic. Thanks to the guys that hacked around MacBook and Apple drivers/kexts.
Following code is pretty much along what we did during boot (found somewhere on internet, don’t have link):
With this I am back to a cool running MBP on linux. This same logic is applicable to MacOS as well. I have some local code changes along with kexts built to forcefully switching off dGPU thru gmux.
Well this works quite well in practice because of gmux being an intermediary. LWN has a great writeup for it. Some of this is documented in patent US 8,687,007 B2, esp fig6 and fig7: delegate act of switching off dGPU to gmux and how it schedules depending on blanking interval overlap.
A few links about gmux: