Nintendo Switch system software

From Wikipedia, the free encyclopedia
Jump to navigation Jump to search

Nintendo Switch system software
NintendoSwitchLogo.svg
Nintendo Switch Menu screenshot.png
Operating system and user interface of the Nintendo Switch
DeveloperNintendo
HAL Laboratory[1]
Written inC, C++ and HTML for settings
OS familyDerivative of Nintendo 3DS system software
Working stateCurrent
Source modelClosed source
Initial release1.0.0 / 3 March 2017; 3 years ago (2017-03-03)
Latest release11.0.1 / 10 December 2020; 2 months ago (2020-12-10)[2]
Available inChinese (Simplified), Chinese (Traditional), Dutch, English (United Kingdom), English (United States), French (Canada), French (France), German, Italian, Japanese, Korean, Portuguese (Brazil), Portuguese (Portugal), Russian, Spanish (Latin America), Spanish (Spain)
Update methodDirect download
Game Card
PlatformsNintendo Switch
Nintendo Switch Lite
Preceded byNintendo 3DS system software
Wii U system software

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.

Technology[edit]

OS[edit]

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]

Open source components[edit]

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 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 November 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]

User interface[edit]

Home screen[edit]

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.[15] The Nintendo Switch home screen currently lacks an internet browser and a messaging system.

News[edit]

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.[17]

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.[18][16]

Nintendo eShop[edit]

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.[19] Hulu was the first video streaming application released for the Switch in the United States on 9 November 2017.[20] A YouTube application was released on 8 November 2018.[21] Fils-Aimé said in June 2018 that conversations to bring Netflix to the Switch are "on-going".[22] 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.[23] 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 the United Kingdom, Ireland, Mexico, and various other countries at a later date.[24]

Korg Gadget, a music production app, was released for the Nintendo Switch on 26 April 2018.[25] InkyPen, a comics and manga subscription app, launched exclusively on the Switch worldwide on 17 December 2018.[26] Izneo, another comics and manga subscription service, was released for the Switch on 28 February 2019.[27] FUZE4, a text-based programming language app, was released in August 2019.[28]

Album[edit]

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.[29] 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.[30]

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 11.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.

Controllers[edit]

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.[31]

Settings[edit]

The Settings option allows for system settings to be changed, and includes other functionality, such as creating Miis.[32]

History of updates[edit]

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.[33] 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.[34]

References[edit]

  1. ^ Brian (2 April 2017). "HAL Laboratory developed various parts of Switch - Nintendo Everything". nintendoeverything.com. Retrieved 7 May 2020.
  2. ^ a b "Nintendo Switch System Updates and Change History". Nintendo. Retrieved 14 September 2020.
  3. ^ 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].
  4. ^ a b c d "Console Security - Switch". Retrieved 30 May 2018.
  5. ^ a b "Progress Report 2018 Part 1". yuzu.
  6. ^ 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.
  7. ^ "What hackers know of the Nintendo Switch so far". Wololo.net. 9 March 2017. Retrieved 13 March 2017.
  8. ^ a b "Sockets services". Switchbrew Wiki. Retrieved 30 August 2020.
  9. ^ a b "Nvnflinger services". Switchbrew Wiki. Retrieved 30 August 2020.
  10. ^ "Actually, Windows DOES use some BSD code". Retrieved 24 March 2018.
  11. ^ "Hacker nehmen Nintendos Switch ins Visier". heise online (in German). Heinz Heise. Retrieved 14 March 2017.
  12. ^ "NV services". Switchbrew Wiki. Retrieved 30 August 2020.
  13. ^ Cunningham, Andrew (13 March 2017). "Nintendo Switch ships with unpatched 6-month-old WebKit vulnerabilities". Ars Technica. Retrieved 14 March 2017.
  14. ^ a b "Internet Browser". Switchbrew Wiki. Retrieved 30 August 2020.
  15. ^ "HOME Menu Overview". Nintendo. Retrieved 10 June 2020.
  16. ^ a b "News Overview". Nintendo. Retrieved 10 June 2020.
  17. ^ Ravenscraft, Eric (16 June 2017). "How to Disable the Lock Screen On Your Nintendo Switch". How-To Geek. Retrieved 18 February 2021.
  18. ^ Amelia N. (14 April 2020). "New features have arrived!" (Nintendo Switch News item). Nintendo.
  19. ^ 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.
  20. ^ McWhertor, Michael (November 9, 2017). "Hulu coming to Nintendo Switch". Polygon. Archived from the original on November 9, 2017. Retrieved November 9, 2017.
  21. ^ Welch, Chris (8 November 2018). "YouTube arrives on Nintendo Switch today". The Verge. Retrieved 8 November 2018.
  22. ^ Craddock, Ryan (14 June 2018). "Conversations To Bring YouTube And Netflix To Switch Are "On-Going"". Nintendo Life. Retrieved 1 September 2018.
  23. ^ "Tencent Video comes to Nintendo eShop for Chinese version of Switch". cnTechPost. 4 November 2020. Retrieved 6 December 2020.
  24. ^ Doolan, Liam (14 December 2020). "It's Official, Funimation Is Releasing Its Anime App On Switch This Week". Nintendo Life. Retrieved 15 December 2020.
  25. ^ "Nintendo Switch eShop gets beloved music studio — but with some key changes". Polygon. Retrieved 8 November 2018.
  26. ^ H, Henry St Leger 2018-12-17T10:08:21Z; helds. "InkyPen lets you read comic books on Nintendo Switch – and the app's gone live". TechRadar. Retrieved 17 December 2018.
  27. ^ T. Wright, Steven (28 February 2019). "Comic Book, Graphic Novel Reader Izneo Hits Nintendo Switch". Variety. Retrieved 1 March 2019.
  28. ^ "FUZE4 Nintendo Switch". Nintendo of America. Retrieved 7 September 2019.
  29. ^ "How to Capture and View Screenshots". Nintendo. 1 July 2018. Retrieved 1 July 2018.
  30. ^ "How to Capture and Edit Gameplay Video". Nintendo. 1 July 2018. Retrieved 1 July 2018.
  31. ^ "How to Use the "Find Controllers" Feature". Nintendo. 1 July 2018. Retrieved 1 July 2018.
  32. ^ "How to Create a Mii". Nintendo. 1 July 2018. Retrieved 1 July 2018.
  33. ^ Kyle Orland (1 March 2017). "Nintendo Switch review: Meet the Game Boy Entertainment System". ArsTechnica. Condé Nast.
  34. ^ Craig Majaski (23 February 2017). "Day 1 Nintendo Switch OS Update Details". NintendoTimes.