Just be careful with powertop's suggestions: it suggests min_power instead of med_power_with_dipm (https://lore.kernel.org/patchwork/patch/830838/), which can lead to data corruption. It happened with me on my current laptop, I played a bit with powertop on it when it was new to see how long its battery could last, and ended up with filesystem corruption, so I had to wipe and reinstall; luckily, I didn't have any important data on it yet.
I went down this rabbit hole a few years ago. I bought an X220 (tablet edition) when it first came out. I still have it; with an i7 and 8 GB of RAM it quite frankly can still pull its weight despite being released in 2011 or so.
Anyways, when it was new I kinda-sorta became obsessed about battery life and I tried all the tricks: Screen on minimum brightness, wifi and bluetooth disabled, SSD installed, all the options toggled in PowerTOP and tlp-stat[0], I could get that i7 down to just 6 Watts or so at idle, but of course even the interrupts from the keyboard would cause the power consumption to spike upwards. At 6 Watts it would last something like 9 hours, which is great when you're traveling. Pre-download a bunch of API documentation and man pages, and you can hack away on the plane.
Powertop is a great tool that's only been getting better.
I of course do not use that laptop any more; I gave it to my 4 year old daughter and taught her how to launch emacs. She plays a game where she makes fun letter patterns in the scratch buffer and I use a macbook pro as my daily driver. The battery life is substantially better, and I can't wait to try an M1. My wife's XPS can't hold a candle to the macbook as far as longevity is concerned.
I fixed a 2006 macbook pro for my 3 year old to watch Peppa Pig mostly on Netflix. Used powertop and it had lot of suggestions which i just went with it. That laptop has a really good battery still. Together with CPUPOWER on conservative i avoided the processors (which i repasted) heating up and d to watch netflix with no annoying fans. Until last month that netflix stopped supporting the 32 bit last version of firefox. But for 2 years that machine was at hand in the living room, and used to Ssh into other ones, use vim and browse the Internet myself. It did take a couple of hours to set up, change the hardrive to an ssd, an upgrade to linux. But more of this needs to be done. People have so much better computers lying in garages just because they never took the photos or documents out. And after many years they land in a landfill. Linux
Is a macbook pro from 2006 with linux on it :). Good luck trying to surf the net with safari on Snow leopard Mac os 10.6 , which incidentally i had to reinstall before i could transform it into Linux! I use the browser to get me i believe rEFind by roderick w. Smith. That was an experience, i tell you. The DRM stuff is not s problem on firefox after you install the packages it needs.
Note that the parent may not be referring to 4k, but mere 1080p. You only get 720p in browsers except for Safari/macOS, Edge/Windows, or Chrome/ChromeOS.
It's no secret that Macbooks are terrible Linux laptops. If you want to use Linux, buy a different brand, that's kind of the gist of it. Using Intel WiFi has never been flaky for me on Linux (Windows being a whole different story) and the weird wakeup have never happened to me as far as I remember.
There's a project underway to delivers a better touchpad experience on Linux, but that's still a work in progress as far as I know. It also strongly depends on how much details the manufacturers disclose about their hardware, how willing they are to open source their drivers and how much they rely on copyrighted binary blobs of firmware. From what I've read about the Mac hardware, it's probably going to be a challenge to get everything running smoothly. Synaptics hardware, found in many laptops, isn't always much better in this regard.
Apple applies some very optimised CPU power profiles to their laptops, which aren't directly available to other operating systems. It's why Windows consumes more power on Macbooks as well, and why the fans (if present) kick in more often.
I have noticed that my Thinkpad lasts a lot longer on Linux than on Windows unless I turn the power settings down to the point where Windows' UI becomes janky. It really depends on the year, model and serial number of each laptop whether Linux will boost or degrade the performance and usability aspects of the device. Manufacturers that sell Ubuntu as an OS option seem to do well in this area, though.
I'm hopeful for what the Linux touchpad project will bring. The new GNOME releases and the recent updates to the Pop_OS window manager seem to put more of an emphasis on touchpads, so things are moving in the right direction.
I have a Thinkpad T495 which Lenovo supports both Ubuntu and Fedora on and still battery life is much worse using Linux. All the tweaking and playing with tlp settings doesn't help.
The trackpad is smooth enough after I adjust the trackpad speed. It is slow as molasses by default. What is disappointing is the lack of multitouch support. Gnome 40 and the lastest Pop OS have some nice multitouch features for the desktop but support in applications is practically non existent.
I have a MBP from 2018 and it's awful with wifi6, it always timeouts after a few minutes and I have to restart the wifi on the Mac. It happens on iOS too. No idea why, I'm still investigating.
That's the rub I think. I have a T470 maxed out I bought years ago and everything in it is well supported. I'd even say it's more reliable than my 16" MBP that often crashes if I leave it connected to a docking station over night.
I will agree though that the one thing I find much better on Apple laptops is the trackpad. I do disable the trackpad and use the nub, which I find more convenient for most things anyway.
I was running a super ancient Linux distro on this laptop for years, and had two weird incidents. In one, I was trying to tweak power settings manually, and somehow got the CPU fan stuck on "full-speed" for something like 6 months. Then later I installed either PowerTOP or TLP or some other tool I don't know, and it recalibrated my power settings.... immediately the fan stopped going full-speed, and it would only turn on when the CPU was really chugging.
Fast forward to today, I upgraded to Ubuntu 20.04. Just letting the machine idle after boot-up runs the CPU fan continuously at low speed. Opening a browser sends it into full-speed mode until I close the browser (virtually any page). But it's the same machine, and same version of Firefox. So, something about this newer kernel + OS has resulted in the fan spinning way more than the old kernel + OS. Trying to figure out how or why leads you nowhere, because of course it's all specific to your hardware and whatever in the kernel has changed.
Now you might think, "OK, just turn on power-saving, the fans should be silenced." Nope. Tried every single power tweak that exists, and I can't force the fans to quiet. I can make the CPU run dog slow, but the fans keep chugging. Which is really annoying when all you want is a few minutes of peace and quiet.
With the Intel processors suddenly being hotter with a new kernel, I'd always have a look at the cpu frequency scaling. That's where stuff changed, and the new modules for that could simply work worse for older processors. Especially if it's not all that old, but also not Skylake yet. https://wiki.archlinux.org/title/CPU_frequency_scaling#CPU_f...
If it's not that, check that the temps are actually high. If they are not, adjusting the fan curve could be possible. https://wiki.archlinux.org/title/Fan_speed_control lists some options (nbfc looks nice and is new to me), your laptop might have some vendor specific solution like thinkfan.
If you're not running a Thinkpad (I'm not) then there's not much that works for controlling power, fan, etc. I've tried everything I can find that works in this OS and it has almost no effect. Basic cpufreq controls work, but they only slow down the CPU, the fans keep spinning more than on the old OS. And most of the /sys/ settings that exist (like no_turbo or the power governors) simply don't work for whatever reason (and it's a Skylake CPU).
I'm not surprised that there's regressions, but I am a little surprised at how poor the hardware compatibility testing is (I guess there isn't any?). The only way to know for sure if a complete system will keep working when the software changes is to test it, send test results in, look for bugs, fix those, etc. It's surprising that Linux has been developed for 30 years and there's no official test suite for hardware compatibility. All of us should be running a test suite that automatically sends reports back to the kernel devs, but for whatever reason Linus's testing model is "put out an alpha release and see if anybody complains". And there's virtually no documentation for 90% of the controls in the kernel; you have to be a kernel hacker to know what values to set on what controls and what they'll even do.
I can only echo that sentiment, in a way. I was also surprised when looking at the hardware support with new kernels for my (very old) thinkpad how much just did not work anymore. IIRC, undervolting that processor had been possible before (what I looked at to make the fan quieter), but the API got removed without replacement. And the gpu could not be used for video acceleration in the browser, something that seemed to have worked when the laptop was new in Windows (at least the reviews from that time stated better support for videos with higher resolution than possible when I checked, it might also have been caused by better cpu hardware acceleration).
Though some things get better with time, gpu acceleration for videos in the browser is possible now in Linux in general and works well, maybe it even works with that old gpu.
For this specific issue: If the fans do not spin down when the processor clocks down the thermal control of the laptop is broken. If that worked better in earlier systems, then it wasn't BIOS controlled then but is now, or the other way around. I'd really look at whether nbfc supports it. And also at what is possible in the BIOS, a Skylake laptop with UEFI bios might have a configurable fan curve.
And I'd also check what the temperature sensors output, this issue might be caused by simply more dust in the machine than it had earlier. Or, I once had the effect of my system being louder after a move, until I realized the system was equally noisy, my environment got quieter. It's easy to be wrong with those things.
In my cases, several Mac transformed to Linux and some windows transforms, they all run better in Linux. You can check with lm_sensors which reads the temperature of the sensors, specially on the cpu, then repaste them, you will see you gain 10 degrees Celsius or more on badly thermal pasted cpus. I also upped the minimum fan speed (by modifying a file on startup) lm_sensors reads that too, so upped 1000 revs were still is quite quiet and that helps. All of this while having CPUPower on conservative from startup. Peace and quiet :)
I am curious: why do you have a throwaway account for posting this?
Edit: is that machine even able to run another OS than Linux? If not Linux is awesome and can even run on that machine :)
after years of fighting with tlp and cpu governors etc and never getting close to windows, i have to think this is mostly an indicator how impossibly difficult it is to get comparable power usage on linux just because there are so many cooks in the kitchen sometimes. i really wish i could put a single finger on the difference but its apparently a mystery to everyone still on both big platforms
I've had the opposite experience. run powertop's auto tune, and the three laptops I've owned in the last decade have all ran longer than windows by a decent measure.
When I used Windows and checked Task Manager, it always did some silly work, there was always some I/O, there was always some CPU usage. With Linux it's dead silent. If I don't do anything, Linux does not do anything. I think that the only avenue where Windows might be superior is driver quality, but even that is questionable.
I'd recommend just installing the "tlp" package, it includes most of what PowerTOP does and is "install and forget".
Just an anecdote: I'm using Linux on a professional laptop, the same most of my colleagues use with Windows 10 (Latitude 7490). My battery life is significantly higher, high enough that I never care really, and the laptop is quieter: hearing the fan is the exception, not the norm.
All this with Debian and the TLP package installed. The TLP configuration is just tweaked to aggressively idle the SSD (no spin down / spin up issue anymore) but that's it. I did this a long time ago when I moved from HDD to SSD, and just carry this over.
A good deal of the difference may come from the antivirus on Windows, but TBC.
I have a low end HP because i needed a windows machine for some studies. The thing goes straight into fans on windows, when running on ubuntu almost never. Only when rebooting from windows to ubuntu and needs cooling down. There is only one explanation for that.
I recently got my new ASUS GA503QM (AMD Ryzen 5800HS) able to consume less power than Windows, but adjusting the CPU’s limits¹ and changing the scaling governor² did much more for obtaining protracted battery life than PowerTOP did.
I even discovered that if limit the CPU to an small enough value (e.g. 0.1W, not that it’s actually capable of going that low), it reduces the clock speeds to 400MHz (compared to its usual baseline of 1.2GHz, which is still the baseline even when limited to 5W). The system certainly feels much slower with all cores at 400MHz than it does with all cores at 4GHz! But still quite usable in general.
¹ e.g. `ryzenadj -a 5000 -b 5000 -c 5000` for roughly a 5W TDP.
² From schedutil to powersave: `echo powersave | sudo tee /sys/devices/system/cpu/cpufreq/policy*/scaling_governor >/dev/null`
Alternatively, I used zenstates and played around with VID values on different p-states (or is it c-states? I can't remember) which allowed my cores to go from ~400Mhz and then speed up as necessary.
There's info scattered around on the internet for how to do this; I don't have my script to do this easily accessible atm.
I do concur on the governor's though, nothing else really makes much of a different. My old HP laptop I permanently had on the powersave scheder and it would draw about 2.5W - the battery life was stupidly ridiculous. My new AMD Lenovo I can't even get below 6W by the same method unfortunately.
I haven’t compared power consumption for a full cycle of active use at 400MHz flat and 1.2GHz flat. I should try it. But as to whether it’s worth reducing the idle frequency, I doubt it: I observe no measurable difference between the two frequencies at idle—though it’s made harder by the fact that the /sys/class/power_supply/BAT0/power_now figure seems to take some time, even minutes, to reach a steady point, e.g. slowly drifting down from 7W to 6.6W. And the lowest it’ll reach seems to vary a lot, e.g. sometimes it won’t drop below 6.6W, and other times it’ll settle to 6.1W, about the lowest I’ve measured. But at 400MHz flat it can’t quite get it to 9W with a dozen or so `while True: pass` busy loops in Python, while at 5W (1.2GHz) I can get it up to almost 11.5W. (And then I throw it into boost mode and watch it climb rapidly to 64W while remaining dead silent, and wonder why the fan isn’t roaring away as it’s supposed to in boost mode and what of my fiddling just now prevented it from doing its job.) Even these comparisons aren’t great because of the lack of GPU load. Wonder if I can throttle that at all?
Not sure if better. But the biggest change in my case was not all the changes suggested by powertop, but probably kernel changes.went from 8-9w idle, to 5-6w. Over the course of 2 years wit a Lenovo t480s. I think that 5-6w is slightly better than windows.
your battery is probably being worn out. Mine's already under 80% of the design capacity. So more or less, tlp and kernel optimization has only negated the decline of my battery :/
I was probing for an explanation as to how Windows worked that needs beating by use of powertop. Power management is a wholistic concept for a computer.
I appreciate that the comment was probably more along the lines of "how can I find slow processes on Windows" or something else that powertop may be useful for here.