Why is Linux on the Framework so resource intensive?

I really, really want to move away from Windows. I’ve tried a host of distros: Ubuntu, PopOS!, Mint, Elementary OS, and most recently Fedora.

For every single distro I tried on my Framework:

  • Batter life is appalling (2 hours max)
  • The laptop gets very hot, almost systematically

By comparison, on Windows 11, I can pull off 4-5 hours and the laptop rarely gets hot at all.

I love the Framework (I got a Framework 13, Intel 11th, from batch 4!) and I’m hoping to keep it for many years to come, simply upgrading hardware when needed. But if I’m unable to run Linux properly, I may have to switch to a laptop designed for Linux like System76 or Toxedo.

Is this a Linux issue? Or is it a Framework issue? Is there something to be done?

1 Like

What’s your typical workflow / workload like?

p.s. I also have an 11th gen FL13. Maybe we can compare our units.

Linux distros are, not good, at just automatically getting good battery life. To put it mildly. It’s a pretty glaring omission when so many use laptops. Battery life can be great, if you set it up. Auto-cpufreq, Powertop, and TLP are tools to change power usage to be more sane for a laptop.

3 Likes

I think my standard workload would be two browsers open (DuckDuckGo for web searches, Firefox for signed in apps) with multiple tabs open, Mattermost, Signal Desktop, Anytype, Mailspring, and Mullvad VPN. That’s pretty much it.

Would be happy to compare metrics!

I’ll try those, thank you!

If we start with having an idle baseline, say:

  • Wifi Off
  • Bluetooth off
  • Fedora 40, pure ISO/USB-only install with no internet for updates.
  • Disable sleep.
  • Display off after 10 minutes.
  • Unplug all expansion cards (i.e. empty slots).
  • Balanced

How many hours do you get with the laptop just sitting there, idling?

Update: In this state, my FL13 11th 1185g7 burns 50% in 8 hrs (+/- 5 minutes ish).

Just to say what nobody else has: this is not normal.

12 Likes

I have two Framework 13 machines, one a 12th gen Intel one and the other a AMD one. Both have the same amount of RAM, same SSD and no other oddities. The battery life on the Intel isn’t great, think ~5 hours. That’s just a Intel CPU thing I’ve noticed, they haven’t got it to match with the AMD counterpoints untill maybe the current gen Intel CPU’s.

Though as @DHowett says, 2 hours and it getting hot is very … odd. Is there anything in the background running amok maybe? My Framework 13 Intel runs Fedora Rawhide, and that had the same issue(s) a while back, but that was because of the (testing) version of Firefox had some bugs which caused a spike in CPU usage and RAM usage, which got fixed quite fast. I’d start looking at stuff like that.

Yeah something is not right on your machine.

For comparison, I have the 7840U with 1tb ssd (lexar nm790) and 32gigs of ram.

I have tested the following on it:

  • Arch Linux (and specifically CachyOS) with Gnome, KDE and now Hyprland
  • Fedora (Bluefin)

On both, without any extra tinkering I can get about 6-7 hours depending on the workload (its mostly light use (editing configs, browsing the web, discord etc). I usually keep the brightness pretty low and only charge to 85%.

1 Like

Have you used the power profiles present in most of the distros you’ve tried to lower the power threshold? My experience is that Linux and Windows last about the same and get equally hot with the same relative workloads.

That and turning down your screen brightness are the two fastest ways to reclaim battery life.

If you are getting 5 hours in Windows, there is nothing wrong with your hardware. I suspect that this is all a software configuration issue. Welcome to Linux.

1 Like

I use Firefox, Signal Desktop and Mullvad VPN myself

I and others have found Firefox using an unnecessary amount of CPU on some websites ( some repeatable, some not ). When using Firefox in Xwayland mode, that issue is gone. I think it’s a bug in Firefox when in Wayland mode.

so I set two environment variables to disable Firefox from using Wayland ( previously I re-compiled Firefox with Wayland support disabled )

MOZ_DISABLE_WAYLAND=1
MOZ_ENABLE_WAYLAND=0

This alone improved my battery life by a lot ( I consider it a lot )

Use power profile daemons >=0.23 and Linux >=6.11 as that supports disabling reducing GPU frequency and disables CPU boost when using power-saver profile ( which I use commonly )

I’ve set my Active Backlight Management ( ABM ) to 2 on the kernel parameter

amdgpu.abmlevel=2

If your using KDE Plasma <=6.1.x, there is a bug when using panels ( nearly everyone does ) where when hidden ( auto hide ), it’s causing an unnecessary amount of draw calls. Until KDE Plasma 6.2 stable is released ( I use Gentoo, it’s still in testing and someone mentioned it’s fixed for them ), I’ve simply set my panels to not auto hide, again this greatly increase my battery life

The Firefox and KDE Plasma workarounds ( temporally thankfully ) have both increase my battery life by a lot ( I consider it a lot )

I’m on Framework Laptop 16

2 Likes

To be honest, the AMD Ryzen platform being quite “new” to the linux world (especially from the drivers side), I’d go with a distribution that uses recent drivers.
I am currently running (this applies to my kids too), KDE Neon - see below - and this OS (Ubuntu stable LTS 24.04 combine with latest Wayland enabled Plasma 6.2.x) is rock stable.

Operating System: KDE neon 6.2
KDE Plasma Version: 6.2.2
KDE Frameworks Version: 6.7.0
Qt Version: 6.8.0
Kernel Version: 6.8.0-47-generic (64-bit)
Graphics Platform: Wayland
Processors: 16 × AMD Ryzen 7 7840HS w/ Radeon 780M Graphics
Memory: 58,7 GiB of RAM
Graphics Processor: AMD Radeon 780M
Manufacturer: Framework
Product Name: Laptop 16 (AMD Ryzen 7040 Series)
System Version: AG

There is only one bug remaining: I can’t boot into an external screen when using a dock. I have to unplug and re-plug the USB-C for the external screen to be chosen.
All OS’s have this - this is a AMD driver issue.

Web browsers can make the systems hot. I know some web sites that get the fans spinning. So, it would very much depend on which web sites you have open in tabs.
I would start as others have, close all applications and measure a baseline first to see if the base laptop in a particular configuration is ok. Then, after that, test each application until you find the problem.

========= offtopic

I’m assuming you mean you have a dock plugged into your FW16 and the external panel is plugged into your dock?

judging by your kernel version I’m also assuming your using older amdgpu firmware. I don’t have a dock myself nor do I know the model of your dock

Operating System: Gentoo Linux 2.15
KDE Plasma Version: 6.1.5
KDE Frameworks Version: 6.6.0
Qt Version: 6.7.2
Kernel Version: 6.12.0-rc5-mainline-gcc-znver4 (64-bit)
Graphics Platform: Wayland
Processors: 16 × AMD Ryzen 7 7840HS w/ Radeon 780M Graphics
Memory: 27.2 GiB of RAM
Graphics Processor: AMD Radeon 780M
Manufacturer: Framework
Product Name: Laptop 16 (AMD Ryzen 7040 Series)
System Version: AG

I won’t upgrade KDE Plasma 6.2 ( enabled in Gentoo testing ) yet as I’m testing Linux 6.12

I think I know what you mean by this but just to be sure I understood correctly. Are you meaining that like bios / boot sequence won’t show up on external screen?

Same symptons (known issue with AMD hw) but as soon as I login to my DE/wm my external screen gets picture.

Correct. When the external screen is connected through USB-C dock, it won’t show up.
No possibility to access the BIOS on the external screen either.
And on my side, when I login, the external screen does not get a picture. I have to open up the laptop for the picture to show on the external screen.

1 Like

YEah that is what I thought. So same “issue”.

Although I haven’t actually tested what happens if I close the lid during the boot up, does my external screen work. Although kind of hard as SDDM/GDM doesn’t wake the external display either.

It seems that the fact that the screen is closed, it won’t bother powering the external screen either.
I had reported this - check out Using Dell dock WD19TB - no display after boot

1 Like

That is weird, I get that much max playing SC2.

Which means, that don’t make sense

Although mine is amd 7640… so maybe thats why

although, I am using devuan a debian based distro. i am using xorg more than wayland… maybe thats why?

Confusing…

when i use cbatticon it lists 7+ hours till i load sc2. I wonder why this happening to everyone