Difference between revisions of "Nintendo Switch"

From Halcove
Line 99: Line 99:
==Horizon==
==Horizon==
Horizon (herein referred to as HOS or HorizonNX) is a heavy rewrite and reimagining of [[Nintendo 3DS#Horizon|the Nintendo 3DS operating system of the same name]]. It is a microkernel-based operating system which delegates hardware operations to a limited selection of services, which software can reference to carry out its tasks. Synonymous system calls and security concepts are present. Given the relatively short timeframe the OS was developed in (early 2015 to early 2017), the 3DS base may explain how Nintendo pushed out a fully-functional OS so quickly.
Horizon (herein referred to as HOS or HorizonNX) is a heavy rewrite and reimagining of [[Nintendo 3DS#Horizon|the Nintendo 3DS operating system of the same name]]. It is a microkernel-based operating system which delegates hardware operations to a limited selection of services, which software can reference to carry out its tasks. Synonymous system calls and security concepts are present. Given the relatively short timeframe the OS was developed in (early 2015 to early 2017), the 3DS base may explain how Nintendo pushed out a fully-functional OS so quickly.
I tend to name my devices after this OS given that the two devices which use it as an operating system have both been highly influential in my day-to-day life and technical journey.


== Trivia ==
== Trivia ==

Revision as of 02:05, 15 March 2022

Nintendo Switch hardware, showing Joy-Con controllers (left) and the console in its dock (right).

The Nintendo Switch is a console manufactured and released by Nintendo on March 3rd, 2017, as their second entry into the eighth generation of video game consoles. It is their most recent family of consoles, and succeeds the Nintendo 3DS and Wii U families of systems.

This console is equipped with a dock to facilitate home-console gameplay on an external display, while also serving as a handheld device poised with detachable controllers (dubbed as Joy-Con controllers) for use when disconnected from the dock.

As of 2022, the Nintendo Switch has surpassed the Nintendo Wii in sales, making it Nintendo's best selling console in its history.

In the same year, Nintendo president Shuntaro Furukawa described the Nintendo Switch as being "in the middle of its lifecycle", implying that official support will persist for the foreseeable future.

Hardware

Powered primarily by its Tegra X1 line of SoCs (system on a chip processors), the Nintendo Switch is a midrange gaming tablet and was, at the time of release, the most powerful handheld to date released by a dedicated gaming company. There have been a number of hardware revisions ever since the initial release, mainly in relation to the Tegra X1 system on a chip (SoC). Every revision aside from Switch Lite uses a 16Wh (4310mAh at 3.7v) battery.

Nintendo Switch Hardware Revisions
Revision Codename Release Date Exploitable MSRP
Nintendo Switch HAC-001 2017/03/03 Software $299.99
Nintendo Switch HAC-001(-01), HAD 2019, August Modchip $299.99
Nintendo Switch Lite HDH-001 2019/09/20 Modchip $199.99
Nintendo Switch (OLED Model) HEG-001, Aula 2021/10/08 Modchip $349.99

Nintendo Switch

This is the original release of the console with model HAC-001. All units of this model are vulnerable to fusee-gelee, as the original Tegra X1 was used here.

The model numbers are prefixed by HAC, and are internally recognised as Icosa, alongside the next soft-revision. These models use a serial number prefix of XA.

Nintendo Switch (2018)

Featuring no other hardware changes, this model uses the original Tegra X1 with a fusee mitigation as an IRAM patch to the bootROM. This is generally considered the worst model, as the only known way to trigger custom firmware is by a software exploit on an outdated firmware, or a modchip, but with none of the performance or battery benefits of the Tegra X1+, which can be had with the HAC-001(-01).

This model was released around the middle of 2018, with no exact manufacture or shipment date known.

Nintendo Switch (HAC-001(-01)) box

Nintendo Switch (HAC-001(-01))

The first model of the console to feature the Mariko revision. As the Tegra X1+ uses a smaller process node, it is (by proxy) more energy efficient, leading to cooler thermals and longer battery life. Nintendo has dubbed consoles using the Tegra X1+ as HAC-001(-01) units.

The model numbers are prefixed by HAC, and are internally recognised as Iowa. This model uses a serial number prefix of XK.

This revision is easily identifiable by the box it is shipped in; normal Switch models with the Tegra X1+ ship in boxes with an overtly red design.

No price difference was observed.

Nintendo Switch Lite

Nintendo Switch Lite box

This unit is a more compact version of Nintendo Switch, and lacks the ability to dock. This inability is hardware-based, as the P13USB chip is not present. The rumble feature is not present, and games that rely on HD Rumble will not function properly. Likewise, games that require separate Joy-Con controllers, such as Super Mario Party, or 1-2-Switch!, will not operate correctly if used in handheld mode without external controllers. There is no kickstand present, negating the possibility of an official tabletop mode. The Nintendo Switch Lite otherwise operates the same as any Nintendo Switch in handheld mode.

The model numbers are prefixed by HDH, and are internally recognised as Hoag. This model uses a serial number prefix of XJ.

The battery on this unit is also slightly smaller than any other Nintendo Switch at 13.7Wh (3570mAh at 3.8v), however, is able to garner more battery life than the original HAC-001. Nintendo Switch Lite uses the Tegra X1+ in all models.

Nintendo Switch (OLED Model)

This unit is the second major revision to the Nintendo Switch hardware, including an OLED display on the tablet, as evident from the name.

The model numbers are prefixed by HEG, and are internally recognised as Aula. This model uses a serial number prefix of XT.

Tegra X1

While there are three major revisions to the Tegra X1, there are zero performance differences employed by Nintendo in practice.

The Tegra X1 uses effectively a quad-core CPU consisting of 4x Cortex A57s. There are four Cortex A53s present, but they are disabled and never used. This most likely would have been used in a big.LITTLE configuration like modern Snapdragon SoCs. The Google Pixel C, which uses the Tegra X1, also has these cores disabled, implying that this is a condition set during fabrication.

Erista (T210)

This is the only model of the Tegra X1 vulnerable to CVE-2018-6242 (known as fusee-gelee or ShofEL2).

The Tegra T210 is the original model of the processor, released in 2015 by Nvidia and used in the original 2017 model of the Nintendo Switch. This SoC is codenamed Erista, runs on a 20nm process node.

In mid-2019, Nintendo began shipping units with a modified bootrom IRAM patch (ipatch) written at the factory, effectively mitigating CVE-2018-6242, and largely patching out the main community entrypoint for custom firmware access. These, alongside Mariko units, are commonly referred to as "patched units".

The CPU uses four ARMv8 ARM Cortex-A57 cores clocked at 1GHz in Horizon (docked or handheld), but officially supports clock speeds up to 1.9GHz.

The GPU scales from 384MHz in handheld mode to 768MHz in docked mode, but officially supports speeds up to 921MHz.

Mariko (T214)

This revision was introduced starting in August 2019 with the HAC-001(-01) and Nintendo Switch Lite (HDH-001). Regardless of model, every Switch console manufactured after mid-2019 is a Mariko unit. This revision uses a 16nm process.

It uses nearly half of the wattage as the original console to run, thereby producing less heat and providing a longer battery life as a result.

Also known as the T210B01 revision, the T214 is capable of hitting higher clock frequencies without thermal throttling, and therefore can effectively serve as a more powerful SoC, if Nintendo ever chose to go this route. The homebrew community has managed to overclock the CPU of Mariko chips up to 2397MHz, and the GPU up to 1305MHz.

The bootROM has undergone a full rewrite, so CVE-2018-6242 is no longer present in any capacity and cannot be reintroduced in any form. By definition, these are also patched units, but the community often explicitly refers to them as Mariko units to differentiate from patched Erista units.

Horizon

Horizon (herein referred to as HOS or HorizonNX) is a heavy rewrite and reimagining of the Nintendo 3DS operating system of the same name. It is a microkernel-based operating system which delegates hardware operations to a limited selection of services, which software can reference to carry out its tasks. Synonymous system calls and security concepts are present. Given the relatively short timeframe the OS was developed in (early 2015 to early 2017), the 3DS base may explain how Nintendo pushed out a fully-functional OS so quickly.

I tend to name my devices after this OS given that the two devices which use it as an operating system have both been highly influential in my day-to-day life and technical journey.

Trivia

  • The Nintendo Switch name was finalised in 2014, two years before the console's name was revealed in October 2016.
  • Contrary to popular belief, Nintendo Switch is not based off of Android, Linux, nor FreeBSD in any capacity. These were either unfounded rumors, or an extrapolation based off of references in the open-source software credits found in the Nintendo Switch's OS. Horizon is Nintendo original.
  • While the Nintendo Switch has a functional browser, it cannot be used for meaningful userland homebrew software as done on the Nintendo 3DS. The security system of the Switch treats applets and games as the most untrusted and grants extremely limited permissions to them.
  • The launch day version of the Nintendo Switch system software is a pilot build, hence the launch day update increasing the major version to 2.0.0. There are combinations of software and hardware vulnerabilities on 1.0 that eventually lead to TrustZone-level takeover.

See also

Nintendo Switch (Homebrew)