Previously, i tried to use my MBP2011 functional, but seemed like linux could be a better fit as well. Thought of giving it a try (why not).
Ubuntu 20.04 just came out and installing it was just a breeze. I think there are ample or resources available that walk you thru how to create a bootable usb drive (efi based), so won’t rehash here.
Now, I did ensure that
nvram had set up
gpu-power-prefs correctly to always go with iGPU. Once installed now it was important to ensure that dGPU stayed off and did not kick in.
GRUB to rescue (more on GRUB later):
GRUB_CMDLINE_LINUX_DEFAULT with following options. Here we are asking kernel to neglect radeon driver, even if it is found & go with i915 (intel iGPU) instead.
Now this will just switch GPU, but will not power off dGPU. To achieve that:
It is important to add
outb lines before
insmod gzio (this is a grub thing). Basically GRUB will load (
gzio before loading kernel (often linux kernel is compressed). Lines
6-9 are of interest here. After
GRUB_GFXPAYLOAD_LINUX and before
Once done with updating grub config and files, ensure that you update grub:
Now, the best part of this is dGPU is completely powered down. Can be checked with
sensors as installed with lm-sensors. I can see that GPU-diode consistently reports either
-128 or low single digit numbers (as the heat sink is shared between both CPU & dGPU). But overall MacBook is quite cool and does not heat up at all (to the point I don’t even need a laptop cooler to use it :) ).
A note about previous magic numbers:
Now, on every reboot this sets up well & looks very usable overall. More details on how to do this on resume after suspending here.
Setting up Ubuntu
I tried both
Gnome. I found
Gnome to be quite handy as compared to
KDE. Matter of personal choice- both desktop envs are great. I like the typography as well. Anyway following packages are easily installed and used.
Goes without saying that I installed
VisualStudio Code and
Brave/Chrome browsers. But that is it really.
With all these setup, I found that turning off turbo-boost helped keep temperature in control. But the biggest benefit came by switching off dGPU (
outb magic addresses).
With MacOS following things did not work, but they do now with Linux/Ubuntu:
- Screen Brightness buttons, work out of the box
- Sleep, if I close the lid and reopen, computer wakes up and it is functional.
- Updates/Upgrades, a few glitches but functional