Nintendo Switch system software
Developer | Nintendo HAL Laboratory[1] |
---|---|
Written in | C, C++ and HTML for eShop and online services settings |
OS family | Proprietary OS, derivative of the Nintendo 3DS system software (containing components which are based on FreeBSD and Android) |
Working state | Current |
Source model | Closed source |
Initial release | 1.0.0 / March 3, 2017 |
Latest release | 19.0.1 / October 28, 2024[2] |
Available in |
|
Update method | Direct download |
Platforms | Nintendo Switch Nintendo Switch Lite Nintendo Switch OLED |
Preceded by | Nintendo 3DS system software Wii U system software |
Official website | support.nintendo.com |
The Nintendo Switch system software (also known by its codename Horizon)[3] is an updatable firmware and operating system used by the Nintendo Switch video game console. It is based on a proprietary microkernel. The UI includes a HOME screen, consisting of the top bar, the screenshot viewer ("Album") Icons, and shortcuts to the Nintendo eShop, News, and Settings.
Technology
OS
Nintendo has released only limited information about the Switch's internals to the public. However, computer security researchers, homebrew software developers, and the authors of emulators have all analyzed the operating system in great depth.[4][5][3]
Notable findings include that the Switch operating system is codenamed Horizon, that it is an evolution of the Nintendo 3DS system software, and that it implements a proprietary microkernel architecture.[4][3] All drivers run in userspace, including the Nvidia driver which the security researchers described as "kind of similar to the Linux driver". The graphics driver features an undocumented thin API layer, called NVN, which is "kind of like Vulkan"[4] but exposes most hardware features like OpenGL compatibility profile with Nvidia extensions. All userspace processes are sandboxed and use Address Space Layout Randomization (ASLR), a computer security technique involved in preventing exploitation of memory corruption vulnerabilities.[4][3]
Nintendo made efforts to design the system software to be as minimalist as possible, with the home menu's graphical assets using less than 200 kilobytes. This minimalism is meant to improve system performance and launch games faster.[6]
As early as July 2018, Nintendo has been trying to counter Switch homebrewing and piracy. Measures include an online ban, and on the hardware side, patching of the Tegra to prevent exploits.[7] On 11 December 2018, Nintendo sued Mikel Euskaldunak for selling a Switch modification that can play pirated games.[8] Since August 2019, the difficulty of homebrewing has gone up, as the new Mariko chip replaced the old Erista chip.[9][10] After the release of the Lite in late 2019, tools for hacking all Switch consoles were announced.[11] In September 2020, Gary Bowser was arrested in the Dominican Republic, and later appeared in court in the USA afterwards.[12] The prosecution alleges that Bowser was a piracy group leader.[13]
Open source components
Despite popular misconceptions to the contrary, Horizon is not largely derived from FreeBSD code, nor from Android, although the software licence[14] and reverse engineering efforts[15][16] have revealed that Nintendo does use some code from both in some system services and drivers. For example, the networking stack in the Switch OS is derived at least in part from FreeBSD code.[15] Nintendo's use of FreeBSD networking code is legal as it is made available under the permissive BSD licence, and not even particularly unusual – for instance and interface, the Microsoft Windows TCP/IP stack (used since at least 2000 and XP) was originally derived from BSD code in a similar fashion, using part of its TCP/IP code for its implementation of TCP/IP, which was legal.[17][better source needed][18]
Components derived from Android code include the Stagefright multimedia framework,[19] as well as components of the graphics stack[5] including the display server (derived from SurfaceFlinger)[16] and the graphics driver (which seems to be derived from Nvidia's proprietary Linux driver).[20]
Although a full web browser intended for general browsing is not available on the console as of April 2024, several so-called 'applets' are included which utilise the WebKit rendering engine to display web content within a stripped back interface. A WebKit-powered applet is used to allow users to log in to captive portals when connecting to certain wireless networks, as well as for operating system features such as the Nintendo eShop, social media integrations, and digital manuals.[21][22]
User interface
Home screen
The Nintendo Switch home screen has battery, Internet and time information in the top right corner, and below it is a grid showing all software on the system, downloaded or physical. Underneath that it has shortcuts to OS functions such as Nintendo Switch Online, the News, eShop, Album, Controller settings, System Settings, and a Sleep Mode button.[23] Unlike previous Nintendo systems, the Nintendo Switch home screen currently lacks an Internet browser and a messaging system.
News
The News function of the Nintendo Switch software allows users to read gaming news and advertisements provided by Nintendo and third-party developers.[24] News is also displayed when the system is locked.[25]
The News interface was originally available in the 1.0.0 version of the software, however new headlines were not transmitted until the 2.0.0 update was released. The 3.0.0 update revamped the News system, adding multiple news "channels" for different games that users can subscribe to. The news headlines that appear depend on which channels are subscribed to. The 4.0.0 update further improved the News screen, updating its layout. The 9.0.0 update added search support to the News channel, allowing users to narrow the list via filters or free text.[2] The 10.0.0 update added a "Bookmark" feature, allowing users to save their favorite News articles.[26][24]
Nintendo eShop
The Nintendo eShop option on the Home menu opens a WebKit-based[22] interface that allows games to be purchased and downloaded from the Nintendo eShop.
As well as games, the eShop offers select non-gaming apps. Niconico, a popular Japanese video service, launched for the Switch in Japan on 13 July 2017 and was the Switch's first third-party media app in any market.[27] Hulu was the first video streaming application released for the Switch in the United States on 9 November 2017.[28] In June 2018, Fils-Aimé said that conversations to bring Netflix to the Switch were "on-going".[29] A YouTube application was released on 8 November 2018.[30] On 4 November 2020, a trial version app of the Tencent Video streaming service was launched exclusively for Nintendo Switch consoles officially distributed by Tencent in mainland China. An official version app will be launched at a later date.[31] Funimation launched their own streaming app for the Nintendo Switch, featuring a reworked layout and new functions. The app became available via eShop in the United States and Canada on 15 December 2020, and will launch in various other countries at a later date,[32] such as the United Kingdom and Ireland on 22 March 2021.[33] A version of the Twitch app launched for the Nintendo Switch on 11 November 2021 in most regions worldwide. The eShop version of the app allows users to watch or follow any live or recorded content on Twitch, but does not support any native ability for Switch players to contribute content.[34]
Korg Gadget, a music production app, was released for the Nintendo Switch on 26 April 2018.[35] InkyPen, a comics and manga subscription app, launched exclusively on the Switch worldwide in December 2018.[36] Izneo, another comics and manga subscription service, was released for the Switch in February 2019.[37] FUZE4, a text-based programming language app, was released in August 2019.[38]
Album
The Album stores captured screenshots and videos. Pressing the "Capture" button on the controller, in supported software, will save a screenshot, either to the microSD card, or to the system memory. The Album allows users to view screenshots that have been taken. Screenshots can be edited by adding text, and they can be shared to Facebook or Twitter.[39] In addition, in supported games, holding down the Capture button briefly will save the last 30 seconds of video to the Album. It can then be trimmed and posted online.[40]
The 2.0.0 update added the ability to post screenshots to Facebook or Twitter from within the system UI, making it easier to share screenshots. The 4.0.0 update added support for saving 30 second videos, in compatible games. The 14.0.0 updated added the ability to download screenshots and videos to a PC via a USB cable or to a Mobile device via a webpage hosting the files generated by the Switch.
Regardless of the amount of free space on the systems internal memory or microSD card there is a hard limit on the number of screenshots and videos that can be stored.[41]
On May 9, 2024, it was announced that, as of June 10, 2024, that it would no longer be possible to post screenshots and videos on Twitter due to API changes.[42]
Controllers
The Controllers menu allows controllers to be paired, disconnected, or reconnected. The 3.0.0 update added the "Find Controllers" option, which allows any nearby controllers that have been paired to be remotely turned on and vibrated, to help find lost controllers.[43]
Settings
The Settings option allows for system settings to be changed, and includes other functionality, such as creating Miis.[44]
Recovery Mode
The Nintendo Switch has a hidden Recovery Mode (RCM) feature, which can be accessed by powering off the unit, then using a specially-constructed jig to short-circuit two pins on the right-hand Joy-Con connector, and then holding down the volume up button while powering on the unit. The unit would then boot without the Nintendo logo, indicating that Recovery Mode has been successfully activated. The feature is also used as an exploit on unpatched version 1.0.0 units to run homebrew software, which has been investigated for the purpose of digital forensics acquisition.[45]
History of updates
The initial version of the system software for Nintendo Switch on the launch day consoles was updated as a "day one" patch on 3 March 2017, the console's launch date.[46] The update added online features that were previously missing from the original software before its official launch date. Some notable features of this update are access to the Nintendo eShop as well as the ability to add friends to a friends list, similar to that of the Nintendo 3DS.[47] On 7 June 2021, patch 12.0.3 was released, but was removed 12 hours later for problems with network connections as well as issues with MicroSDXC cards.[48]
The April 2021 firmware update was found by dataminers to have added rudimentary support for Bluetooth audio.[49][50] This support was expanded and made available to regular users on September 14, 2021, when patch 13.0 was released. Patch 13.0 also added the ability to apply software updates to the Switch Dock (only applicable for docks released with the Switch OLED Model, which have a built-in LAN port), and a new setting for Sleep Mode that allows the Switch to maintain an Internet connection when the Switch is asleep to download updates. When disabled, the console will only connect to the Internet occasionally when asleep, in order to save power. Additionally, Patch 13.0 changed the method to initiate a control stick calibration and allowed users to view their wireless Internet frequency band (2.4 GHz or 5 GHz) on the Internet Connection Status page.
In November 2021, the 13.1.0 version update added support for Nintendo Switch Online + Expansion Pack.[51]
The 14.0.0 update in March 2022 added a Groups feature, allowing users to sort games into groups as a means to declutter the game collection screen.[52]
Version | Patch date | Notes |
---|---|---|
1.0.0 | March 3, 2017 | Prelaunch system. |
2.0.0 | March 3, 2017 | Network features integrated.
System features integrated.
|
2.1.0 | March 27, 2017 | General stability improvements. |
2.2.0 | April 17, 2017 | General stability improvements. |
2.3.0 | May 15, 2017 | General stability improvements. |
3.0.0 | June 19, 2017 | New features integrated.
|
3.0.1 | July 13, 2017 | General stability improvements.
|
3.0.2 | September 5, 2017 | Nintendo Switch Online improvements.
General stability improvements. |
4.0.0 | October 18, 2017 | New system features integrated.
|
4.0.1 | October 25, 2017 | General stability improvements.
|
4.1.0 | December 4, 2017 | General stability improvements.
|
5.0.0 | March 12, 2018 | New system features integrated.
|
5.0.1 | March 26, 2018 | General stability improvements. |
5.0.2 | April 16, 2018 | General stability improvements.
|
5.1.0 | May 30, 2018 | General stability improvements. |
6.0.0 | September 18, 2018 | Nintendo Switch Online improvements.
New system features integrated.
|
6.0.1 | October 8, 2018 | General stability improvements.
|
6.1.0 | October 29, 2018 | General stability improvements.
|
6.2.0 | November 19, 2018 | Game stability improvements. |
7.0.0 | January 28, 2019 | New features integrated.
General stability improvements. |
7.0.1 | February 18, 2019 | General stability improvements.
|
8.0.0 | April 15, 2019 | New features integrated.
General stability improvements. |
8.0.1 | April 23, 2019 | General stability improvements. |
8.1.0 | June 17, 2019 | General stability improvements. |
9.0.0 | September 9, 2019 | New features integrated
|
9.0.1 | September 30, 2019 | General stability improvements.
|
9.1.0 | December 4, 2019 | General stability improvements.
|
9.2.0 | March 3, 2020 | General stability improvements. |
10.0.0 | April 14, 2020 | New features integrated.
|
10.0.1 | April 22, 2020 | General stability improvements. |
10.0.2 | April 30, 2020 | General stability improvements
|
10.0.3 | May 26, 2020 | General stability improvements. |
10.0.4 | June 5, 2020 | Following issues fixed.
|
10.1.0 | July 14, 2020 | General stability improvements. |
10.1.1 | July 28, 2020 | General stability improvements.
(China only)[53] |
10.2.0 | September 15, 2020 | General stability improvements |
11.0.0 | December 1, 2020 | New features integrated.
General stability improvements with unknown fixed issues. |
11.0.1 | December 11, 2020 | Following issues fixed.
General stability improvements. |
12.0.0 | April 6, 2021 | Following issues fixed.
|
12.0.1 | April 20, 2021 | General stability improvements. |
12.0.2 | May 12, 2021 | General stability improvements. |
12.0.3 | June 8, 2021 | General stability improvements. |
12.1.0 | July 6, 2021 | New features integrated.
General stability improvements. |
13.0.0 | September 15, 2021 | New features integrated,
|
13.1.0 | October 26, 2021 | New features integrated.
General stability improvements. |
13.2.0 | December 1, 2021 | General stability improvements. |
13.2.1 | January 20, 2022 | General stability improvements. |
14.0.0 | March 22, 2022 | New features integrated.
|
14.1.0 | April 5, 2022 | New features integrated.
|
14.1.1 | April 19, 2022 | General stability improvements. |
14.1.2 | June 14, 2022 | General stability improvements. |
15.0.0 | October 11, 2022 | The following features have changed.
General stability improvements. |
15.0.1 | October 31, 2022 | Following issues fixed.
General stability improvements. |
16.0.0 | February 20, 2023 | The following feature has changed.
General stability improvements. |
16.0.1 | March 23, 2023 | General stability improvements. |
16.0.2 | April 17, 2023 | General stability improvements. |
16.0.3 | May 8, 2023 | General stability improvements. |
16.1.0 | August 21, 2023 | General stability improvements. |
17.0.0 | October 10, 2023 | General stability improvements. |
17.0.1 | December 4, 2023 | Following issues fixed.
General stability improvements. |
18.0.0 | March 25, 2024 | Following issues fixed.
The following features have changed.
General stability improvements. |
18.0.1 | April 22, 2024 | Following issues fixed.
General stability improvements |
18.1.0 | June 10, 2024 | The following updates were made for the discontinuation of X (formerly Twitter) integration:
General stability improvements. |
19.0.0 | October 7, 2024 | General stability improvements. |
19.0.1 | October 28, 2024 | Following issues fixed.
General stability improvements. |
References
- ^ Brian (2 April 2017). "HAL Laboratory developed various parts of Switch - Nintendo Everything". nintendoeverything.com. Retrieved 7 May 2020.
- ^ a b "Nintendo Switch System Updates and Change History". Nintendo. Retrieved 19 January 2022.
- ^ a b c d Gauvain Tanguy Henri Gabriel Isidore Roussel-Tarbouriech; Menard, Noel; True, Tyler; Vi, Tini; Reisyukaku (2019). "Methodically Defeating Nintendo Switch Security". arXiv:1905.07643 [cs.CR].
- ^ a b c d "Console Security - Switch". 30 December 2017. Retrieved 30 May 2018.
- ^ a b "Progress Report 2018 Part 1". yuzu.
- ^ Craddock, Ryan (22 August 2018). "The Switch's Home Menu Uses Less Than 200 KB Of Resources For Super-Fast Load Times". Nintendo Life. Retrieved 22 August 2018.
- ^ Rishi Alwani, Nintendo Fixes Nintendo Switch to Prevent Homebrew and Piracy
- ^ Cullins, Ashley (12 December 2018). "Nintendo Sues California Man for Allegedly Rigging Consoles and Pirating Games". The Hollywood Reporter. Retrieved 20 April 2021.
- ^ Rahming, A.K (15 August 2019). "Prominent Switch hacker not confident new 'Mariko' chips can be hacked". Nintendo Enthusiast. Retrieved 22 April 2021.
- ^ Lane, Gavin (28 June 2019). "Digital Foundry Investigates New Chip Potentially Destined For Switch Mini And Switch Pro". Nintendo Life. Retrieved 22 April 2021.
- ^ Ernesto Van der Sar. Nintendo Sues Stores Selling New ‘Team-Xecuter’ Switch Piracy Hack. Torrent Freak. 18 May 2020
- ^ Two Members of Notorious Videogame Piracy Group “Team Xecuter” in Custody. Department of Justice. Friday, 2 October 2020
- ^ Indictment. United States District Court For the Western District of Washington At Seattle
- ^ "What hackers know of the Nintendo Switch so far". Wololo.net. 9 March 2017. Retrieved 13 March 2017.
- ^ a b "Sockets services". Switchbrew Wiki. Retrieved 30 August 2020.
- ^ a b "Nvnflinger services". Switchbrew Wiki. Retrieved 30 August 2020.
- ^ "Actually, Windows DOES use some BSD code". Retrieved 24 March 2018.
- ^ Barr, Adam (19 June 2001). "Microsoft, TCP/IP, Open Source, and Licensing". Archived from the original on 14 November 2005. Retrieved 7 June 2019.
- ^ "Hacker nehmen Nintendos Switch ins Visier". heise online (in German). Heinz Heise. Retrieved 14 March 2017.
- ^ "NV services". Switchbrew Wiki. Retrieved 30 August 2020.
- ^ Cunningham, Andrew (13 March 2017). "Nintendo Switch ships with unpatched 6-month-old WebKit vulnerabilities". Ars Technica. Retrieved 14 March 2017.
- ^ a b "Internet Browser". Switchbrew Wiki. Retrieved 30 August 2020.
- ^ "HOME Menu Overview". Nintendo. Retrieved 10 June 2020.
- ^ a b "News Overview". Nintendo. Retrieved 10 June 2020.
- ^ Ravenscraft, Eric (16 June 2017). "How to Disable the Lock Screen On Your Nintendo Switch". How-To Geek. Retrieved 18 February 2021.
- ^ Amelia N. (14 April 2020). "New features have arrived!" (Nintendo Switch News item). Nintendo.
- ^ Frank, Allegra (12 July 2017). "Nintendo Switch is getting its first streaming app". Polygon. Archived from the original on 16 July 2017. Retrieved 12 July 2017.
- ^ McWhertor, Michael (November 9, 2017). "Hulu coming to Nintendo Switch". Polygon. Archived from the original on November 9, 2017. Retrieved November 9, 2017.
- ^ Craddock, Ryan (14 June 2018). "Conversations To Bring YouTube And Netflix To Switch Are "On-Going"". Nintendo Life. Retrieved 1 September 2018.
- ^ Welch, Chris (8 November 2018). "YouTube arrives on Nintendo Switch today". The Verge. Retrieved 8 November 2018.
- ^ "Tencent Video comes to Nintendo eShop for Chinese version of Switch". cnTechPost. 4 November 2020. Retrieved 6 December 2020.
- ^ Doolan, Liam (14 December 2020). "It's Official, Funimation Is Releasing Its Anime App On Switch This Week". Nintendo Life. Retrieved 15 December 2020.
- ^ Craddock, Ryan (22 March 2021). "Anime App Funimation Launches On Nintendo Switch In The UK And Ireland Today". Nintendo Life. Retrieved 27 March 2021.
- ^ "Twitch on Switch: Download the New Twitch App for Nintendo Switch". Official Twitch blog. 11 November 2021. Retrieved 3 February 2022.
- ^ "Nintendo Switch eShop gets beloved music studio — but with some key changes". Polygon. Retrieved 8 November 2018.
- ^ St Leger, Henry (17 December 2018). "InkyPen lets you read comic books on Nintendo Switch – and the app's gone live". TechRadar. Archived from the original on 17 December 2018. Retrieved 17 December 2018.
- ^ T. Wright, Steven (28 February 2019). "Comic Book, Graphic Novel Reader Izneo Hits Nintendo Switch". Variety. Retrieved 1 March 2019.
- ^ "FUZE4 Nintendo Switch". Nintendo of America. Archived from the original on 23 August 2019. Retrieved 7 September 2019.
- ^ "How to Capture and View Screenshots". Nintendo. 1 July 2018. Retrieved 1 July 2018.
- ^ "How to Capture and Edit Gameplay Video". Nintendo. 1 July 2018. Retrieved 1 July 2018.
- ^ "Data management | Nintendo Switch Support | Nintendo". Nintendo Homepage. Retrieved 12 April 2022.
- ^ Nintendo of America [@nintendoamerica] (9 May 2024). "As of June 10, 2024, it will no longer be possible to post screenshots and videos to X (formerly Twitter) from the Nintendo Switch's Album, or send friend requests to social media users via the Friend Suggestions feature" (Tweet). Archived from the original on 10 May 2024. Retrieved 2 October 2024 – via Twitter.
- ^ "How to Use the "Find Controllers" Feature". Nintendo. 1 July 2018. Retrieved 1 July 2018.
- ^ "How to Create a Mii". Nintendo. 1 July 2018. Retrieved 1 July 2018.
- ^ Barr-Smith, Frederick; Farrant, Thomas; Leonard-Lagarde, Benjamin; Rigby, Danny; Rigby, Sash; Sibley-Calder, Frederick (2021). "Dead Man's Switch: Forensic Autopsy of the Nintendo Switch". Forensic Science International: Digital Investigation. 36: 301110. doi:10.1016/j.fsidi.2021.301110. S2CID 233402022.
- ^ Kyle Orland (2 March 2017). "Nintendo Switch review: Meet the Game Boy Entertainment System". ArsTechnica. Condé Nast.
- ^ Craig Majaski (23 February 2017). "Day 1 Nintendo Switch OS Update Details". NintendoTimes.
- ^ Doolan, Liam; Craddock, Ryan. "Nintendo Halts Distribution Of Switch System Update 12.0.3". Nintendo Life. Retrieved 8 June 2021.
- ^ Manito (28 April 2021). "Use Bluetooth Earbuds on Switch WITHOUT an Adapter". YouTube. Retrieved 4 May 2021.
- ^ Doolan, Liam (8 April 2021). "Firmware update has apparently added bluetooth audio support". Nintendo Life. Retrieved 29 April 2021.
- ^ "Nintendo Switch System Updates and Change History". Nintendo Support. Retrieved 16 November 2021.
- ^ Hornshaw, Phil (21 March 2022). "Nintendo Switch Patch Finally Adds Folders So You Can Organize Your Games". GameSpot. Retrieved 21 March 2022.
- ^ "关于Nintendo Switch主机的更新 - 腾讯 Nintendo Switch 官网技术支持". www.nintendoswitch.com.cn. Retrieved 26 March 2023.