Nvidia GPU in Macbook Pro idles very hot

I have a 2009 Macbook Pro.
Core 2 Duo CPU
Nvidia 9400M GPU - Driver: 340.108/Nuoveau

  • Distribution & Version: Linux Mint Cinnamon 20.1
  • Kernel information: 5.4.0-80-generic
  • When did the issue start happening? Since installing Linux
  • Did anything change that caused it? (hardware change, upgrade) NO
  • What steps do you take that cause the problem? Normal use

I’ve long since installed Linux on this machine but I haven’t been using it very frequently so I never thought it was an issue. I have been using it much more frequently now and it’s really noticeable.

Upon boot the GPU is immediately sitting at 85 degrees. Using the Nuoveau driver it is about 87. These numbers come from a combination of gpustat, sensors, Nvidia X Server Settings and Green With Envy.

Running sudo apt upgrade pushes temperatures to 105 degrees or a little more sometimes. The fan runs at absolute maximum speed most of the time and I can’t even scroll web pages smoothly.

This machine used to be quiet when running OSX, I could use it to record audio in the same room but that’s not possible anymore. I have replaced the thermal compound on CPU and GPU but that hasn’t helped. I know Apple’s designs are normally thermally constrained but this is way beyond that. Is there any hope for my ol’ buddy?

A few things…

  1. I’ve seen some high end computers come from the factory with dry thermal paste and i’ve seen examples where it’s lasted a few years. If that’s a 2009 laptop it means the thermal paste that’s between your CPU and GPU heat sinks is going to be totally dry and not capable of transferring heat well.

  2. Older processors lack a lot of the instruction sets newer ones do so newer software may be asking them to do things they’re highly inefficient at. If you try a much older OS or graphics driver that might reveal the issue.

  3. I also had a heat problem on old hardware, my laptop’s discrete video card dropped out of support so the OS didn’t know how to tell the GPU to lower it’s P-state (power state) down from 100%. I’ve had a similar issue with a Startech 10/100 USB Network adapter where the driver worked but it couldn’t drop the P-state so it’d sit pretty hot even if it ethernet was plugged out.

  4. You could also use top or htop to see if there’s a process camping your system.

Up until very recently this exact model was my daily driver. 8GB RAM, SSD, openSUSE Tumbleweed. I never had excessive fan noise or software stuttering, but it did run very hot or at the least hotter than it does under macOS.

I didn’t particularly care for the proprietary NVIDIA drivers for a card this old. (this isn’t any advice this is just an editorial.)

Modern web browsing is going to be a sticky point and it’s only going to get worse IMO as the browsers leave us old machines behind.

Another thing to consider is many of the manufacturers of laptops with third party video cards added is they will usually have modified firmware they use rather than using the standard drivers from the manufacturer.

It’s my lightest and most portable laptop. It’s one of the last good models they ever made. I think up to 2012-14 you could reasonably service them yourself.

Yes, I’ve replaced the thermal paste very recently.

This got me thinking about what OS was last supported by Apple. It was El Capitan, OSX 10.11, which started implementing their Metal graphics API for GPUs that supported it but kept OpenGL support for older cards. The next release OSX 10.12 only supported Metal. Metal utilizes hardware acceleration extensively.

Cinnamon has a secondary mode you can select when logging in, Software Rendering Mode, that disables hardware acceleration. Wouldn’t you know it, this reduces idle temperatures by ~15 degrees. So it boots up at around ~65 - 70 degrees, which still seems a tad warm but I’ll chalk that up to the un-optimized generic Linux driver.

Unfortunately I think I’m stuck with the 340.108 driver from Nvidia. It’s old but the latest and greatest available for this GPU. I am wondering if there could be a way to tweak the Nouveau driver to beat the proprietary one. Either driver doesn’t allow me to change screen brightness which is a shame.

That should done via hardware. Should be a key combination on the keyboard to perform that

Yes, it has keys for brightness but they don’t function. Keys for volume and keyboard backlight work perfect though.

On adjusting brightness you might have success digging through here: Backlight - ArchWiki

“Screen brightness might be tricky to control. On some machines physical hardware switches are missing and software solutions may not work well. However, it is generally possible to find a functional method for a given hardware. This article aims to summarize all possible ways to adjust the backlight.”

I’ve made a Shell script before to increment brightness/gamma through xrandr but haven’t dug that deep into it.

I actually got Big Sur running on mine before retiring it. Linux still ran hotter.

Some distributions have a separate firmware package for nouveau cards but I don’t remember using such a thing.

This is odd. I can say I didn’t have that problem. Although now that I’m thinking about it it did refuse to light up the keyboard every so often.

Yeah, I have done the xrandr method but I found a Spice for Cinnamon that lets me accomplish the same thing with a little slider. It doesn’t seem to be the same as the functionality of OSX. The backlight illuminates the Apple logo on the outer case. As such the brightness of the logo is as bright as the backlight. None of the methods I’ve tried actually adjust the physical backlight, the logo remains at full brightness. It was also possible to make the screen completely dark by shutting off the backlight completely. It seems this is now impossible because the backlight is still on despite how dim the screen appears.

I got High Sierra going but some elements of the desktop were strange colours. A side effect of the GPU incompatibility.

1 Like

Maybe double check the BIOS settings. I have seen something in there for screen brightness control, and keyboard lighting. .

There’s no such thing on Mac. BIOS settings are controlled directly from the terminal and I have never found a good source or documentation about what is possible and the commands to accomplish it. Also, unless there’s a shell built into the UEFI i’d need MacOS installed to do anything.