Skip to content

Commit

Permalink
Add docs page for github pages
Browse files Browse the repository at this point in the history
  • Loading branch information
TheAlexDev23 committed Jan 20, 2025
1 parent c9c55be commit 84c6152
Show file tree
Hide file tree
Showing 3 changed files with 281 additions and 0 deletions.
92 changes: 92 additions & 0 deletions docs/defaults.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,92 @@
---
layout: default
title: Defaults
---

# Default settings

By default, power-options will generate 5 profiles: Powersave++, Powersave, Balanced, Performance and Performance++.

# CPUFreq options

## `intel_psate` and `amd_pstate` CPUFreq drivers

| | Powersave++ | Powersave | Balanced | Performance | Performance++ |
|--- |--- |--- |--- |--- |--- |
| Operation Mode | active | active | active | active | active |
| Governor | powersave | powersave | powersave | powersave | performance |
| EPP/EPB (if supported) | power | balance_power | default | balance_performance | performance |
| Min/Max frequencies | None | None | None | None | None |
| Min/Max perf% (if supported) | 0-70 | 0-100 | 0-100 | 0-100 | 30-100 |
| Boost (if supported) | off | off | on | on | on |
| HWP boost (if supported) | off | off | off | on | on |

## `acpi_cpufreq` and other CPUFreq drivers

| | Powersave++ | Powersave | Balanced | Performance | Performance++ |
|--- |--- |--- |--- |--- |--- |
| Governor | power | conservative | ondemand | performance | performance |
| EPP/EPB (if supported) | power | balance_power | default | balance_performance | performance |
| Min/Max frequencies | None | None | None | None | None |

# Radio options

| | Powersave++ | Powersave | Balanced | Performance | Performance++ |
|--- |--- |--- |--- |--- |--- |
| Block WiFi | off | off | off | off | off |
| Block Bluetooth | on | on | on | off | off |
| Block NFC | on | on | on | off | off |

# Network options

| | Powersave++ | Powersave | Balanced | Performance | Performance++ |
|--- |--- |--- |--- |--- |--- |
| Disable ethernet | true | true | off | off | off |
| Disable WiFi 7 | on | on | off | off | off |
| Disable WiFi 6 | on | off | off | off | off |
| Disable WiFi 5 | off | off | off | off | off |
| iwlwifi power_save | on | on | on | off | off |
| iwlwifi power_level | 0 | 1 | 3 | 5 | 5 |
| iwlwifi U-APSD | on | off | off | off | off |
| iwlmvm power_scheme | 3 | 3 | 2 | 1 | 1 |
| iwldvm force_cam | off | off | on | on | on |

# PCIe Active State Power Management

*Profile: mode*
- Powersave++: powersupersave
- Powersave: powersave
- Default: default
- Performance: performance
- Performance++: performance

# PCI Runtime Power Management

- Powersave++, Powersave, Balanced: **on**
- Performance, Performance++: **off**

# USB Runtime Power Management

- Powersave++, Powersave, Balanced: **on**
- Performance, Performance++: **off**

# SATA Active Link Power Management Policy

- Powersave++, Powersave, Balanced: **med_power_with_dipm**
- Performance, Performance++: **max_performance**

# Kernel Settings

| | Powersave++ | Powersave | Balanced | Performance | Performance++ |
|--- |--- |--- |--- |--- |--- |
| Disable NMI watchdog | true | true | true | true | true |
| VM Writeback | 60 | 45 | 30 | 15 | 15 |
| Laptop Mode | 5 | 5 | 5 | 5 | 2 |

# Sleep/timeout Settings

| | Powersave++ | Powersave | Balanced | Performance | Performance++ |
|--- |--- |--- |--- |--- |--- |
| Turn off screen | 10 minutes | 15 minutes | 20 minutes | 30 minutes | 45 minutes |
| Suspend | 15 minutes | 20 minutes | 30 minutes | 45 minutes | 60 minutes |

63 changes: 63 additions & 0 deletions docs/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
---
layout: default
title: Power Options
---

# Power Options

Power Options is a comprehensive power management tool for Linux, designed to provide greater control over power-saving features and system profiles. It includes both a daemon and multiple GUI frontends for ease of use. It is very feature complete and provides significantly more options and control over alternatives.

Power Options generates profiles manually based on your system so that you don't have to touch anything if you don't want to. For a list of default configurations please refer to [this page](./defaults.md)

## Features

Power options was made based on a recollection of all the tips and
recommendations from the biggest linux wikis and guides as well as other power
saving applications. Some examples include:
- https://wiki.archlinux.org/title/Power_management
- https://wiki.gentoo.org/wiki/Power_management/Guide
- https://en.wikipedia.org/wiki/Power_management
- https://github.com/supplantr/ftw
- https://github.com/linrunner/TLP
- https://github.com/AdnanHodzic/auto-cpufreq
- https://github.com/vagnum08/cpupower-gui

Power Option includes the following features:
- More profile types than alternatives
- Can smartly generate profiles by analyzing the user's system.
- System Sleep Options (suspend, screen turn off)
- CPU Options
- Individual CPU Core Options. Most power saving tools lack this option and was
one of the main motivations for this project.
- Screen Options
- Options for disabling radio components (e.g Bluetooth, WiFi, NFC)
- Network Options. Allows WAY greater control than alternative applications, but
does require network driver reload. Limited to Intel network cards that use
iwlwifi.
- ASPM Options
- PCI Options
- USB Options
- SATA Options
- Kernel Options
- Firmware settings
- Audio Options
- GPU Options
- Intel Running Average Power Limit (RAPL) settings

## Available Frontends/Interfaces

### Native GTK Frontend

Simple, lightweight, and native with a straightforward interface. Recommended for most users.

![GTK Slideshow](../static/gtk-slideshow.gif)

### WebKit Frontend

Offers more advanced options and greater control. Recommended for advanced users and those looking to use Power Options alongside other power management solutions.

![Webview Slideshow](../static/webview-slideshow.gif)

## Installation

Refer to the [install page](./install.md)
126 changes: 126 additions & 0 deletions docs/install.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,126 @@
---
layout: default
title: Install
---

# Install power options


## Arch Linux

There are 6 AUR packages for power-options.

- GTK: `power-options-gtk` (stable) and `power-options-gtk-git` (bleeding edge)
- Webview: `power-options-webview` (stable) and `power-options-webview-git` (bleeding edge)
- Just the daemon: `power-options-daemon` (stable) and `power-options-daemon-git` (bleeding edge)
- System Tray: `power-options-tray` (stable) and `power-options-tray-git` (bleeding edge)

## Fedora

The COPR GTK package is maintained by [@lpuv](https://github.com/lpuv)

```bash
sudo dnf copr enable leo/power-options
sudo dnf install power-options
```

## Other distros / from source

- GTK:

To build, requires dev libraries `libgtk4-dev` `libadwaita-1-dev` (or the equivalent in
your distro)
```bash
git clone https://github.com/TheAlexDev23/power-options/ --depth=1
cd power-options/scripts
chmod +x *.sh
# Run as local user, will require sudo password
./install-gtk.sh
# If installing for the first time
./setup.sh
# If updating
./update.sh
```

- Webview:

To build, requires dev libraries `libsoup-3.0-dev`, `libwebkit2gtk-4.1-dev` and
`libxdo-dev` (or the equivalent in your distro)
```bash
# dioxus-cli is required
cargo install dioxus-cli
git clone https://github.com/TheAlexDev23/power-options/ --depth=1
cd power-options/scripts
chmod +x *.sh
# Run as local user, will require sudo password
./install-webview.sh
# If installing for the first time
./setup.sh
# If updating
./update.sh
```

- The system tray icon:

```bash
git clone https://github.com/TheAlexDev23/power-options/ --depth=1
cd power-options/scripts
chmod +x *.sh
# Run as local user, will require sudo password
./install-tray.sh
# If installing for the first time
./setup.sh
# If updating
./update.sh
```

- Just the daemon:

```bash
git clone https://github.com/TheAlexDev23/power-options/ --depth=1
cd power-options/scripts
chmod +x *.sh
# Run as local user, will require sudo password
./install-daemon.sh
# If installing for the first time
./setup.sh
# If updating
./update.sh
```

## Dependencies

For *build* dependendencies, refer to the installation guide above.

Mandatory:
- lspci
- lsusb
- acpi

Optional:
- iwlwifi compatible network card for network configuration
- Intel sound card for audio configuration
- Intel/AMD GPU for GPU configuration
- xrandr: resolution/refresh rate control
- brightnessctl: brightness control
- ifconfig: ethernet blocking
- xset: screen turn off timeout
- xautolock: system suspend timeout

Webview frontend:
- webkit2gtk
- dioxus-cli

GTK frontend:
- yad
- libadwaita

## Updating

If you've installed using the AUR, your package manager should handle the
updates.

If you've installed using install scripts, simply pull the latest changes and
re-run the install scripts again and `./update.sh`. **Important, do not run
`./uninstall.sh`, `./setup.sh` or `power-daemon-mgr setup` if you
want to keep your profiles**

0 comments on commit 84c6152

Please sign in to comment.