1.5.1

Atmosphere-NX/Atmosphere1.5.1Mar 14, 2023by SciresM

AI Summary

This release reduces the memory footprint of the `fatal` module and adds an optional feature to mirror the Bluetooth pairing database to the SD card.

Key Highlights

  • Reduced `fatal` module memory footprint
  • Optional Bluetooth pairing database mirroring to SD card
  • General system stability improvements

New Features

  • Bluetooth pairing database mirroring
  • Reduced fatal footprint

Full Release Notes

**1.5.1** is Atmosphère's seventieth official release.

**Please be sure to update fusee when upgrading to 1.5.1**. fusee-primary no longer exists, and will not work any more.

With thanks to the @switchbrew team, Atmosphère 1.5.1 is bundled with [hbl](https://github.com/switchbrew/nx-hbloader) 2.4.3, and [hbmenu](https://github.com/switchbrew/nx-hbmenu) 3.5.1.

The following was changed since the last release:

* `fatal` was updated to reduce memory footprint.
  * Starting in 16.0.0, official `fatal` has no framebuffer or rendering logic, and instead calls other system service commands to draw the screen.
  * However, these commands aren't usable by atmosphère (too small rendering window, bad color support).
  * To reduce the relative memory footprint differential between atmosphère and official code, the framebuffer (2 MB) is now dynamically allocated when needed.
    * This will try to allocate from multiple pools (preferring System > System_NonSecure > Application).
    * This technically requires that 2 MB be available in at least one of these pools for the fatal screen to render (otherwise, a reboot-to-black-and-white-fatal will occur), but this should be a non-issue in almost all cases.
* A feature was added to optionally mirror the bluetooth pairing database to the SD card (thanks @ndeadly).
  * This allows device pairings to be automatically kept in-sync across sysmmc/all emummcs.
  * This is opt-in, and can be controlled by setting `atmosphere!enable_external_bluetooth_db = u8!0x1`.
  * When enabled, the pairing database will be synchronized to `/atmosphere/bluetooth_devices.db`.
* General system stability improvements to enhance the user's experience.

And the following was changed in 1.5.0:

* Support was added for 16.0.0
  * `mesosphère` was updated to reflect the latest official kernel behavior.
  * `ncm` was updated to reflect the latest official behavior.
  * Many FS apis were updated under the hood to reflect the latest official behavior.
  * **Please Note**: 16.0.0 made breaking changes to a number of system APIs, including in FS/NCM/Shared Font commands that some homebrew programs may use.
    * These programs may encounter strange errors, and may need to be recompiled with a libnx updated to support 16.0.0's changes to function properly.
    * If you are an impacted developer, please contact `SciresM#0524` on discord for assistance.
* A number of minor issues were fixed and improvements were made, including:
  * An issue was fixed that could cause GPIO outputs to be misconfigured under certain circumstances.
* General system stability improvements to enhance the user's experience.

For information on the featureset supported by 1.5, please see [the official release notes](https://github.com/Atmosphere-NX/Atmosphere/releases/tag/1.5.0-prerelease).