Skip to content

Commit e332374

Browse files
committed
Below:
* Updated README to improve some instructions and add FAQs * Updated GitHub Actions yml file to store the compiled binary in a 'latest-build' compressed archive
1 parent 0077eaf commit e332374

File tree

2 files changed

+76
-37
lines changed

2 files changed

+76
-37
lines changed

.github/workflows/go.yml

Lines changed: 7 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -47,17 +47,17 @@ jobs:
4747
- name: Make compiled binary available
4848
run: |
4949
echo "Working on making the compiled binary available..."
50-
mkdir staging public
51-
cp -r ./undervolt-go ./staging/ # Copy the binary to the staging directory
52-
cp -r ./dist/script/* ./staging/ # Copy the install scripts to the staging directory
50+
mkdir latest-build public
51+
cp -r ./undervolt-go ./latest-build/ # Copy the binary to the latest-build directory
52+
cp -r ./dist/script/* ./latest-build/ # Copy the install scripts to the latest-build directory
5353
echo "Ready to deploy!"
54-
- name: Compress the 'latest-build' under 'staging' directory and make it available in 'public'
54+
- name: Compress the 'latest-build' and make it available in 'public'
5555
run: |
56-
zip -r undervolt-go.zip ./staging/ # Make a zip file of the latest build
56+
zip -r undervolt-go.zip ./latest-build/ # Make a zip file of the latest build
5757
cp -r undervolt-go.zip ./public/
5858
echo "Compress complete and available in public directory!"
59-
echo "Removing the now unused staging directory and undervolt-go.zip..."
60-
rm -r undervolt-go.zip staging
59+
echo "Removing the now unused latest-build directory and undervolt-go.zip..."
60+
rm -r undervolt-go.zip latest-build
6161
echo "Removing complete!"
6262
- name: Output the files structure into a JSON file
6363
run: |

README.md

Lines changed: 69 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,7 @@
33
**undervolt-go** is a Go port of the original [undervolt](https://github.com/georgewhewell/undervolt) utility, designed to allow users to undervolt Intel CPUs on Linux systems. Undervolting can help reduce CPU temperatures, decrease power consumption, and potentially increase system stability and longevity. **undervolt-go** gives the advantage of running the application without the need for any dependencies.
44

55
_**Note:**_
6-
- *Please use this software with caution. It can damage you computer.*
7-
- *We may use AI when developing this project.*
6+
- *Please use this software with extreme caution. It has the potential to damage your computer if used incorrectly.*
87

98
## Table of Contents
109

@@ -17,6 +16,7 @@ _**Note:**_
1716
- [Configuration](#configuration)
1817
- [Examples](#examples)
1918
- [Troubleshooting](#troubleshooting)
19+
- [FAQ](#faq)
2020
- [Contributors](#contributors)
2121
- [License](#license)
2222

@@ -63,9 +63,9 @@ To build **undervolt-go**, follow these steps:
6363
To install **undervolt-go** on your system, follow these steps:
6464
1. Download latest release from [offical nightly builds](https://softorage.github.io/undervolt-go/)
6565
2. Extract the archive. You should now have the following files:
66-
1. undervolt-go
67-
2. install-undervolt.sh
68-
3. update-undervolt.sh
66+
1. undervolt-go
67+
2. install-undervolt.sh
68+
3. update-undervolt.sh
6969
3. Simply make install-undervolt.sh executable (or update-undervolt.sh if you already have it):
7070
- `chmod +x install-undervolt.sh`
7171
- or you can right click install-undervolt.sh, go to Properties, and in the Permissions tab, tick 'Make executable'
@@ -80,45 +80,46 @@ To install **undervolt-go** on your system, follow these steps:
8080
1. To apply a voltage offset, use the following syntax:
8181

8282
```bash
83-
sudo ./undervolt-go --core=-100 --cache=-50 --gpu=-50
83+
sudo undervolt-go --core=-100 --cache=-50 --gpu=-50
8484
```
8585

8686
This command applies a -100 mV offset to the CPU core, -50 mV to the CPU cache, and a -50 mV offset to the GPU.
8787

8888
2. This command applies a 40W power limit to PL1 and a 32s time window. PL1 is the long term power limit, that can be safe for longer periods.
8989

9090
```bash
91-
sudo ./undervolt-go --p1=40,32
91+
sudo undervolt-go --p1=40,32
9292
```
9393

9494
3. This command applies a 60W power limit to PL2 and a 32s time window. PL2 is the short term power limit, that can be safe for shorter periods and is useful for short bursts of performance.
9595

9696
```bash
97-
sudo ./undervolt-go --p2=60,32
97+
sudo undervolt-go --p2=60,32
9898
```
9999

100100
4. All commands can be found in the help menu:
101101

102102
```bash
103-
Usage:
104-
undervolt-go [flags]
105-
106-
Flags:
107-
--analogio float analogio offset (mV) (default NaN)
108-
--cache float cache offset (mV) (default NaN)
109-
--core float core offset (mV) (default NaN)
110-
--force allow setting positive offsets
111-
--gpu float gpu offset (mV) (default NaN)
112-
-h, --help help for undervolt-go
113-
--lock-power-limit lock the power limit
114-
--p1 strings P1 Power Limit (W) and Time Window (s), e.g., --p1=35,10
115-
--p2 strings P2 Power Limit (W) and Time Window (s), e.g., --p2=45,5
116-
--read read existing values
117-
--temp int set temperature target on AC (°C) (default -1)
118-
--temp-bat int set temperature target on battery (°C) (default -1)
119-
--turbo int set Intel Turbo (1 disabled, 0 enabled) (default -1)
120-
--uncore float uncore offset (mV) (default NaN)
121-
--verbose print debug info
103+
Usage:
104+
undervolt-go [flags]
105+
106+
Flags:
107+
--analogio float analogio offset (mV) (default NaN)
108+
--cache float cache offset (mV) (default NaN)
109+
--core float core offset (mV) (default NaN)
110+
--force allow setting positive offsets
111+
--gpu float gpu offset (mV) (default NaN)
112+
-h, --help help for undervolt-go
113+
--lock-power-limit lock the power limit
114+
--p1 strings P1 Power Limit (W) and Time Window (s), e.g., --p1=35,10
115+
--p2 strings P2 Power Limit (W) and Time Window (s), e.g., --p2=45,5
116+
--read read existing values
117+
--temp int set temperature target on AC (°C) (default -1)
118+
--temp-bat int set temperature target on battery (°C) (default -1)
119+
--turbo int set Intel Turbo (1 disabled, 0 enabled) (default -1)
120+
--uncore float uncore offset (mV) (default NaN)
121+
--verbose print debug info
122+
-v, --version version for undervolt-go
122123
```
123124

124125
## Features
@@ -149,23 +150,23 @@ To install **undervolt-go** on your system, follow these steps:
149150
- **Read Current Voltage Offsets:**
150151
151152
```bash
152-
sudo ./undervolt-go --read
153+
sudo undervolt-go --read
153154
```
154155
155156
This command displays the current voltage offsets applied to the CPU components.
156157
157158
- **Set Temperature Target to 85°C:**
158159
159160
```bash
160-
sudo ./undervolt-go --temp=85
161+
sudo undervolt-go --temp=85
161162
```
162163
163164
This sets the CPU throttling temperature target to 85 degrees Celsius.
164165
165166
- **Disable Intel Turbo Boost:**
166167
167168
```bash
168-
sudo ./undervolt-go --turbo=1
169+
sudo undervolt-go --turbo=1
169170
```
170171
171172
This command disables Intel Turbo Boost, potentially reducing heat and power consumption.
@@ -176,6 +177,44 @@ To install **undervolt-go** on your system, follow these steps:
176177
- **Settings Reset After Reboot:** Voltage offsets are not persistent across reboots by default. Create a startup script to apply your preferred settings automatically.
177178
- **Permission Denied Errors:** Ensure you are running the commands with `sudo` to have the necessary privileges.
178179
180+
## FAQ
181+
182+
1. Is undervolting safe?
183+
184+
Undervolting can be safe if done correctly, but it carries inherent risks. Applying incorrect voltage settings can lead to system instability, crashes, or hardware damage. Start with small negative voltage offsets, and choose the offset just before the system starts crashing. You may have to manually cut the power when the system crashes due to undervolt.
185+
186+
2. Do I need to install any dependencies to use undervolt-go?
187+
188+
No, undervolt-go is built using Go and does not require any external dependencies. However, to interact with CPU settings, the application needs to run with elevated privileges.
189+
190+
3. How do I use undervolt-go to undervolt my CPU?
191+
192+
To use undervolt-go:
193+
194+
Mehtod 1: Without installation:
195+
196+
- Open Terminal: Launch your terminal application.​
197+
- Navigate to the Executable Location: Ensure you're in the directory containing the undervolt-go executable (`cd` into the directory where 'undervolt-go' is located) or provide the full path to it.​
198+
- Run the Executable: Execute the program with appropriate permissions:​
199+
`sudo ./undervolt-go`
200+
201+
Mehtod 2: With installation:
202+
203+
- Open Terminal: Launch your terminal application.
204+
- Navigate to the undervolt-go directory: Change to the directory containing the undervolt-go executable, along with the install-undervolt.sh and update-undervolt.sh scripts. Make sure that all the files are in the same directory.
205+
- Install undervolt-go: Run the install-undervolt.sh script:
206+
`sudo ./install-undervolt.sh`
207+
- Run undervolt-go: You can now use 'undervolt-go' from any directory.Run the undervolt-go executable with root privileges:
208+
`sudo undervolt-go`
209+
210+
4. Do you use AI to develop this project?
211+
212+
We may use AI when developing this project. If you find any issues, please report them to us. We will try to fix them as soon as possible.
213+
214+
5. Which Intel CPUs are supported by undervolt-go?
215+
216+
undervolt-go supports a range of Intel CPUs, particularly those from the Haswell generation and newer. However, compatibility can vary based on your specific system configuration.
217+
179218
## Contributors
180219

181220
We welcome contributions from the community. If you'd like to contribute to **undervolt-go**, please fork the repository and submit a pull request with your changes.

0 commit comments

Comments
 (0)