Fan noise is one of the top complaints reported. The existing interpolation and smoothing logic has not sufficiently addressed the issues with fans changing speeds too quickly in response to rapid changes in thermals (particularly from PECI). This behavior can be observed by with very basic tasks, such as: - Powering on a system and logging into GNOME - Starting a GUI application such as Firefox Replace them with a fixed step update per event interval. Fans now have a maximum amount they change change over time (3.9%/sec) as they move towards a target duty. Signed-off-by: Tim Crawford <tcrawford@system76.com>
System76 EC
System76 EC is a GPLv3 licensed embedded controller firmware for System76 laptops.
Documentation
- Supported embedded controllers
- Flashing firmware
- Debugging
- Creating a custom keyboard layout
- Development environment
- Adding a new board
Quickstart
Install dependencies using the provided script.
./scripts/deps.sh
If rustup was installed as part of this, then the correct cargo
will not be
available in the running session. Start a new shell session or source the env
file to update PATH
.
source $HOME/.cargo/env
Then build the firmware for your laptop model.
make BOARD=system76/<model>
See Flashing for how to use the new firmware image.
Releases
The EC firmware itself does not have tagged releases. Any commit of this repo may be used as a part of a System76 Open Firmware release.
In official releases the EC shares the same version as the BIOS firmware. Run the follow command from firmware-open to determine the corresponding EC commit for a release.
git ls-tree <release_hash> ec
Legal
System76 EC is copyright System76 and contributors.
System76 EC firmware is made available under the terms of the GNU General Public License, version 3. See LICENSE for details.
- firmware: GPL-3.0-only
- ecflash: LGPL-2.1-or-later
- ecsim: MIT
- ectool: MIT
Datasheets for the ITE embedded controllers used in System76 laptops cannot be shared outside of company. (However, the IT81202E datasheet is publicly available. While it uses a different core, a significant portion of the register information is the same as IT85878E/IT5570E.)