Atmosphère v0.10.2 released

atmosphere.png

The new year has just begun, yet it looks like we're already on June 15th - @SciresM and ReSwitched's CFW, Atmosphère, has been updated once again! Version 0.10.2 is aimed primarily towards bug fixes and general improvements: for example, an issue preventing the CFW from booting on pre-5.0.0 has been solved and game modding is now less prone to crashes. Speaking of that last bit, fs.mitm will no longer run out of memory with LayeredFS mods for games with a large number of files, like Resident Evil 6 and Football Manager 2020 Touch for example. This change may initially slow down the game when being launched, but it will disappear once the mod has been finalized and loaded (plus, this side effect is nearly imperceptible in games with not as many files). Hbl has also seen an improvement, as you can now specify up to eight program IDs with each having their specific override keys.

Last but not least, as it's been previously announced, the hid-mitm submodule used for legacy homebrew has been deprecated and it's currently disabled by default. It can be re-enabled by setting "enable_deprecated_hid_mitm" to true in system_settings.ini, but the feature can potentially be fully removed at any point from now on.

There are also a few other miscellaneous changes and additions, including Mesosphère's (aka the CFW's project to reimplement the Switch OS' kernel) first fully working component. You can read the full official changelog below:
changelog said:
0.10.2 is Atmosphère's twenty-fifth official release.

fusee-primary was last updated in: 0.10.2.

With thanks to the @switchbrew team, Atmosphère 0.10.2 is bundled with hbl 2.3, and hbmenu 3.2.0.

The following was changed since the last release:

  • hbl configuration was made more flexible.
    • Up to eight specific program ids can now be specified to have their own override keys.
    • This allows designating both the album applet and a specific game as hbl by default as desired.
    • Configuration targeting a specific program is now mutually exclusive with override-any-app for that program.
      • This fixes unintuitive behavior when override key differed for an application specific program.
  • Loader's external content fileystem support was fixed (thanks @misson20000!).
  • KernelLdr was reimplemented.
    • This is the first step towards developing mesosphere, Atmosphere's planned reimplementation of the Switch's Kernel.
    • The typical user won't notice anything different, as there are no extensions, but a lot of groundwork was laid for future development.
  • Improvements were made to the way Atmosphere's buildsystem detects source code files.
    • This significantly reduces compilation time (saving >30 seconds) on the machine that builds official releases.
  • Certain device code was cleaned up and made more correct in fusee/sept/exosphere (thanks @hexkyz!).
  • A number of changes were made to the way fs.mitm builds images when providing a layeredfs romfs.
    • Some games (Resident Evil 6, Football Manager 2020 Touch, possibly others) have enormous numbers of files.
    • Attempting to create a layeredfs mod for these games actually caused fs.mitm to run out of memory, causing a fatal error.
    • The code that creates these images was changed to be significantly more memory efficient.
    • However, these changes also cause a significant slowdown in the romfs building code (~2-5x).
    • This introduced a noticeable stutter when launching a game, because the UI thread would block on the romfs creation.
    • To solve this, fs.mitm now lazily initializes the image in a background thread.
    • This fixes stutter issues, however some games may be slightly slower (~1-2s in the worst cases) to transition from the "loading" GIF to gameplay now.
      • Please note: the slowdown is not noticeable in the common case where games don't have tons of files (typical is ~0.1-0.2 seconds).
      • Once the image has been built, there is no further speed penalty at runtime -- only when the game is launched.
  • A number of other bugs were fixed, including:
    • Several minor logic inversions that could have caused fatal errors when modding games.
    • Atmosphere's new-ipc code did not handle "automatic" recvlist buffers correctly, so some non-libnx homebrew could crash.
    • fs.mitm now correctly mitms sdb, which makes redirection of certain system data archives work again.
      • In 0.10.0/0.10.1, changing the system font/language did not work correctly due to this.
    • A bug was fixed in process cleanup that caused the system to hang on < 5.0.0.
  • The temporary hid-mitm added in Atmosphere 0.9.0 was disabled by default.
    • Please ensure your homebrew is updated.
    • For now, users may re-enable this mitm by use of a custom setting (atmosphere!enable_deprecated_hid_mitm) to ease the transition process some.
      • As usual, edit the atmosphere section of /atmosphere/config/system_settings.ini if you wish to do so.
    • Please note: support for this setting may be removed to save memory in a future atmosphere release.
  • General system stability improvements to enhance the user's experience.
For information on the featureset supported by 0.10.0, please see the official release notes.

:arrow: Source
:download: Releases
:arrow: Discussion Thread
 
Last edited by RattletraPM,

ghjfdtg

Well-Known Member
Member
Joined
Jul 13, 2014
Messages
1,360
Trophies
1
XP
3,281
Country
Will the new version affect the Homebrew apps and games we already have? I mean would we occur any problems such as they won't work anymore?

Or is it "okay" to stay at 0.10.1 since it's already stable enough for me? :)
The hid workaround has been disabled by default now. Just update all the homebrew apps you use. In case one is not ready yet you can still enable the workaround as described in the README.
 
  • Like
Reactions: Jewtwo

Teletron1

Space Tech Engineer
Member
Joined
Jan 4, 2019
Messages
582
Trophies
0
Location
EARTH
XP
1,506
Country
United States
Hoping year 4 brings NSP installs to HDD support with 64gb game carts coming memory will start to become and issue but maybe 1tb cards drop to $100 this year the way 400 and 512 cards did in 2019 . Did they ever determine how the 1tb card melted a Switch ?
 

raphamotta

Well-Known Member
Member
Joined
Jul 12, 2013
Messages
685
Trophies
1
Age
40
XP
2,226
Country
Hoping year 4 brings NSP installs to HDD support with 64gb game carts coming memory will start to become and issue but maybe 1tb cards drop to $100 this year the way 400 and 512 cards did in 2019 . Did they ever determine how the 1tb card melted a Switch ?
I have a 400gb SD card and paid $50. Works very well with nand and emunand.
 
  • Like
Reactions: onibaku

TerminatR

Well-Known Member
Newcomer
Joined
Nov 21, 2006
Messages
96
Trophies
0
XP
978
Country
Canada
How is atmosphere not at 1.0 at this point? I feel like it saying at 0.X is just silly because it has all the necessary features a CFW should have and is stable enough for most people to use without an issue.

Many large open source projects in the homebrew realm (dont take that term as an insult, I only mean non-commercial projects) never reach 1.00 versions.

Mame is a good example of this.
 

MartianMSK

Well-Known Member
Newcomer
Joined
Jun 17, 2018
Messages
59
Trophies
0
Age
27
XP
1,825
Country
Italy
Guys I tried to set a precise title to launch, by default, to HBL (the title I chose is SNES Online)
To do so I edited the file override_config.ini on atmosphere/config_templates.
I wrote, without " ; "
[hbl_config]
program_id_0=01008D300C50C000
override_key_0=!R
override_any_app=false
override_any_app_key=R
path=atmosphere/hbl.nsp

Well, nothing changed, like if I didn't change anything. That made me presume I should copy those lines on another .ini or another folder, and... does some one know what should I do?
Thank you in advance.

Edit. I just copied the file .ini to the folder config. Smart idea, solved the problem! Thank you anyway.
 
Last edited by MartianMSK,

ScarletDreamz

[Debug Mode]
Member
Joined
Feb 16, 2015
Messages
3,967
Trophies
1
Location
/dev/sda1
XP
4,380
Country
United States
How is atmosphere not at 1.0 at this point? I feel like it saying at 0.X is just silly because it has all the necessary features a CFW should have and is stable enough for most people to use without an issue. Atmosphere hasn't been buggy for me at all. Just how big is the eventual 1.0 update going to be?
0.7 will be Atmosphère's first official release. It will be released following the resolution of the remaining 0.7 Milestone issues.

Current best estimate for 0.7's release is August, 2018.

It will support the following featureset:

  • Fusée, a custom bootloader.
    • Supports loading/customizing of arbitrary KIPs from the SD card.
    • Supports compile-time defined kernel patches on a per-firmware basis.
    • Configurable by editing BCT.ini on the SD card.
    • Atmosphère should also be launchable by the alternative hekate bootloader, for those who prefer it.
  • Exosphère, a fully-featured custom secure monitor.
    • Exosphere is a re-implementation of Nintendo's TrustZone firmware, fully replicating all of its features.
    • In addition, it has been extended to provide information on current Atmosphere API version, for homebrew wishing to make use of it.
  • Stratosphère, a set of custom system modules. This includes:
    • A loader system module.
      • Reimplementation of Nintendo's loader, fully replicating all original functionality.
      • Extended to support arbitrary redirection of executable content to the SD card.
        • Files will be preferentially loaded from /atmosphere/titles/<titleid>/exefs/, if present.
        • Files present in the original exefs a user wants to mark as not present may be "stubbed" by creating a .stub file on the SD.
        • If present, a PFS0 at /atmosphere/titles/<titleid>/exefs.nsp will fully replace the original exefs on 2.0.0+
        • Redirection will be optionally toggleable by holding down certain buttons.
      • Full support for patching NSO content is implemented.
        • All patches at paths like /atmosphere/exefs_patches/<user-defined patch name>/<Hex Build-ID for NSO to patch>.ips will be applied, allowing for easy distribution of patches supporting multiple firmare versions and/or titles.
        • Both the IPS and IPS32 formats are supported.
      • Extended to support launching content from loose executable files on the SD card, without requiring any official installation.
        • This is done by specifying FsStorageId_None on launch.
    • A service manager system module.
      • Reimplementation of Nintendo's service manager, fully replicating all original functionality.
      • Compile-time support for reintroduction of "smhax", allowing clients to optionally skip service access verification by skipping initialization.
      • Extended to allow homebrew to acquire more handles to privileged services than Nintendo natively allows.
      • Extended to add a new API for installing Man-In-The-Middle listeners for arbitrary services.
        • API can additionally be used to safely detect whether a service has been registered in a non-blocking way with no side-effects.
        • Full API documentation to come.
    • A process manager system module.
      • Reimplementation of Nintendo's process manager, fully replicating all original functionality.
      • Extended to allow homebrew to acquire handles to arbitrary processes, and thus read/modify system memory without blocking execution.
      • Extended by embedding a full, extended implementation of Nintendo's boot2 system module.
        • Title launch order has been optimized in order to grant access to the SD card faster.
        • The error-collection system module is intentionally not launched, preventing many system telemetry error reports from being generated at all.
        • Users may place their own custom sysmodules on the SD card and flag them for automatic boot2 launch by creating a /atmosphere/titles/<title ID>/boot2.flag file on their SD card.
    • A custom fs.mitm system module.
      • Uses Atmosphère's MitM API in order to provide an easy means for users to modify game content.
      • Intercepts all FS commands sent by games, with special handling for commands used to mount RomFS/DLC content to enable easy creation and distribution of game/DLC mods.
        • fs.mitm will parse the base RomFS image for a game, a RomFS image located at /atmosphere/titles/<title ID>/romfs.bin, and all loose files in /atmosphere/titles/<title ID>/romfs/, and merge them together into a single RomFS image.
          • When merging, loose files are preferred to content in the SD card romfs.bin image, and files from the SD card image are preferred to those in the base image.
      • Can additionally be used to intercept commands sent by arbitrary system titles (excepting those launched before SD card is active), by creating a /atmosphere/titles/<title ID>/fsmitm.flag file on the SD card.
    • A custom crash report system module.
      • Serves as a drop-in replacement for Nintendo's own creport system module.
      • Generates detailed, human-readable reports on system crashes, saving to /atmosphere/crash_reports/<timestamp>_<title ID>.log.
      • Because reports are not sent to the erpt sysmodule, this disables all crash report related telemetry.
  • General system stability improvements to enhance the user's experience.

Planned

There are a number of features planned for inclusion Atmosphère that won't make the cut for 0.7's release. As they are implemented, Atmosphère's release version will tick upward from 0.7 to 0.8 to 0.9, and finally 1.0.

These currently planned features include (but aren't limited to):

  • Thermosphère, a hypervisor-based emunand implementation.
  • A feature-rich debugging toolset (a component of Stratosphère).
    • A custom debug monitor system module, providing an API for debugging Switch's processes. This may not be a reimplementation of Nintendo's own debug monitor.
      • This should include a gdbstub implementation, possibly borrowing from Luma3DS's.
      • This API should be additionally usable for RAM Editing/"Cheat Engine" purposes.
    • A custom shell system module, providing an means for users to perform various RPC (with support for common/interesting functionality) on their Switch remotely. This may not be a reimplementation of Nintendo's own shell.
      • This should support client connections over both Wi-Fi and USB.
    • A custom logging system module, providing a means for other Atmosphère components (and possibly Nintendo's own system modules) to log debug output.
      • This should support logging to the SD card, over Wi-Fi, and over USB.
  • An application-level plugin system.
    • This will, ideally, work somewhat like NTR-CFW's plugin system on the 3DS, allowing users to run their own code in a game's process in their own thread.
  • An AR Code/Gameshark analog implementation, allowing for easy sharing/development of cheat codes to run on device.
  • Further extensions to existing Atmosphère components.
  • General system stability improvements to enhance the user's experience.
 

Frankbel

Well-Known Member
Member
Joined
Feb 10, 2004
Messages
262
Trophies
2
Age
46
Location
Messina
XP
2,097
Country
Italy
Planned
There are a number of features planned for inclusion Atmosphère that won't make the cut for 0.7's release. As they are implemented, Atmosphère's release version will tick upward from 0.7 to 0.8 to 0.9, and finally 1.0.
According to the plan, from 0.9 we should have got 1.0, instead of 0.10. So this plan is a bit outdated.
 

altorn

Well-Known Member
Member
Joined
Jul 15, 2007
Messages
1,070
Trophies
1
Age
35
Location
Toronto, Ontario
Website
atlaswing.zxq.net
XP
1,937
Country
Canada
How is atmosphere not at 1.0 at this point? I feel like it saying at 0.X is just silly because it has all the necessary features a CFW should have and is stable enough for most people to use without an issue. Atmosphere hasn't been buggy for me at all. Just how big is the eventual 1.0 update going to be?

because atmos is following the proper semantic versioning of opensource projects. SXOS is not.
even if they have a main roadmap established, plans can change, version milestones can increase. what's important is that dependencies are kept track of.
 
Last edited by altorn,
  • Like
Reactions: [Truth]

CheddaGuap

Well-Known Member
Newcomer
Joined
Oct 16, 2018
Messages
74
Trophies
0
XP
277
Country
United States
I think its a sysmodule that remaps any kind of input to typical switch button inputs. Something in the official firmware broke how atmosphere was handling homebrew inputs before, requiring homebrew to be slightly tweaked and recompiled for the new system. Recent releases of atmosphere included a custom hid-mitm that remapped so old homebrew could still work. However this blocks using hid-mitm for other things like controlling your Switch with an android phone, so it was only meant as a temporary measure while people updated homebrew to the new system.

Ahh ty.
 

laz305

Well-Known Member
Member
Joined
Jul 31, 2008
Messages
878
Trophies
1
XP
1,683
Country
United States
Anybody else hear of or got this bug? When I go into Nintendo settings and scroll down with the dpad atmosphere crashes but I can use the touch pad np
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    HiradeGirl @ HiradeGirl: :discuss: