2022-11-12 15:34:33 +01:00
|
|
|
# Steam Deck Tools
|
|
|
|
|
|
|
|
|
|
This repository contains my own personal set of tools to help running Windows on Steam Deck.
|
|
|
|
|
|
2022-11-12 15:47:23 +01:00
|
|
|
## 1. Steam Deck Fan Control
|
2022-11-12 15:34:33 +01:00
|
|
|
|
|
|
|
|
This is a very early and highly experimental fan controller for Windows build based
|
|
|
|
|
on `linux/jupiter-fan-control.py` available on SteamOS.
|
|
|
|
|
|
2022-11-12 15:47:23 +01:00
|
|
|
<img src="images/fan_control.png" height="400"/>
|
|
|
|
|
|
|
|
|
|
### 1.1. Usage
|
|
|
|
|
|
|
|
|
|
You can download latest precompiled build from Releases tab. Currently the application requires
|
|
|
|
|
administrative privileges in order to read various temperature sensors.
|
|
|
|
|
|
|
|
|
|
It provides 3 modes of operation:
|
|
|
|
|
|
|
|
|
|
1. **Default** - use EC to control fan (as done today)
|
|
|
|
|
1. **SteamOS** - use reimplemented `jupiter-fan-control.py` (as in SteamOS when Fan Control is enabled)
|
|
|
|
|
1. **Max** - blow at full speed.
|
|
|
|
|
|
|
|
|
|
### 1.2. How it works?
|
|
|
|
|
|
2022-11-12 15:34:33 +01:00
|
|
|
This uses highly unstable (and firmware specific) direct manipulation of kernel memory
|
|
|
|
|
to control usage of EC (Embedded Controller) and setting desired fan RPM via VLV0100.
|
|
|
|
|
|
|
|
|
|
It was build based on knowledge gained in Steam Deck kernel patch and DSDT presented by bios.
|
|
|
|
|
The memory addresses used are hardcoded and can be changed any moment by the Bios update.
|
|
|
|
|
|
2022-11-12 15:47:23 +01:00
|
|
|
### 1.3. Limitations
|
2022-11-12 15:34:33 +01:00
|
|
|
|
|
|
|
|
As of Today (Nov, 2022) the GPU temperature is missing on Windows. Which makes it a little incomplete.
|
|
|
|
|
However, it should be expected that GPU temperature is "kind of similar" to CPU due to GPU being in the same
|
|
|
|
|
silicon. But! The device might overheat and break due to this missing temperature. **So, use at your own risk.**
|
|
|
|
|
|
2022-11-12 20:13:36 +01:00
|
|
|
### 1.4. Supported devices
|
|
|
|
|
|
|
|
|
|
The application tries it best to not harm device (just in case). So, it validates bios version.
|
|
|
|
|
Those are currently supported:
|
|
|
|
|
|
2022-11-12 20:37:35 +01:00
|
|
|
- F7A0107 (PD ver: 0xB030)
|
|
|
|
|
- F7A0110 (PD ver: 0xB030)
|
2022-11-12 20:13:36 +01:00
|
|
|
|
2022-11-13 15:11:03 +01:00
|
|
|
## 2. Performance Overlay
|
|
|
|
|
|
|
|
|
|
This is a very simple application that requires [Rivatuner Statistics Server Download](https://www.rivatuner.org/)
|
|
|
|
|
and provides asthetics of SteamOS Performance Overlay.
|
|
|
|
|
|
|
|
|
|
Uninstall MSI Afterburner and any other OSD software.
|
|
|
|
|
|
|
|
|
|
It currently registers two global hotkeys:
|
|
|
|
|
|
|
|
|
|
- **F11** - enable performance overlay
|
|
|
|
|
- **Shift+F11** - cycle to next performance overlay (and enable it)
|
|
|
|
|
|
2022-11-16 20:39:21 +01:00
|
|
|
There are 5 modes of presentation:
|
2022-11-13 15:11:03 +01:00
|
|
|
|
|
|
|
|
### 2.1. FPS
|
|
|
|
|
|
2022-11-13 16:34:35 +01:00
|
|
|
<img src="images/perf_overlay_fps.png" width="600"/>
|
2022-11-13 15:11:03 +01:00
|
|
|
|
2022-11-16 20:39:21 +01:00
|
|
|
### 2.2. FPS with Battery
|
|
|
|
|
|
2022-11-17 18:00:32 +01:00
|
|
|
<img src="images/perf_overlay_fpsbat.png" width="600"/>
|
|
|
|
|
|
2022-11-16 20:39:21 +01:00
|
|
|
### 2.3. Minimal
|
2022-11-13 15:11:03 +01:00
|
|
|
|
2022-11-13 16:34:35 +01:00
|
|
|
<img src="images/perf_overlay_min.png" width="600"/>
|
2022-11-13 15:11:03 +01:00
|
|
|
|
2022-11-16 20:39:21 +01:00
|
|
|
### 2.4. Detail
|
2022-11-13 15:11:03 +01:00
|
|
|
|
2022-11-13 16:34:35 +01:00
|
|
|
<img src="images/perf_overlay_detail.png" width="600"/>
|
2022-11-13 15:11:03 +01:00
|
|
|
|
2022-11-16 20:39:21 +01:00
|
|
|
### 2.5. Full
|
2022-11-13 15:11:03 +01:00
|
|
|
|
2022-11-13 16:34:35 +01:00
|
|
|
<img src="images/perf_overlay_full.png" height="100"/>
|
2022-11-13 15:11:03 +01:00
|
|
|
|
2022-11-18 10:43:43 +01:00
|
|
|
## 3. Power Control
|
2022-11-14 11:06:03 +01:00
|
|
|
|
|
|
|
|
This is a very simple application that requires [Rivatuner Statistics Server Download](https://www.rivatuner.org/)
|
|
|
|
|
and provides an easily accessible controls.
|
|
|
|
|
|
|
|
|
|
Uninstall MSI Afterburner and any other OSD software.
|
|
|
|
|
|
2022-11-18 16:15:34 +01:00
|
|
|
There are currently configurable settings:
|
2022-11-14 11:06:03 +01:00
|
|
|
|
|
|
|
|
- Volume
|
|
|
|
|
- Brightness
|
|
|
|
|
- Refresh Rate
|
2022-11-18 16:15:34 +01:00
|
|
|
- Resolution (requires enabling `EnableExperimentalFeatures` in `appconfig`)
|
2022-11-17 18:00:32 +01:00
|
|
|
- FPS Limit (requires: RTSS > Setup > Enable Framelimit)
|
2022-11-14 11:06:03 +01:00
|
|
|
- TDP
|
2022-11-18 21:00:52 +01:00
|
|
|
- SMT (Each core of AMD has 2 threads, this allows to enable/disable second threads)
|
2022-11-16 20:39:21 +01:00
|
|
|
- OSD / OSDMode (requires PerformanceOverlay running)
|
|
|
|
|
- Fan (requires FanControl running)
|
2022-11-14 11:06:03 +01:00
|
|
|
|
|
|
|
|
<img src="images/power_control.png" height="250"/>
|
|
|
|
|
|
|
|
|
|
### 3.1. Use it
|
|
|
|
|
|
|
|
|
|
It will only work in OSD mode when rendering graphics.
|
|
|
|
|
The notification setting is always available.
|
|
|
|
|
|
2022-11-16 08:28:17 +01:00
|
|
|
- SteamDeck Controller: press and hold Quick Access (3 dots), and then DPad Left, Rigth, Up, Down.
|
2022-11-18 16:14:29 +01:00
|
|
|
- Keyboard: `Ctrl+Win+Numpad2` (Down), `Ctrl+Win+Numpad4` (Left), `Ctrl+Win+Numpad6` (Right), `Ctrl+Win+Numpad8` (Up)
|
|
|
|
|
|
|
|
|
|
Additional shortcuts:
|
|
|
|
|
|
2022-11-16 08:28:17 +01:00
|
|
|
- Control Volume: use Volume Up and Down
|
|
|
|
|
- Control Brightness: press and hold Quick Access (3 dots), and then Volume Up and Down
|
2022-11-18 16:14:29 +01:00
|
|
|
- Press `3 dots + L4 + R4 + L5 + R5` to reset (TDP, Refresh Rate, FPS limit) to default
|
2022-11-14 11:06:03 +01:00
|
|
|
|
|
|
|
|
### 3.2. SWICD configuration
|
|
|
|
|
|
|
|
|
|
Since the SWICD will mess-up with double inputs you need to configure the following
|
|
|
|
|
|
|
|
|
|
- Set 3 dots to **NONE** in button mapping
|
|
|
|
|
|
|
|
|
|
<img src="images/power_control_swicd_1.png" height="150"/>
|
|
|
|
|
|
|
|
|
|
- Add **Button Actions** for all 4 controls: 3 dots + DPad Left/Right/Up/Down, **CLEAR** Keyboard Shortcut
|
|
|
|
|
|
|
|
|
|
<img src="images/power_control_swicd_2.png" height="150"/>
|
|
|
|
|
|
|
|
|
|
<img src="images/power_control_swicd_3.png" height="500"/>
|
|
|
|
|
|
2022-11-12 15:34:33 +01:00
|
|
|
## Author
|
|
|
|
|
|
|
|
|
|
Kamil Trzciński, 2022, License GPLv3
|