Nintendo Switch system software
The Nintendo Switch system software is an updatable firmware and operating system used by the Nintendo Switch video game console. Its main portion is the HOME screen, consisting of the top bar, the screenshot viewer, and shortcuts to the Nintendo eShop, News, and Settings. The code is based on various pieces of Android, and is based loosely upon the Nintendo 3DS software.
Technology
OS
has released limited information about the Switch's internals to the public. Computer security researchers as well as developers of the Nintendo 3DS emulator Citra analyzed the operating system. They found that the operating system's internal name is Horizon, that it is an evolution of the Nintendo 3DS system software, and that it implements a microkernel architecture. 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" but exposes most hardware features like OpenGL compatibility profile with Nvidia extensions. All userspace processes use Address Space Layout Randomization and are sandboxed.According to the Nintendo Switch system software's licensing information, code from FreeBSD kernel is utilized by Horizon.
Horizon utilizes several components from Android such as the Stagefright multimedia framework. According to the Citra authors – who have also begun to develop a Switch emulator called yuzu – "Nintendo re-purposed the Android graphics stack and used it in the Switch for rendering."
Rendering of web content is done via WebKit. Although an end-user web browser is not available on the console as of July 2020, a WebKit applet is still accessible when connecting to a network that requires a web login, and the WebKit applet is also used for several operating system functions, such as the eShop.
Unlike previous consoles, Nintendo purposefully designed the system software to be as minimalist as possible, with the home menu running under 200 kilobytes. This minimalism is meant to improve system performance and launch games faster.
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 the news, eShop, album, controller settings, settings, and a sleep mode button. 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. News is also displayed when the system is locked.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. The 10.0.0 update added a "Bookmark" feature, allowing users to save their favorite News articles.
Nintendo eShop
The Nintendo eShop option on the Home menu opens a WebKit-based interface that allows games to be purchased and downloaded from the Nintendo eShop.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. Hulu was the first video streaming application released for the Switch in the United States on 9 November 2017. A YouTube application was released on 8 November 2018. Fils-Aimé said in June 2018 that conversations to bring Netflix to the Switch are "on-going".
Korg Gadget, a music production app, was released for the Nintendo Switch on 26 April 2018. InkyPen, a comics and manga subscription app, launched exclusively on the Switch worldwide on 17 December 2018. Izneo, another comics and manga subscription service, was released for the Switch on 28 February 2019. FUZE4, a text-based programming language app, was released in August 2019.
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. 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.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.
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.Settings
The Settings option allows for system settings to be changed, and includes other functionality, such as creating Miis.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. 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.Version | Features | |
1.0.0 | Before console release | Initial release of Nintendo Switch system software |
2.0.0 |
| |
2.1.0 | General system stability improvements to enhance the user's experience | |
2.2.0 | General system stability improvements to enhance the user's experience | |
2.3.0 | General system stability improvements to enhance the user's experience | |
3.0.0 |
| |
3.0.1 | Bug fixes, including:
| |
3.0.2 | ||
4.0.0 |
| |
4.0.1 | Bug fixes, including:
| |
4.1.0 | Bug fixes, including:
| |
5.0.0 |
| |
5.0.1 | General system stability improvements to enhance the user's experience. | |
5.0.2 | Undisclosed changes and bug fixes, including:
| |
5.1.0 | General system stability improvements to enhance the user's experience. | |
6.0.0 | Updates regarding Nintendo Switch Online | |
6.0.1 | General system stability improvements to enhance the user's experience, including:
| |
6.1.0 | General system stability improvements to enhance the user's experience, including: | |
6.2.0 | Updates TSEC Encryption and Boot Process in an effort to combat console hacking/piracy/homebrew | |
7.0.0 |
| |
7.0.1 | General system stability improvements to enhance the user's experience, including:
| |
8.0.0 | General system stability improvements to enhance the user's experience, including: | |
8.0.1 | General system stability improvements to enhance the user's experience. | |
8.1.0 | General system stability improvements to enhance the user's experience | |
9.0.0 | General system stability improvements to enhance the user's experience, including: | |
9.0.1 | General system stability improvements to enhance the user's experience, including a solution for the following: | |
9.1.0 | General system stability improvements to enhance the user's experience, including a solution for the following: | |
9.2.0 | General system stability improvements to enhance the user's experience. | |
10.0.0 | General system stability improvements to enhance the user's experience, including a solution for the following: | |
10.0.1 | General system stability improvements to enhance the user's experience. | |
10.0.2 | General system stability improvements to enhance the user's experience, including a solution for the following: | |
10.0.3 | General system stability improvements to enhance the user's experience. | |
10.0.4 | Resolved an issue where it was not possible in some countries or regions to add funds using a new credit card or to register credit card information in Nintendo eShop on Nintendo Switch. | |
10.1.0 | General system stability improvements to enhance the user's experience. |