Files
Horizon-OC/pages/src/index.html
2023-07-05 05:51:51 +09:00

427 lines
16 KiB
HTML

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Switch OC Suite | Overclocking suite for Horizon OS (HOS) running on Atmosphere CFW. Licensed under GPL v2.
</title>
<meta name="description"
content="Overclocking suite for Horizon OS (HOS) running on Atmosphere CFW. Licensed under GPL v2.">
<link rel="stylesheet" href="https://unpkg.com/@picocss/pico@latest/css/pico.min.css">
<style>
#nav-list {
display: none;
}
#nav-popup {
display: unset;
}
@media (min-width: 768px) {
#nav-list {
display: unset;
}
#nav-popup {
display: none;
}
}
details[open] > summary:not([role]):not(:focus) {
color: unset;
}
div.hero > nav.container-fluid {
position: fixed;
top: 0;
z-index: 99;
-webkit-backdrop-filter: blur(20px);
backdrop-filter: blur(20px);
}
div.hero > header {
padding-top: 6rem;
}
button[role="tab"] {
border-radius: 0;
border-left-width: calc(var(--border-width) / 2);
border-right-width: calc(var(--border-width) / 2);
}
button[role="tab"]:first-child {
border-top-left-radius: var(--border-radius);
border-bottom-left-radius: var(--border-radius);
border-left-width: var(--border-width);
}
button[role="tab"]:last-child {
border-top-right-radius: var(--border-radius);
border-bottom-right-radius: var(--border-radius);
border-right-width: var(--border-width);
}
button[role="tab"]:not(.outline) {
pointer-events: none;
cursor: default;
}
div.cust-element {
margin: 1.5rem 0 1.5rem 0;
}
div.cust-element > blockquote, div.cust-element > blockquote > ul {
margin: 0;
font-size: calc(var(--font-size) * 0.8);
color: var(--muted-color);
}
div#download_btn_grid > a {
margin: 0.5rem 0;
}
</style>
</head>
<body>
<div class="hero">
<nav class="container-fluid">
<ul>
<li><a href="#head" class="contrast"><b>Switch OC Suite</b></a></li>
</ul>
<ul id="nav-popup">
<li>
<details role="list" dir="rtl">
<summary aria-haspopup="group" role="link" class="contrast">Jump to</summary>
<ul role="group">
<li><a href="#readme">README</a></li>
<li><a href="#download">Download</a></li>
<li><a href="#config">Configurator</a></li>
<li><a href="https://github.com/hanai3Bi/Switch-OC-Suite" target="_blank">GitHub repository</a></li>
</ul>
</details>
</li>
</ul>
<ul id="nav-list">
<li><a href="#readme">README</a></li>
<li><a href="#download">Download</a></li>
<li><a href="#config">Config</a></li>
<li><a href="https://github.com/hanai3Bi/Switch-OC-Suite" target="_blank">GitHub</a></li>
</ul>
</nav>
<header class="container">
<hgroup>
<h1>Switch OC Suite</h1>
<h2>Overclocking suite for Horizon OS (HOS) running on Atmosphere CFW. Licensed under GPL v2.</h2>
</hgroup>
</header>
</div>
<section aria-label="README" id="readme">
<div class="container">
<article>
<header>
<hgroup>
<h2>README</h2>
<h3>🚨DISCLAIMER: THIS IS PROVIDED AS IS. USE AT YOUR OWN RISK!🚨</h3>
</hgroup>
<ul>
<li>
Overclocking in general will shorten the lifespan of some
hardware components. <strong>YOU ARE RESPONSIBLE for any problem or
potential damage</strong> if unsafe frequencies are ENABLED in
sys-clk-OC. Issues like asking for bypassing limit will BE IGNORED OR
CLOSED WITHOUT REPLY.
</li>
<li>
Due to HorizonOS design, instabilities from unsafe RAM clocks may
cause filesystem corruption. <strong>Always make backup before enabling
DRAM OC.</strong>
</li>
</ul>
</header>
<body>
<h3>Features</h3>
<details open>
<summary>For Erista variant (HAC-001)</summary>
<ul>
<li>CPU Overclock (Safe: 1785 MHz)
<ul>
<li>Unsafe
<ul>
<li>Due to the limit of board power draw or power IC</li>
<li>Unlockable frequencies up to 2091 MHz</li>
<li>See <a
href="https://github.com/hanai3Bi/Switch-OC-Suite/blob/master/Source/sys-clk-OC/README.md"
target="_blank">README
for sys-clk-OC</a></li>
</ul>
</li>
</ul>
</li>
<li>DRAM Overclock (Safe: 1862.4 MHz)</li>
</ul>
</details>
<details open>
<summary>For Mariko variant (HAC-001-01, HDH-001, HEG-001)</summary>
<ul>
<li>CPU / GPU Overclock (Safe: 1963 / 998 MHz)
<ul>
<li>Unsafe
<ul>
<li>Due to the limit of board power draw or power IC</li>
<li>Unlockable frequencies up to 2295 / 1267 MHz</li>
<li>See <a
href="https://github.com/hanai3Bi/Switch-OC-Suite/blob/master/Source/sys-clk-OC/README.md"
target="_blank">README
for sys-clk-OC</a></li>
</ul>
</li>
</ul>
</li>
<li>DRAM Overclock (Safe: 1996.8 MHz)</li>
</ul>
</details>
<details open>
<summary>Modded sys-clk and ReverseNX-RT</summary>
<ul>
<li>Auto CPU Boost
<ul>
<li>For faster game loading</li>
<li>Enable CPU Boost (1785 MHz) when CPU Core#3 (System Core) is
stressed (mainly I/O operations).</li>
<li>Effective only when charger is connected or governor is enabled.</li>
<li>This feature is considered unsafe on Erista, especially when combined with high GPU frequency or with governor enabled.</li>
</ul>
</li>
<li>CPU &amp; GPU frequency governor (Experimental)
<ul>
<li>Adjust frequency based on load. Might decrease power draw but can
introduce stutters. Can be turned off for specific titles.</li>
</ul>
</li>
<li>Set charging current (100 mA - 2000 mA) and charging limit (20% -
100%)
<ul>
<li>Long-term use of charge limit may render the battery gauge
inaccurate. Performing full cycles could help recalibration, or try <a
href="https://github.com/CTCaer/battery_desync_fix_nx">battery_desync_fix_nx</a>.</li>
</ul>
</li>
<li>Global Profile
<ul>
<li>Designated a dummy title id <code>0xA111111111111111</code>.</li>
<li>Priority: "Temp overrides" &gt; "Application profile" &gt; "Global
profile" &gt; "System default".</li>
</ul>
</li>
<li>Sync ReverseNX Mode
<ul>
<li>No need to change clocks manually after toggling modes in ReverseNX
(-RT and -Tool)</li>
</ul>
</li>
</ul>
</details>
<details open>
<summary>System Settings (Optional)</summary>
See <a
href="https://github.com/hanai3Bi/Switch-OC-Suite/blob/master/system_settings.md">system_settings.md</a>
</details>
<h3 id="installation" open>Installation</h3>
<ol type="1">
<li>Download latest <a href="#download">release</a>.</li>
<li>Copy all files in <code>SdOut</code> to the root of SD card.</li>
<li>Grab <code>x.x.x_loader.kip</code> for your Atmosphere version, rename it to <code>loader.kip</code> and
place it in <code>/atmosphere/kips/</code>.</li>
<li>Customization via <a href="#config">online loader configurator</a>
<table role="grid">
<thead>
<tr>
<th>Defaults</th>
<th>Mariko</th>
<th>Erista</th>
</tr>
</thead>
<tbody>
<tr>
<td>CPU OC</td>
<td>2295 MHz Max</td>
<td>2091 MHz Max</td>
</tr>
<tr>
<td>CPU Boost</td>
<td>1785 MHz</td>
<td>N/A</td>
</tr>
<tr>
<td>CPU Volt</td>
<td>1235 mV Max</td>
<td>1235 mV Max</td>
</tr>
<tr>
<td>GPU OC</td>
<td>1267 MHz Max</td>
<td>N/A</td>
</tr>
<tr>
<td>RAM OC</td>
<td>1996 MHz Max</td>
<td>1862 MHz Max</td>
</tr>
<tr>
<td>RAM Volt</td>
<td>Disabled</td>
<td>Disabled</td>
</tr>
<tr>
<td>RAM Timing</td>
<td>Auto-Adjusted</td>
<td>Disabled</td>
</tr>
</tbody>
</table>
</li>
<li>Hekate-ipl bootloader Only
<ul>
<li>Add <code>kip1=atmosphere/kips/loader.kip</code> to boot entry
section in <code>bootloader/hekate_ipl.ini</code>.</li>
</ul>
</li>
</ol>
<details>
<summary>How to build this project</summary>
<ol type="1">
<li>Grab necessary patches from the repo, then compile sys-clk, ReverseNX-RT and Atmosphere loader with
devkitpro.</li>
<li>Before compiling Atmosphere loader, run <code>patch.py</code> in
<code>Atmosphere/stratosphere/loader/source/</code> to insert oc module into loader sysmodule.
</li>
<li>When compilation is done, uncompress the kip to make it work with configurator:
<code>hactool -t kip1 Atmosphere/stratosphere/loader/out/nintendo_nx_arm64_armv8a/release/loader.kip --uncompress=./loader.kip</code>
</li>
</ol>
</details>
<h3 id="faq">Frequently Asked Questions</h3>
<details open>
<summary>How to enable unsafe frequencies in sys-clk-OC?</summary>
<ul>
<li>Above all else, you should know <a href="#readme">what "unsafe" means and issues might arise</a>.</li>
<li>See the end of <a href="https://github.com/hanai3Bi/Switch-OC-Suite/blob/master/Source/sys-clk-OC/README.md"
target="_blank">README in sys-clk-OC</a>. Place this line <code>allow_unsafe_freq=1</code> under
<code>[value]</code> section in
<code>/config/sys-clk/config.ini</code>
</li>
</ul>
</details>
<details open>
<summary>I would like to bypass limit enforced in sys-clk to improve handheld performance without charger
connected.</summary>
<ul>
<li>Never will it be implemented here, or work out of the box.</li>
<li>You have to modify the code yourself for your own use. If you are to share modified binaries you have
made based on this project publicly, make sure to comply with GPL v2 licenses.</li>
</ul>
</details>
</body>
<footer>
<details role="list">
<summary aria-haspopup="group" role="button" class="secondary">
Acknowledgement
</summary>
<ul role="group">
<li><a href="https://github.com/CTCaer/hekate" target="_blank">CTCaer for Hekate-ipl bootloader, RE and
hardware research</a></li>
<li><a href="https://devkitpro.org/" target="_blank">devkitPro for All-In-One homebrew toolchains</a>
</li>
<li><a href="https://github.com/masagrator/ReverseNX-RT" target="_blank">masagrator for ReverseNX-RT and
info
on BatteryChargeInfoFields in psm module</a></li>
<li><a href="https://developer.nvidia.com/embedded/dlc/tegra-x1-technical-reference-manual"
target="_blank">Nvidia for Tegra X1 Technical Reference Manual</a></li>
<li><a href="https://github.com/retronx-team/sys-clk" target="_blank">RetroNX team for sys-clk</a></li>
<li><a href="https://github.com/Atmosphere-NX/Atmosphere" target="_blank">SciresM and Reswitched Team for
the
state-of-the-art Atmosphere CFW of Switch</a></li>
<li><a href="http://switchbrew.org/wiki/" target="_blank">Switchbrew wiki for Switch in-depth info</a>
</li>
<li><a href="https://gitlab.com/switchroot/kernel" target="_blank">Switchroot for their modified L4T
kernel
and device tree</a></li>
<li>ZatchyCatGames for RE and original OC loader patches for Atmosphere</li>
</ul>
</details>
</footer>
</article>
</div>
</section>
<section aria-label="Download" id="download">
<div class="container">
<article>
<header>
<hgroup>
<h2>Download</h2>
<h3>Get latest version of Switch OC Suite and its corresponding Atmosphere package here.</h3>
</hgroup>
</header>
<body>
<div class="grid" id="download_btn_grid">
<a role="button" aria-busy="true" id="loader_kip_btn">Generating link, please wait...</a>
<a role="button" aria-busy="true" id="sdout_zip_btn">Generating link, please wait...</a>
<a target="_blank" role="button" aria-busy="true" id="ams_btn">Generating link, please wait...</a>
</div>
</body>
<footer>
See <a href="#installation">Installation section</a> for how to use Switch OC Suite.
</footer>
</article>
</div>
</section>
<section aria-label="Config" id="config">
<div class="container">
<article>
<header>
<hgroup>
<h2>Configurator</h2>
<h3>Configure frequencies and voltages to suit your hardware and preferences.</h3>
</hgroup>
</header>
<body>
<form id="form">
<nav role="tablist">
<button type="button" role="tab" class="" id="tab_all" data-platform="0" disabled>All</button>
<button type="button" role="tab" class="outline" id="tab_erista" data-platform="1" disabled>Erista</button>
<button type="button" role="tab" class="outline" id="tab_mariko" data-platform="2" disabled>Mariko</button>
</nav>
<label for="file">
<input id="file" type="file">
<small id="cust_rev">Upload loader.kip here</small>
</label>
<div id="config-list-basic"></div>
<div id="config-list-advanced"></div>
<div id="config-list-gpu"></div>
</form>
</body>
<footer>
<div class="grid">
<button type="button" id="load_default" role="button" disabled>Load Default</button>
<button type="button" id="load_saved" role="button" disabled>Load Last Saved</button>
<button type="submit" id="save" role="button" disabled>Save</button>
</div>
</footer>
</article>
</div>
</section>
<footer class="container">
<small>
Build with <a href="https://picocss.com" target="_blank">Pico</a>.
All trademarks, logos and brand names are the property of their respective owners, used for identification purposes
only.
</small>
</footer>
</body>
<script type="text/javascript" src="./main.js"></script>
</html>