Git Product home page Git Product logo

Comments (9)

ayoungethan avatar ayoungethan commented on July 21, 2024

A configuration file is ideal, as it would
a. help user understand what the power daemon actually modifies (currently it is unclear), and
b. allow the user to modify or create custom settings for specific use cases

For example, in my case, I need low latency audio settings for my laptop. This requires consistent CPU frequency (minimize scaling) to decrease processing latency and jitter. Both scaling and turbo boost add jitter, whereas scaling adds latency.

However, "high performance" I believe puts on turbo boost, which adds jitter. Ideally, I would be able to create at least one "low latency" profile that lets me minimize the scaling and turn off turbo boost without losing the other performance enhances that actually help (such as higher core clock frequency).

This extension: https://github.com/konkor/cpufreq provides a front-end which is resource intensive and a bit confusing as it seems to overlap and conflict with a lot of what system76-power does, but the parameters it modifies could be extracted to a text file interface (e.g., in /etc/default/system76-power) which gives syntax and parameters for quickly and easily creating custom power profiles that can appear in the power menu.

The three default settings are fine for most users, but I could offer some language for users seeking low latency, low jitter cpu performance.

from system76-power.

Baughn avatar Baughn commented on July 21, 2024

Another case for me: On a Dell XPS 9380, the 'balanced' power profile makes it extremely hot and leaves the fans running constantly, if the laptop is connected to AC. When it's running on battery it behaves normally, so I end up using 'balanced' on battery and 'powersave' when I don't need to save power.

I'd very much like to figure out which particular setting causes this, but right now there's no way to pick and choose.

from system76-power.

mmstick avatar mmstick commented on July 21, 2024

Turbo mode is likely the culprit. It tends to generate a lot of heat when it's activated.

from system76-power.

Baughn avatar Baughn commented on July 21, 2024

Seems likely enough... but if that's the case, then what do I do about it?

The 'battery' profile limits CPU frequency to 50% of the base, which is 900MHz. I understand that power consumption is usually about the square of the frequency, but that still seems a bit much; there's noticeable lag. I'd like to hit some kind of Goldilocks zone.

(This laptop leans a lot on "turbo". 600MHz minimum, 1.8GHz base, 3 GHz all-core turbo, 3.6GHz peak...)

from system76-power.

ayoungethan avatar ayoungethan commented on July 21, 2024

from system76-power.

Baughn avatar Baughn commented on July 21, 2024

I haven't been able to see any difference in active processes; the CPU is idling at ~0% use, top agrees, and grep MHz /proc/cpuinfo actually reports it running at minimum frequency, it just gets really hot (and the fans spin up) despite not doing anything special.

That's largely why I'm suspecting some obscure power setting. It's difficult to track down without knowing exactly what the profiles do, but I'd be happy to contribute to a quirks repository if I knew where to look.

from system76-power.

Baughn avatar Baughn commented on July 21, 2024

I'm not sure I found the cause, but I think I at least found a solution.

/sys/module/pcie_aspm/parameters/policy is set to 'default' by default -- surprise. On my system, there appears to be a firmware bug that makes the default exceedingly inefficient, so it has to be explicitly set. Setting it to 'performance' significantly reduced power consumption on AC.

(I've now set it to 'powersupersave', via TLP configuration. There doesn't seem to be a performance loss, but perhaps I've just not run the right application yet.)

from system76-power.

ayoungethan avatar ayoungethan commented on July 21, 2024

from system76-power.

Baughn avatar Baughn commented on July 21, 2024

Seems to, but don't quote me on that; it's difficult to be sure, lacking a USB-C power meter. powertop doesn't work with AC connected. It's more comfortable now, and I'm going to assume that isn't just the weather.

If we're considering quirks entries, here are two three four more:

  • smbios-thermal-ctl should be used to set the firmware to "Cool Bottom" mode, at least by anyone intent on using it on their lap. The default is insanely hot no matter the load, obviously intended for use on a desk. Note that this is a persistent setting; it can be set in any OS, and will remain until overridden, even through firmware updates.

  • mem_sleep_default=deep is a required kernel parameter, otherwise suspend-to-ram doesn't work properly.

  • Performance on my usual workloads drop about 30% without mitigations=off, with a corresponding drop in battery lifetime. (Please tell me you're going to sell Zen 2 laptops soon.)

  • The touchscreen is a little glitchy, triggering the Gnome on-screen-keyboard at slightly random times, so the 'Block Caribou' extension must be installed for comfortable use. (Or perhaps that's just Gnome. First touchscreen laptop I've owned.)

from system76-power.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.