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. Its main portion is the HOME screen, consisting of the top bar, the screenshot viewer ("Album"), and shortcuts to the Nintendo eShop, News, and Settings.
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 secu
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 use Address Space Layout Randomization and are sandboxed.[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]
Despite popular misconceptions to the contrary, Horizon is not largely derived from FreeBSD code, nor from Android, although the software licenceNintendo 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 use Address Space Layout Randomization and are sandboxed.[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]
Despite popular misconceptions to the contrary, Horizon is not largely derived from FreeBSD code, nor from Android, although the software licence[7] and reverse engineering efforts[8][9] 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.[8] Nintendo's use of FreeBSD networking code is legal as it is made available under the permissive BSD licence, and not even particularly unusual – notably, the Microsoft Windows TCP/IP stack was originally derived from BSD code in a similar fashion.[10]
Components derived from Android code include the Stagefright multimedia framework,[11] as well as components of the graphics stackAndroid code include the Stagefright multimedia framework,[11] as well as components of the graphics stack[5] including the display server (derived from SurfaceFlinger)[9] and the graphics driver (which seems to be derived from Nvidia's proprietary Linux driver).[12]
Although a full web browser intended for general browsing is not available on the console as of September 2020, 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.[13][14]
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.[15] The Nintendo Switch home screen currently lacks an internet browser and a messaging system.
The News function of the Nintendo Switch software allows users to read gaming news and advertisements provided by Nintendo and third-party developers.[16] News is also displayed when the system is locked.The News function of the Nintendo Switch software allows users to read gaming news and advertisements provided by Nintendo and third-party developers.[16] News is also displayed when the system is locked.[citation needed]
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 th
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.[17][16]
The Nintendo eShop option on the Home menu opens a WebKit-based[14] 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.[18] Hulu was the first video streaming application released for the Switch in the United States on 9 November 2017.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.[18] Hulu was the first video streaming application released for the Switch in the United States on 9 November 2017.[19] A YouTube application was released on 8 November 2018.[20] Fils-Aimé said in June 2018 that conversations to bring Netflix to the Switch are "on-going".[21]
Korg Gadget, a music production app, was released for the Nintendo Switch on 26 April 2018.[22] InkyPen, a comics and manga subscription app, launched exclusively on the Switch worldwide on 17 December 2018.[23] Izneo, another comics and manga subscription service, was released for the Switch on 28 February 2019.[24] FUZE4, a text-based programming language app, was released in August 2019.[25]
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.[26] 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.[27]
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 ga
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 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.[28]
The S
The Settings option allows for system settings to be changed, and includes other functionality, such as creating Miis.[29]