How to improve your 9 years old macbook performance

Re-apply the thermal paste

Is an old machine, probably never has been opened, the thermal paste for sure is dry and is not doing his job properly. Re-applying thermal paste will bring big benefits in temperature and overall performance. Is a fairly simple process so i highly recommend to just do it instead of paying someone else to do it. These two good guides can work as a reference.

https://www.ifixit.com/Guide/MacBook+Pro+13-Inch+Retina+Display+Early+2015+Fan+Replacement/45131

https://www.youtube.com/watch?v=L6iUwprKwio

Install mbpfan

This app will help you to control the fan speed. The kernel is also able to control the fan but seems to be very passive. This CPU will start throttling by design at 105 ºC so the fan should be kicking in before that.

https://github.com/linux-on-mac/mbpfan

In slackware there was no problem compiling mbpfan

git clone https://github.com/linux-on-mac/mbpfan.git
cd mbpfan
make
make install

Add the following to /etc/rc.d/rc.local to start the app at boot time

if [ -x /usr/sbin/mbpfan ]; then
	/usr/sbin/mbpfan
fi

I did found the following settings more confortable for me in terms of performance and fan noise :)

slackbook# cat /etc/mbpfan.conf
[general]
# see https://ineed.coffee/3838/a-beginners-tutorial-for-mbpfan-under-ubuntu for the values
# 
# mbpfan will load the max / min speed of from the files produced by the applesmc driver. If these files are not found it will set all fans to the default of min_speed = 2000 and max_speed = 6200
# by setting the values for the speeds in this config it will override whatever it finds in:
# /sys/devices/platform/applesmc.768/fan*_min
# /sys/devices/platform/applesmc.768/fan*_max
# or the defaults.
#
# multiple fans can be configured by using the config key of min_fan*_speed and max_fan*_speed
# the number used will correlate to the file number of the fan in the applesmc driver that are used to control the fan speed.
#
min_fan1_speed = 1299   # put the *lowest* value of "cat /sys/devices/platform/applesmc.768/fan*_min"
max_fan1_speed = 6199   # put the *highest* value of "cat /sys/devices/platform/applesmc.768/fan*_max"

# temperature units in celcius
low_temp = 63                   # if temperature is below this, fans will run at minimum speed
high_temp = 66                  # if temperature is above this, fan speed will gradually increase
max_temp = 95                   # if temperature is above this, fans will run at maximum speed
polling_interval = 1            # default is 1 seconds

Now, temperature is around 45ºC idle. With Hyprland, some music, chrome and a notepad is around 60ºC. Chrome on youtube will be around 75ºC. Compiling a big application will take the fan to kick in full speed and temp goes around 100ºC but no throttling on the CPU.