Temperatures inside pc high?

68 replies [Last post]
GrevenGull
Offline
Joined: 12/18/2017

So this thread here is just gonne semi-related to Trisquel.
Well... more accurately it will either be related or unrelated depending on the comments I guess.

Anyway, after I switched from MacOS to Trisquel Mini I experienced a very hot machine, like I could not remember from before. I should mention that I didn't actually actively measure the temperatures before I switched. So this could very well just be a result of me kinda "looking for problems".

But still, the machine seems unnecessary warm, even at CPU percentage use around 0%.

I see some of the sensors showing around 70-80 degrees celsius at 0% use.

My question is: any other people in here struggle with this, and if so, what computer do you have etc?

I am on a MacBook Pro 9.1 for reference.

GrevenGull
Offline
Joined: 12/18/2017

Wouf... "gonne", that was a chilling typo.. sorry about that

fbit

I am a member!

Offline
Joined: 07/07/2013

In my experience, macbook pro's run very hot on Trisquel, though I thought this was especially the case when watching videos.

The machines ran much cooler on apple's proprietary OS. I used one of the machines with Parabola and it also ran much cooler. I never really looked into fixing this issue though, but it was annoying.

All of these observations are based on subjective experience.

Since you are running Trisquel Mini I'm not sure if that could narrow down the possible cause.

Time4Tea
Offline
Joined: 07/16/2017

Interesting. I wonder why they would run hotter under Trisquel than Parabola? I assume Parabola uses the same Linux-libre kernel that Trisquel does. Perhaps it's a kernel version thing? With Parabola's rolling distribution, it's probably using a newer kernel than Trisquel and maybe they've improved the support for more recent Apple hardware. Would be good to try one with Trisquel 8 and see if it is any better.

Maybe the OP could try booting a Parabola live USB and let us know if it improves?

(EDIT: The table on this page shows that Parabola is using quite a 'bleeding edge' kernel:

https://distrowatch.com/table.php?distribution=parabola)

Magic Banana

I am a member!

I am a translator!

Offline
Joined: 07/24/2010

Or, simpler, install a 4.14 Linux-libre kernel using jxself's repository: https://jxself.org/linux-libre/

Time4Tea
Offline
Joined: 07/16/2017

Good idea :-D

GrevenGull
Offline
Joined: 12/18/2017

Tried to follow the instructions there and on the first command I got "E: Invalid operation eidt-sources" :/

jxself
Offline
Joined: 09/13/2010

Do you see your typo there? That's why.

GrevenGull
Offline
Joined: 12/18/2017

I'm so sorry, you're absolutely correct. I'll try again.

fbit

I am a member!

Offline
Joined: 07/07/2013

Both macbook pro's where this happened were using jxself's kernel. Most likely lts, but I'm not sure.

GrevenGull
Offline
Joined: 12/18/2017

Okay, I corrected my typo and I got "Select an editor. To change later, run 'select-editor'.
1. /bin/ed
2. /bin/nano <---- easiest
3. /usr/bin/vim.basic
4. /usr/bin/vim.tiny

Choose 1-4 [2]:
"

Is this something I have to choose because this is the first time I am using this command or something like this? :)

This step isn't mentioned in the link

gnutastyc
Offline
Joined: 11/13/2017

If you are not experienced, just use nano. Be aware that you can only use the keyboard when working with nano, not the mouse/touchpad. You usually get prompted things like that when setting up some programs.

GrevenGull
Offline
Joined: 12/18/2017

Allright! I just chose the nano for simplicity for now. But then I got this thing (see screenshot).

Is this also some kind of step I have to go through because it is the first time I do this?

Screenshot at 2018-01-02 19:36:41.png
Magic Banana

I am a member!

I am a translator!

Offline
Joined: 07/24/2010

As https://jxself.org/linux-libre/ instructs, add the following line:
deb http://linux-libre.fsfla.org/pub/linux-libre/freesh/ freesh main

That said, here is an alternative way to add the line, without a text editor. This command:
$ echo 'deb http://linux-libre.fsfla.org/pub/linux-libre/freesh/ freesh main' | sudo tee -a /etc/apt/sources.list

Given your record of typos, I suggest you copy-paste this command in a terminal. If you forget the "-a" option, you would actually overwrite the content of /etc/apt/sources.list instead of appending a line to it!

Once the line added (whatever the method), proceed with the subsequent instructions on https://jxself.org/linux-libre/

GrevenGull
Offline
Joined: 12/18/2017

Okay so I just added that line just atop all that stuff. Then I presses ctrl+x to exit and then saved the changes. I didn't specifically choose the format, I just pressed enter. And then I was taken back to the terminal.

Then I did the wget https://jxself.org/gpg.inc

Then I checked the key. And the key was good.

Then I did the sudo apt-key add gpg.inc - And got "OK" after I confirmed my password.

Then I did the rm gpg.inc - But nothing at all happened. The terminal just hopped down to receive another command as if nothing happened.

Then I did sudo apt update - All packages are up to date.

Then I did grep --color=always -i PAE /proc/cpuinfo - PAE was indeed highlighted in red, so I interpreted that as a "good to go".

Then I did sudo apt install linux-libre-4.14 - I got this:

"Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package linux-libre-4.14
E: Couldn't find any package by glob 'linux-libre-4.14'
E: Couldn't find any package by regex 'linux-libre-4.14'
"

:/

I tried to be veeery cautious about my typos, but should I try the whole shabang one more time, from the beginning?

Magic Banana

I am a member!

I am a translator!

Offline
Joined: 07/24/2010

That looks all right... unless you did not properly copied the line in /etc/apt/sources.list. Double-check it and modify it if necessary. I suggest you use a graphical text editor to feel more at ease. Since you are using Trisquel 8, here is how to open /etc/apt/sources.list with the pluma text editor and administrative privileges:
$ gksu pluma /etc/apt/sources.list

GrevenGull
Offline
Joined: 12/18/2017

I double checked the line in the sources list, and I moved it down amongst the other lines that had the similar kinda look to check if the helped. It didn't. But what do you actually mean with "/etc/apt/sources.list"?

Edit: Oh, you were referring to the text editor version?

Magic Banana

I am a member!

I am a translator!

Offline
Joined: 07/24/2010

It is the file 'sudo apt edit-sources' edits. It looks like "linux-libre-4.14" is really absent from the repository (and "linux-libre-4.13" is still there): https://linux-libre.fsfla.org/pub/linux-libre/freesh/pool/main/l/

Try this command, which will install the Linux-libre 4.14 but will switch to the next LTS version once available:
$ sudo apt install linux-libre-lts

GrevenGull
Offline
Joined: 12/18/2017

Huh, that's strange, but anyway, I tried that and think it actually worked (see screenshots) :)

Screenshot at 2018-01-02 22:28:44.png Screenshot at 2018-01-02 22:29:05.png Screenshot at 2018-01-02 22:29:32.png
Magic Banana

I am a member!

I am a translator!

Offline
Joined: 07/24/2010

Next reboot will be on that version indeed.

On a side note, 'sudo apt-get autoremove' would remove some packages that you no longer need.

GrevenGull
Offline
Joined: 12/18/2017

Awesome :) Thank you for everything. So I need to restart computer for changes to take effect?:)

Magic Banana

I am a member!

I am a translator!

Offline
Joined: 07/24/2010

Yes. A kernel update is the only case where the system needs to be rebooted to use the newer version.

GrevenGull
Offline
Joined: 12/18/2017

When you say "reboot", do you mean the same as "restart"?

Anyway, I restarted the computer and at first sight it actually looks a little bit better.

My temps now (Package id 0, core 0, core 1, core 2, core 3 and "temp 1" have not yet gone over 72 celsius, and they seem to stabilize around 68, which is effectively 10 degrees lower than before. But I'll give it some more time

Magic Banana

I am a member!

I am a translator!

Offline
Joined: 07/24/2010

A "reboot" is a "restart" of the computer (you can "restart" a single program). 'reboot' also is the name of a command to, well, reboot.

Time4Tea
Offline
Joined: 07/16/2017

What is the fan speed showing as? (and what max. is shown with the 'sensors' command?)

GrevenGull
Offline
Joined: 12/18/2017

Now I just opened the laptop from suspend, and the fans are at 2000 rpm, max is 6000

Time4Tea
Offline
Joined: 07/16/2017

Ok. Is the fan getting up to the max rpm when the machine is hot? In the hot condition, what are the values of fan1_output and fan1_input in the directory I gave in the post below?

jxself
Offline
Joined: 09/13/2010

"It looks like "linux-libre-4.14" is really absent from the repository (and "linux-libre-4.13" is still there):"

Oh wow; I will get that fixed.

jxself
Offline
Joined: 09/13/2010

OK; this is fixed now.

But this means that my Linux-libre repo has been slightly broken since 4.14 came out back in November. I wonder why no one ever reported this to me directly? Out of happenstance I happened to find a reference in a thread here, but surely GrevenGull isn't the only person to run into this. Makes me wonder why no one ever said anything to me. Anyway, it is fixed.

Magic Banana

I am a member!

I am a translator!

Offline
Joined: 07/24/2010

I doubt many users install the packages with fixed version numbers.

Time4Tea
Offline
Joined: 07/16/2017

This is interesting. I use a Macbook 2,1, which is compatible with Libreboot, although my wife has a later Macbook Pro, which I have not attempted to install GNU/Linux on (yet!).

I think the big question is whether the onboard controller that manages the temperature sensors and fan has a free driver. If not, then I would assume linux-libre (which Trisquel uses) would not include the kernel module for it. Is the fan running at all? If you type 'lsmod' to view the installed kernel modules, does it include 'applesmc' (or something similar)? If you have the 'lm-sensors' Trisquel package installed, you can also type 'sensors' on the command line, which should report the temperatures and tell you what rpm the fan is running at. That would be interesting to see.

If the fan is running at a fairly high rpm, then it may be that the machine is just running hotter with the Linux kernel. I read somewhere that the Apple machines can run hotter under Linux, because it doesn't make such effective use of the CPU 'states' when idling, as the Apple kernel does. If that is the case, then you may have to just put up with a hotter machine under Linux (or use an external cooling pad or something). Did you install any other GNU/Linux distro on it, which uses the 'vanilla' Linux kernel, with blobs? Did that perform any better thermally? You can always try that with a live USB and see if it is any better (not that I am recommending switching to non-libre, just curious to know what happens).

It is also possible that the fan may be faulty, although that sounds unlikely, as you indicated that it seemed noticeably hotter after you switched to Trisquel.

If the thermal management is not as good then you should be a bit careful. You might be able to get away with just running a hotter machine, although if the problem is really severe, then you might find it will trip the thermal cut-out (especially at high CPU load), which would be very annoying.

GrevenGull
Offline
Joined: 12/18/2017

When I type "lsmod" int he terminal, it does indeed include applesmc.

But the fan thing you mention is interesting, because when you mention it, I think I have not heard the fans at all since I switched. So you might be on to something there.

Time4Tea
Offline
Joined: 07/16/2017

What does the fan speed show as if you use the 'sensors' command (with the lm-sensors package)? If the machine is hot and the fan speed is very low or zero then, if upgrading the kernel doesn't improve it, it's possible that the fan may be faulty. I believe they can be replaced - I got a replacement for my Macbook 2,1 fan from ifixit.com. They may have a replacement for the newer model.

Please note that I am to a large extent speculating here. The Macbook Pro 9,1 is much newer than the Macbook I'm using and I don't know to what extent the hardware is supported by Linux-libre. I recommend trying the newer kernel first.

GrevenGull
Offline
Joined: 12/18/2017

I installed the lm-sensors through the package manager, but I can't seem to find it anywhere in the menu. I also tried to rund it from alt-F2 and from the terminal, but with no luck.

Yeah, I think I'm going to try the new kernel, because my fans were working properly before I switched. But the site that MagicBanana linked didn't help me unfortunately, unless I misinterpreted the procedure.

Time4Tea
Offline
Joined: 07/16/2017

If you have 'lm-sensors' installed, then just typing 'sensors' in any terminal prompt should show you the temperatures and fan speed. If not, then there may be a PATH issue.

GrevenGull
Offline
Joined: 12/18/2017

Ah, cheers! :)

But right now the fans started and I checked also and they running firmly at 4000 ca rpm, so fans are good. Check.

Time4Tea
Offline
Joined: 07/16/2017

4000 rpm sounds a bit low to me. If your system is set up like mine, the folder /sys/devices/platform/applesmc.768 should contain some files that provide info and configuration options for the fan and sensors. For example, if I cd to that folder and type:

cat fan1_max

it prints '6200', which is the max speed of my fan in rpm. So, assuming your system is similar to mine, 4000 rpm seems a bit low (for the max). What does your fan1_max say?

There are some other useful files in there that might also give you some insight:

cat fan1_input

should show the current speed of the fan.

cat fan1_output

shows what speed is being demanded by the system (signal sent to the fan). If, when your machine is hot, fan1_output is higher than fan1_input, then that shows that the fan isn't able to get up to the speed that the system is demanding, which might be a sign of a faulty fan. Otherwise, if fan1_output isn't equal to fan1_max when your system is hot, that might suggest that whichever software tool is supposed to be controlling the fan (applesmc kernel module?) isn't doing a good job.

Another useful one is fan1_manual, which should be set to 0 by default (auto control), but if you change it to 1, that should allow you to set the fan speed manually, by changing the value of fan1_output. That way, you can play with the fan and see if it is able to get up to a speed that will adequately cool the system.

However, I think the newer kernel is still worth a try too.

GrevenGull
Offline
Joined: 12/18/2017

What do you mean with "if I "cd" to that folder"?

Edit:

Okay I think I figured it out. I just open terminal and type:

cd /sys/devices/platform/applesmc.768

And then when I write those commands you gave, I get the same info as doing the

sensors

But what I haven't figured out is how I change the fan1_manual to 1.
When I do the

cat fan1_manual

It just prints 0.

Time4Tea
Offline
Joined: 07/16/2017

cd = change directory. You can change the working directory to that folder by typing:

cd /sys/devices/platform/applesmc.768

Then, you should be able to view the values in the fan1_input and fan1_output files that I mentioned, to see more details of what the fan is doing. With, for example:

cat fan1_input

I'm assuming that your system is similar to mine, although the exact names of the files and directories might be slightly different.

GrevenGull
Offline
Joined: 12/18/2017

If I do that right now I get:

Output: 3784

Input: 3787

Time4Tea
Offline
Joined: 07/16/2017

Ok. Is that when the machine is running hot, under load? If so, then that would suggest to me that the controller is not good, because it is not demanding the max rpm when the machine is hot.

Try setting the fan speed to 5800 manually and see if that brings the temperature down.

Time4Tea
Offline
Joined: 07/16/2017

What do you get if you type:

cat fan1_output

and

cat fan1_input

when the machine is running hot?

fan1_manual will be set to 0 by default, as it will be in 'auto' control mode. I tried setting it to 1 with:

sudo echo 1 > fan1_manual

but that didn't work for some reason. However, I was able to change it by editing the file with:

sudo nano fan1_manual

Once it is set to 1, you should be able to change the fan speed manually, by changing the value of fan1_output in a similar way. You can change back to 'auto' mode when you're done by changing fan1_manual back to 0.

GrevenGull
Offline
Joined: 12/18/2017

Okay.
Yeah, so my pc is fairly hot right now (even though I'm not doing anything heavy at all, simply using this forum basically.

I have 6 sensors showing at my panel which are in this order: "Package id 0", "Core 0", "Core 1", "Core 2", "Core 3" and "temp1". They're showing at the time of writing, 74, 71, 74, 70, 60 (bopping a little bit up and down).

cat fan1_output: 3677
cat fan1_input: 3680

GrevenGull
Offline
Joined: 12/18/2017

When using the

sudo nano fan1_manual

Should I just change the blinking 0 to a 1 and then ctrl+x and then press "y" for yes, and then just enter? And then what?

Time4Tea
Offline
Joined: 07/16/2017

Yes. Just replace the 0 with a 1 and that puts it into manual mode. Then, you can manually change the demanded fan speed by editing fan1_output in the same way. I suggest upping it to around 5800 to see if that helps bring the temps down.

GrevenGull
Offline
Joined: 12/18/2017

I see! I got it! :D thank you so much! I just set it at max which is 6200.

Can I do this with the fan2 also? What are the potential harms of running the fans at full speed?

Time4Tea
Offline
Joined: 07/16/2017

Oh, that laptop has 2 fans? I've only got 1 in mine. Were they both running previously? That might explain why they were running at a lower rpm, if you've got two to help with the airflow. I don't see why you shouldn't be able to do the same thing with the second fan to increase the speed. Are there fan2_manual and fan2_output files present in that same folder?

In terms of possible harm/downside of running the fans at a higher speed, the main things I can think of are:

- The laptop will probably be more noisy
- It will use more power and probably drain the battery faster
- You will probably wear out the fans more quickly and need to replace them sooner

These issues will probably be exacerbated as well, if you use the manual mode to set the fans to max constantly, even if the system is not under load. If you can do some coding, you might be able to write some sort of daemon process, that takes over control of the fans using those files, but that is a bit more involved (I haven't done it myself).

The thing is, if the underlying issue is that the CPU is generating more heat under Linux, then you've only really got two options: either accept that the machine will run hotter, or increase the fan speed to deal with the heat.

GrevenGull
Offline
Joined: 12/18/2017

Oh, that laptop has 2 fans? I've only got 1 in mine. Were they both running previously? That might explain why they were running at a lower rpm, if you've got two to help with the airflow. I don't see why you shouldn't be able to do the same thing with the second fan to increase the speed. Are there fan2_manual and fan2_output files present in that same folder?

Yes I have 2 fans, fan1 is left side I think (the side that gets hot) and fan2 is right side.
Both were running previously.
The left side of the pc gets really hot, while the right side seems much cooler, even though the two fans were running at same rpm.
Yes there are fan2 everything.
Interesting notice: I have now set both fans to 6200 (which is max for both) for some minutes, and while the fan1 was revving up to 6200 immediately, fan2 is still going in 5000. So it seems like either the terminal is guessing wrong, that the max speed for the right (fan2) fan is actually 5000 and not 6200. Or that it is broken in some way. Idk.

If you can do some coding, you might be able to write some sort of daemon process, that takes over control of the fans using those files, but that is a bit more involved (I haven't done it myself).

This seems over my level for now.

The thing is, if the underlying issue is that the CPU is generating more heat under Linux, then you've only really got two options: either accept that the machine will run hotter, or increase the fan speed to deal with the heat.

Fan speed it is xD

Time4Tea
Offline
Joined: 07/16/2017

Also, you can try doing something more intensive, such as compiling something using multiple cores or playing a video or game. If you do that, does the fan speed increase to help manage the temperature? If not, again, that probably suggests that the controller is not doing its job well, especially if the fan will go faster when adjusted manually.

GrevenGull
Offline
Joined: 12/18/2017

Well, I'd rather not try that at the moment in fear of frying my pc :p

But shouldn't the controller already be ramping up the rpms, with the temps I gave you in the other reply?

I have now run the fan1 on 6200 and fan2 on 500 for about... some minutes, and the same temp sensors are showing around 68-63

Time4Tea
Offline
Joined: 07/16/2017

I don't think there should be too much concern about 'frying' the PC. There should be a thermal cut-out that will immediately shut the power off if the machine gets too hot. When I bought my Macbook 2,1 off of Ebay, the fan wasn't working at all and, after 20 mins or so of use, the temps were getting up to around 100C and it was thermally cutting out. Since I replaced the fan with a new one, it's been working great.

Yes, the applesmc controller should be ramping up the fan speed automatically to deal with the heat. Which is why, if it isn't, then it seems like it's not working properly. That was why I mentioned about making a daemon process, to override it. It might be worth finding out which person/team maintains the applesmc kernel module and submitting a bug report to them. That way, they might be able to improve it in a later kernel version (although that probably isn't going to help you much in the short-term).