release 1.2.6.0
This commit is contained in:
46
README.md
46
README.md
@@ -2,7 +2,7 @@
|
||||
|
||||
[](https://www.gnu.org/licenses/old-licenses/gpl-2.0.en.html) [](https://gitter.im/Switch-OC-Suite/community?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
||||
|
||||
Overclocking suite for (Mariko Only) Nintendo Switch™ running on Atmosphere CFW. Should support Horizon OS (HOS) >= 1.0.
|
||||
Overclocking suite for Nintendo Switch™ running on Atmosphere CFW. Should support Horizon OS (HOS) >= 1.0.
|
||||
|
||||
This project will not be actively maintained or regularly updated along with Atmosphere CFW.
|
||||
|
||||
@@ -16,18 +16,9 @@ I'd appreciate if someone is willing to contribute or upload latest binaries. Bu
|
||||
|
||||
- There is **no dynamic frequency scaling** in HOS, which makes _overclocking acts differently than PC_ or other mobile devices. The console will be _sticking to what frequency you've set in the long term_, until you close the game or put it into sleep.
|
||||
|
||||
- **ONLY ramp up RAM clock** beyond HOS maximum to 1862 / 1996 MHz if you want to _stay safe_. Higher RAM clock could be UNSTABLE and cause graphical glitches / instabilities / filesystem corruption.
|
||||
- **ONLY ramp up RAM clock** beyond HOS maximum to 1862 / 1996 MHz if you want to _stay safe_.
|
||||
|
||||
|
||||
## Why no CPU/GPU OC for Erista?
|
||||
|
||||
- Tegra X1 on Erista is on TSMC 20nm HPM node, consumes much more power (~2x) and generates much more heat, compared to Tegra X1+ on Mariko (TSMC 16nm FinFET).
|
||||
- Erista Switch uses lower speedo (=== lower quality === higher voltage required) SoC from NVIDIA. You will NOT get comparable performance to NVIDIA Shield TV no matter what.
|
||||
- Snapdragon 810 (4 x A57 @ 2.0GHz + 4 x A53) also uses 20nm HPM, see how it plagued Android phones in 2014.
|
||||
|
||||
- The board power supply is quite limited, even if you've done cooling mod.
|
||||
- You could spot battery draining at higher clocks under stress test, even with official 39W PD charger.
|
||||
- CPU / GPU performance at max clocks will be worse if power supply is not enough.
|
||||
- Higher RAM clocks (> 1996.8 MHz) could be UNSTABLE and cause graphical glitches / instabilities / filesystem corruption. **Always make backup before usage.**
|
||||
|
||||
|
||||
|
||||
@@ -41,10 +32,10 @@ I'd appreciate if someone is willing to contribute or upload latest binaries. Bu
|
||||
- 1862.4 / 1996.8 MHz is stable for all (Samsung / Micron / Hynix).
|
||||
- Adjusted memory parameters (Mariko only). [Discussion](https://github.com/KazushiMe/Switch-OC-Suite/issues/5).
|
||||
|
||||
- Unsafe: 2131.2 MHz or Overvolting
|
||||
- 2131.2 MHz might be stable for some chips without overvolting.
|
||||
- No obvious evidence suggests that DRAM bus overvolting is useful.
|
||||
- [Use this to set DRAM bus voltage](https://gist.github.com/KazushiMe/6bb0fcbefe0e03b1274079522516d56d).
|
||||
- Unsafe: > 1996.8 MHz or overvolting
|
||||
- Higher RAM clocks might be stable for some chips without overvolting. [Not publicly available.](#Build)
|
||||
- No evidence suggests that DRAM bus overvolting is useful.
|
||||
- [Use this to set DRAM bus voltage](https://gist.github.com/KazushiMe/6bb0fcbefe0e03b1274079522516d56d).
|
||||
|
||||
- **[System Settings (Optional)](https://github.com/KazushiMe/Switch-OC-Suite/blob/master/system_settings.md)**
|
||||
|
||||
@@ -76,7 +67,7 @@ I'd appreciate if someone is willing to contribute or upload latest binaries. Bu
|
||||
|
||||
- GPU: 1305 MHz (no overvolting, less than official threshold 1050 mV)
|
||||
- NVIDIA Official Maximum: 1267.2 MHz
|
||||
- Tested with deko3d compute shaders converted from [Maxwell SASS assembly](https://gist.github.com/KazushiMe/82b6bd89621f451b51c9b1ccd2202b97). Single-precision floating point (FP32 FFMA) performance maxes out at 1305 MHz.
|
||||
- Tested with deko3d compute shaders converted from Maxwell SASS assembly. Single-precision floating point (FP32 FFMA) performance maxes out at 1305 MHz.
|
||||
- 1305 MHz CANNOT be set without charger connected.
|
||||
|
||||
- **Modded sys-clk and ReverseNX**(-RT)
|
||||
@@ -100,15 +91,16 @@ I'd appreciate if someone is willing to contribute or upload latest binaries. Bu
|
||||
|
||||
## Installation
|
||||
|
||||
1. Download latest release.
|
||||
1. Download latest [release](https://github.com/KazushiMe/Switch-OC-Suite/releases/latest).
|
||||
|
||||
2. Copy all files in `SdOut` to the root of SD card. (Mariko Only)
|
||||
- Erista: Sys-clk-OC will NOT work, use official sys-clk instead. Only `loader.kip` and some benchmark homebrew are available.
|
||||
2. Mariko Only: Copy all files in `SdOut` to the root of SD card.
|
||||
- Erista: Use official sys-clk instead. Only `loader.kip` and some benchmark homebrew are available.
|
||||
|
||||
3. Grab `x.x.x_loader_xxxx.x.kip` for your Atmosphere version and desired RAM frequency, rename it to `loader.kip` and place it in `/atmosphere/kips/`.
|
||||
|
||||
4. **Hekate-ipl bootloader**
|
||||
- Rename the kip to `loader.kip` and add `kip1=atmosphere/kips/loader.kip` in `bootloader/hekate_ipl.ini`
|
||||
- Erista: Minerva module conflicts with HOS DRAM training. Recompile with frequency changed is recommeded, although you could simply remove `bootloader/sys/libsys_minerva.bso`.
|
||||
|
||||
**Atmosphere Fusee bootloader:**
|
||||
- Fusee will load any kips in `/atmosphere/kips/` automatically.
|
||||
@@ -119,6 +111,20 @@ I'd appreciate if someone is willing to contribute or upload latest binaries. Bu
|
||||
|
||||
Grab necessary patches from the repo, then compile sys-clk, ReverseNX-RT and Atmosphere loader with devkitpro.
|
||||
|
||||
If you are to install nro forwarders, remove `R_TRY(ValidateAcidSignature(std::addressof(g_original_meta_cache.meta)));` in `Atmosphere/stratosphere/loader/source/ldr_meta.cpp` to make them work again.
|
||||
|
||||
|
||||
|
||||
### Why no CPU/GPU OC for Erista?
|
||||
|
||||
- Tegra X1 on Erista is on TSMC 20nm HPM node, consumes much more power (~2x) and generates much more heat, compared to Tegra X1+ on Mariko (TSMC 16nm FinFET).
|
||||
- Erista Switch uses lower speedo (=== lower quality === higher voltage required) SoC from NVIDIA. You will NOT get comparable performance to NVIDIA Shield TV no matter what.
|
||||
- Snapdragon 810 (4 x A57 @ 2.0GHz + 4 x A53) also uses 20nm HPM, see how it plagued Android phones in 2014.
|
||||
|
||||
- The board power supply is quite limited, even if you've done cooling mod.
|
||||
- You could spot battery draining at higher clocks under stress test, even with official 39W PD charger.
|
||||
- CPU / GPU performance at max clocks will be worse if power supply is not enough.
|
||||
|
||||
|
||||
|
||||
## Acknowledgement
|
||||
|
||||
@@ -53,13 +53,13 @@ Switch sysmodule allowing you to set cpu/gpu clocks according to the running app
|
||||
|
||||
From Hekate Minerva module [sys_sdrammtc.c](https://github.com/CTCaer/hekate/blob/197ed8c319bd4132e4d7571ce037d4a27f806bba/modules/hekate_libsys_minerva/sys_sdrammtc.c#L67)
|
||||
|
||||
- 2131 → max for Erista (requires I/O bus overvolting); official max for Mariko (requires proper timings)
|
||||
- 2131 → NOT stable: max for Erista and official max for Mariko
|
||||
- 2099
|
||||
- 2064
|
||||
- 1996
|
||||
- 1996 → stable for all
|
||||
- 1932
|
||||
- 1894
|
||||
- 1862 → official max for Erista; Mariko without timing adjustment (stable on most DRAM chips except Hynix ones)
|
||||
- 1862 → official max for Erista; Mariko without timing adjustment
|
||||
- 1795
|
||||
- 1728
|
||||
- 1600 → official docked & official boost mode
|
||||
@@ -180,4 +180,4 @@ The `[values]` section allows you to alter timings in sys-clk, you should not ne
|
||||
|:-----------------------:|-------------------------------------------------------------------------------|:-------:|
|
||||
|**temp_log_interval_ms** | Defines how often sys-clk log temperatures, in milliseconds (`0` to disable) | 0 ms |
|
||||
|**csv_write_interval_ms**| Defines how often sys-clk writes to the CSV, in milliseconds (`0` to disable) | 0 ms |
|
||||
|**poll_interval_ms** | Defines how fast sys-clk checks and applies profiles, in milliseconds | 300 ms |
|
||||
|**poll_interval_ms** | Defines how fast sys-clk checks and applies profiles, in milliseconds | 500 ms |
|
||||
|
||||
@@ -414,8 +414,6 @@ bool ClockManager::CheckReverseNXRT()
|
||||
bool ClockManager::RefreshContext()
|
||||
{
|
||||
bool hasChanged = false;
|
||||
bool shouldAdjustProfile = false;
|
||||
|
||||
bool enabled = this->GetConfig()->Enabled();
|
||||
if(enabled != this->context->enabled)
|
||||
{
|
||||
@@ -430,7 +428,6 @@ bool ClockManager::RefreshContext()
|
||||
FileUtils::LogLine("[mgr] TitleID change: %016lX", applicationId);
|
||||
this->context->applicationId = applicationId;
|
||||
hasChanged = true;
|
||||
shouldAdjustProfile = true;
|
||||
|
||||
/* Clear ReverseNX state and recheck -Tool patches*/
|
||||
this->oc->reverseNXMode = ReverseNX_SystemDefault;
|
||||
@@ -443,19 +440,6 @@ bool ClockManager::RefreshContext()
|
||||
FileUtils::LogLine("[mgr] Profile change: %s", Clocks::GetProfileName(profile, true));
|
||||
this->context->realProfile = profile;
|
||||
hasChanged = true;
|
||||
shouldAdjustProfile = true;
|
||||
}
|
||||
|
||||
/* Check ReverseNX-RT */
|
||||
if (CheckReverseNXRT())
|
||||
{
|
||||
shouldAdjustProfile = true;
|
||||
}
|
||||
|
||||
/* Adjust nominal profile when tid, real profile or -RT profile change */
|
||||
if (shouldAdjustProfile)
|
||||
{
|
||||
this->context->profile = ReverseNXProfileHandler();
|
||||
}
|
||||
|
||||
/* Update PerformanceConfigurationId */
|
||||
@@ -475,6 +459,11 @@ bool ClockManager::RefreshContext()
|
||||
if(hasChanged)
|
||||
Clocks::ResetToStock();
|
||||
|
||||
/* Check ReverseNX-RT and adjust nominal profile when context changes */
|
||||
hasChanged |= CheckReverseNXRT();
|
||||
if (hasChanged)
|
||||
this->context->profile = ReverseNXProfileHandler();
|
||||
|
||||
std::uint32_t hz = 0;
|
||||
for (unsigned int module = 0; module < SysClkModule_EnumMax; module++)
|
||||
{
|
||||
|
||||
Reference in New Issue
Block a user