The Switch 5.0.0 system update was released on March 12, 2018. This Switch update was released for the following regions: ALL.

Security flaws fixed: <fill this in manually later, see the updatedetails page from the ninupdates-report page(s) once available for now>.

Change-log

Official ALL change-log:

  • Added the following system functionality
  • Facebook and Twitter friends that also use Nintendo Switch can now be added through Friend Suggestions
  • Friend suggestions are based on the Facebook and Twitter accounts you have linked to your Nintendo Account
  • To view your friend suggestions, from the top left of the HOME Menu head to your User Page > Friend Suggestions
  • You must be 13 or older to use this feature
  • Select from 24 new ARMS and the Kirby series icons for your user
  • To edit your user icon, head to your My Page on the top left of the Home Menu > Profile
  • Digital software purchases made from a PC or smart device will start downloading sooner than previously, even if the Nintendo Switch console is in Sleep Mode
  • Filter News to view only unread news or news from specific channels
  • To keep the Parental Controls PIN private, the default method for PIN entry has been changed to entering using the Control Stick and buttons instead of the on-screen number pad
  • When prompted to enter you Parental Controls PIN, press and hold the + Button to change between input methods
  • Captured videos in the Album will be restricted by Parental Controls depending on the Restricted Software setting and Software Rating Organization
  • Using the Nintendo Switch Parental Controls app, add specific software titles to your whitelist to exclude them from the console’s Parental Controls Restricted Software setting
  • Play-Time Limit restrictions will still apply even when the software title has been whitelisted.
  • Receive notification when pre-purchased software is ready to play
  • Nintendo Switch Pro Controller grip colors will now display in the Controllers menu
  • General system stability improvements to enhance the user's experience, including:
  • Resolved an issue that caused Play Activity to display incorrectly in the Profile section of your User Page

System Titles

<fill this in (manually) later>

  • 0100000000000824(Mariko Config), 0100000000000825, 0100000000000826 were added.
    • 0100000000000824 provides configuration for the new "T214" SoC.
    • 0100000000000825 contains an empty "/blacklist.dat" file.
    • 0100000000000826 contains a 0x40-byte "/version" file, this is all-zero except for '0' at offset 0x20.

The built codebins now have padding in .text after every function for 0x10-byte alignment.

FIRM

Everything under RomFS was updated.

A new folder "a" was added, in addition to the existing "nx" folder, containing a separate "bct" and "package1". Both of these seem encrypted/meant for the new "Mariko" hardware that support was added for.

The following firm-sysmodules was added to both safemode-firm, which were originally in separate sysmodule-titles: Bus, PCV, and psc.

All firm-sysmodules were updated (might be due to updated (?) rtld).

Secure Monitor

The Memory layout was changed significantly:

  • .text, .rodata, and .data are now separate sections, instead of being mapped RWX.
  • Physical layout in TZRAM changed significantly, with pk2ldr being in low TZRAM instead of high TZRAM.

In addition, there were changes to the SMC interface:

  • smcLoadSecureExpModKey/smcLoadRsaOaepKey/smcDecryptRsaPrivateKey no longer exist.
  • smcLoadRsaOaepKey was replaced with smcEncryptRsaPrivateKeyForImport.
  • smcDecryptRsaPrivateKey was replaced with smcDecryptOrImportRsaPrivateKey.
    • All keys which were previously imported with specific keys now first call smcEncryptRsaPrivateKeyForImport with the appopriate enum member to get a sealed copy of the RSA key, then smcDecryptOrImportRsaPrivateKey to import/unseal the key when needed.
  • smcGetConfig was extended with two new config items:
  • -GetConfig(16) now does the following, which seems to check whether the Switch is running on a Tegra 210:
   return (FUSE_RESERVED_ODM4 & 0x800) &&  FUSE_RESERVED_ODM0 == 0x8E61ECAE &&  FUSE_RESERVED_ODM1  == 0xF2BA3BB2 ?  (FUSE_RESERVED_ODM2 & 0x1F) : 0
  • Getconfig(17) now checks whether package2 is plaintext or encrypted.

<fill in the rest later>

Kernel

  • Kernel Address Space Layout Randomization was added.
    • Instead of using a hardcoded address for per-CPU region, they now use x18 to point to the per-CPU region.
  • 5 new syscalls. SVCs 0x48/0x49 are accessible by AM-sysmodule.

Internet Browser

OSS/WebKit was updated.

In the NPDM, besides the RSA region the only changes were the kernel-release-version descriptor + {new ACID flag is set}.

In the "shareddata:/" title, the NROs are now compressed: "{name}.nro.lz4" instead of "{name}.nro".

qlaunch

RomFS changes:

  • "/common/shader/VarietyOceanShader_Nx.arc.szs" updated
  • "/lyt/common.szs" updated
  • "/lyt/DummyGameA.szs" and "/lyt/DummyGame.szs" were removed.
  • "/lyt/Entrance.szs" updated
  • "/lyt/Eula.szs" added
  • "/lyt/Flaunch.szs" updated
  • "/lyt/Gift.szs" updated
  • "/lyt/Interrupt.szs" updated
  • "/lyt/Migration.szs" updated
  • "/lyt/Notification.szs" updated
  • "/lyt/Option.szs"
  • "/lyt/ResidentMenu.szs"
  • "/lyt/Set.szs"
  • "/message/" Everything under here was updated.
  • "/message/Ocean.msbp.szs" added
  • "/sound/qlaunch_action.bksnd" and "/sound/qlaunch.bfsar" were updated.
  • "/texture" Directory was added, which contains images for Nintendo Switch Parental Controls:
    • "IcoPctl.bntx"
    • "LogoMoon{region/language-text}.bntx", for every region/language.

NPDM

New flags bit2/bit3 were added to the flags at ACID+0xC.

Keys

Keyblob 5 is now used, instead of 4. New NCA keydata is now used as well.

See Also

System update report(s):

Nintendo Switch System Versions
1.0.0
2.0.02.1.02.2.02.3.0
3.0.03.0.13.0.2
4.0.04.0.14.1.0
5.0.05.0.15.0.25.1.0
6.0.06.0.16.1.06.2.0
7.0.07.0.1
8.0.08.0.18.1.08.1.1
9.0.09.0.19.1.09.2.0
10.0.010.0.110.0.210.0.310.0.410.1.010.1.110.2.0
11.0.011.0.1
12.0.012.0.112.0.212.0.312.1.0
13.0.013.1.013.2.013.2.1
14.0.014.1.014.1.114.1.2
15.0.015.0.1
16.0.016.0.116.0.216.0.316.1.0
17.0.017.0.1
18.0.0