[UPDATE] Atmosphère version 0.10.1 now available

atmosphere.png

EDIT: Atmosphère 0.10.1 has been released, which is a proper stable version and it includes the same feature set as 0.10.0, plus a good number of bug fixes & internal improvements. Because this update has been released earlier than expected, the temporary HID mitm submodule's removal has been postponed to the next version.

Yep, it's that time of the year again, and I'm not referring to the holiday season: @SciresM and ReSwitched's Atmosphère CFW has received yet another update! Version 0.10.0 can now be grabbed from the project's official repo and it features a pretty hefty changelog. However, before we proceed with the highlights, there is a quick disclaimer that needs to be made: this version is currently marked as a pre-release and, while the build will transition to a stable release after enough time has passed without bug reports, you may encounter issues and other unexpected behaviours. If any bugs will be discovered during the aforementioned testing period, the devs will try to look for a fix and update the binaries whenever needed - so be sure to check the repo periodically if something doesn't seem to work as it should.

With that out of the way, let's start with a feature most of you likely expected: Atmosphère is now compatible with the Switch's latest firmware, aka 9.1.0. So, whether your console got accidentally updated or you always like to stay on the newest possible OFW, you've now got your back covered! But it doesn't end there, as the Stratosphère refactor that had been started way back in version 0.9.2 has now been completed, bringing benefits both to devs and users alike: on one hand, libstratosphere's new IPC-related code is faster and easier to manage, and on the other, the CFW as a whole uses much less system memory to run, allowing you to load a higher number of sysmodules at the same time! Also, Atmosphère's configuration system has received some changes, as it now includes in code its default values, thus no longer requiring config files if you wish to use the built-in settings. This completely removes the need to bundle any default config files in the releases' ZIP archives, so you no longer have to worry about updates overwriting your own custom settings! Speaking of which, HBL override keys have been improved too, as you can now specify different keys (and states) for programs and apps. The default override keys have also changed - applications will only be overridden with HBL if R is held, while the same will happen with the album applet if R is not held.

A few paths have been moved around in 0.10.0 as well. The process override directory (used, for example, for LayeredFS mods amongst other things) has changed from /atmosphere/titles/ to /atmosphere/contents/. However, you do not need to touch anything yourself, as the CFW will scan for the old directory and rename it for you if found. On the other hand, Atmosphère now expects all config files to be in /atmosphere/config/ - as stated before, you don't need any config files if you're okay with the default settings, but you will need to move them over if that's not the case (plus, loader.ini has been renamed to override_config.ini).

Finally, it has also been announced that the temporary HID mitm sysmodule introduced in v0.9.4 will be removed in the CFW's next point release (0.10.1) [NOTE: this has since been postponed to 0.10.2, see the edit at the beginning of the article]. This will further free memory available to custom sysmodules and let you mitm HID without issues, but it will also break homebrew that had been compiled with old libnx versions due to internal changes with OFW >= 9.0.0. Make sure that whichever homebrew you use has been updated to avoid any future issues!

There's much, much more in this release, like increasing the default amount of memory reserved to applets, allowing homebrew access to the PMU registers and a ton of bug fixes! Here is the full changelog:
changelog said:
0.10.1 is Atmosphère's twenty-fourth official release.

fusee-primary was last updated in: 0.10.0.

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

The following was changed since the last release:

  • A bug was fixed that caused memory reallocation to the system pool to work improperly on firmware 5.0.0 and above.
    • Atmosphere was always trying to deallocate memory away from the applet pool and towards the system pool.
      • The intent of this is to facilitate running more custom sysmodules/atmosphere binaries.
    • However, while memory was always successfully taken away from the applet pool, on 5.0.0+ granting it to the system pool did not work for technical reasons.
      • If you are interested in the technical details, talk to SciresM.
    • This has now been fixed by adding new kernel patches, and memory is correctly granted to the system pool as intended.
  • Atmosphere's library system has been overhauled:
    • libstratosphere's repository has been rebranded, more generally, to "Atmosphere-libs".
      • In addition to libstratosphere, a new general library for not-stratosphere-specific code has been added.
        • This is currently named libvapours.
      • In the future, kernel functionality will be available as libmesosphere.
    • The build system for stratosphere system modules has been similarly overhauled.
  • The boot system module is now loaded into non-secure memory.
    • This helps somewhat to prevent fragmentation of the system memory heap.
  • A number of other bugs were fixed, including:
    • A bug was fixed that could cause memory corruption when redirecting certain Romfs content.
    • A bug was fixed that could cause an infinite loop when redirecting certain Romfs content.
    • A bug was fixed that could cause certain NROs to fail to load.
      • This caused the latest version of Super Smash Bros to display "An error has occurred" on launch.
    • A bug was fixed that caused input/output array sizes for certain circumstances to be calculated incorrectly.
      • This caused cheats to fail to function properly.
    • C++ exception code is now more thoroughly removed from stratosphere executables.
      • This saves a minor amount of memory.
    • A number of minor logic inversions were fixed in libstratosphere.
      • These did not affect any code currently used by released Atmosphere binaries.
  • Please note: Because this update is releasing so soon after 0.10.0, the removal of the temporary hid-mitm has been postponed to 0.10.2.
    • Please ensure your homebrew is updated.
  • Random number generation now uses TinyMT instead of XorShift.

  • General system stability improvements to enhance the user's experience.
0.10.0 is Atmosphère's twenty-third official release.

fusee-primary was last updated in: 0.10.0.

With thanks to the @switchbrew team, Atmosphère 0.10.0 is bundled with hbl 2.2, and hbmenu 3.1.1.

  • Please note: Atmosphère 0.10.0 is currently in pre-release.
    • If any bugs are reported while Atmosphère is in pre-release, they will be fixed and the build will be updated.
    • 0.10.0 will transition to release after a short amount of time has passed without pressing bug reports.
The following was changed since the last release:

  • Support was added for 9.1.0
    • Please note: The temporary hid-mitm added in Atmosphere 0.9.x will be removed in Atmosphere 0.10.1.
      • Please ensure your homebrew is updated.
  • The Stratosphere rewrite was completed.
    • libstratosphere was rewritten as part of Stratosphere's refactor.
      • Code responsible for providing and managing IPC services was greatly improved.
        • The new code is significantly more accurate (it is bug-for-bug compatible with Nintendo's code), and significantly faster.
    • ams.mitm was rewritten as part of Stratosphere's refactor.
      • Saves redirected to the SD card are now separated for sysmmc vs emummc.
      • Please note: If you find any bugs, please report them so they can be fixed.
  • Thanks to the rewrite, Atmosphere now uses significantly less memory.
    • Roughly 10 additional megabytes are now available for custom system modules to use.
    • This means you can potentially run more custom system modules simultaneously.
      • If system modules are incompatible, please ask their authors to reduce their memory footprints.
  • Atmosphere's configuration layout has had major changes.
    • Configuration now lives inside /atmosphere/config/.
    • Atmosphere code now knows what default values should be, and includes them in code.
      • It is no longer an error if configuration inis are not present.
    • Correspondingly, Atmosphere no longer distributes default configuration inis.
      • Templates are provided in /atmosphere/config_templates.
    • loader.ini was renamed to override_config.ini.
    • This fixes the longstanding problem that atmosphere updates overwrote user configuration when extracted.
  • Atmosphere's process override layout was changed.
    • Atmosphere now uses the /atmosphere/contents directory, instead of /atmosphere/titles.
      • This goes along with a refactoring to remove all reference to "title id" from code, as Nintendo does not use the term.
    • To make this transition easier, a temporary functionality has been added that migrates folders to the new directory.
      • When booting into 0.10.0, Atmosphere will rename /atmosphere/titles/<program id> to /atmosphere/contents/<program id>.
        • This functionality may or may not be removed in some future update.
      • This should solve any transition difficulties for the typical user.
      • Please make sure that any future mods you install extract to the correct directory.
  • Support for configuring override keys for hbl was improved.
    • The key used to override applications versus a specific program can now be different.
      • The key to override a specific program can be managed via override_key.
      • The key to override any app can be managed via override_any_app_key.
    • Default override behavior was changed.
      • By default, atmosphere will now override the album applet with hbl unless R is held.
      • By default, atmosphere will now override any application with hbl only if R is held.
  • The default amount of applet memory reserved has been slightly increased.
    • This allows the profile selector applet to work by default in applet mode.
  • The way process override status is captured was changed.
    • Process override keys are now captured exactly once, when the process is created.
      • This fixes the longstanding issue where letting go of the override button partway into the process launch could cause problems.
    • The Mitm API was changed to pass around override status.
      • Mitm services now know what keys were held when the client was created, as well as whether the client is HBL/should override contents.
    • An extension was added to pm:info to allow querying a process's override status.
  • Thanks to process override capture improvements, hbl html behavior has been greatly improved.
    • Web applets launched by hbl will now always see the /atmosphere/hbl_html filesystem
  • Support was added to exosphere for enabling usermode access to the PMU registers.
    • This can be controlled via exosphere!enable_user_pmu_access in BCT.ini.
  • An enormous number of minor bugs were fixed.
    • dmnt's cheat VM had a fix for an inversion in opcode behavior.
    • An issue was fixed in fs.mitm's management of domain object IDs that could lead to system corruption in rare cases.
    • The Mitm API no longer silently fails when attempting to handle commands passing C descriptors.
      • On previous atmosphere versions, certain commands to FS would silently fail due to this...
        • No users reported any visible errors, but it was definitely a problem behind the scenes.
      • These commands are now handled correctly.
    • Atmosphere can now display a fatal error screen significantly earlier in the boot process, if things go wrong early on.
    • The temporary hid mitm will no longer sometimes cause games to fail to detect input.
    • Mitm Domain object ID management no longer desynchronizes from the host process.
    • An issue was fixed that could cause service acquisition to hang forever if certain sm commands were called in a precise order.
    • An off-by-one was fixed that could cause memory corruption in server memory management.
    • ... and too many more bugs fixed to reasonably list them all :)
  • 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
 

Lacius

Well-Known Member
Member
Joined
May 11, 2008
Messages
18,099
Trophies
3
XP
18,338
Country
United States
Untethered warmboot is also auto-boot :P.
Yeah, maybe on like 1.0.0 (as it's super old, buggy and weird), but I don't think it'll happen on 3.0.x either.

just gotta wait for pk1ldrhax
  1. An untethered warmboot exploit isn't defined as something that auto-boots; it's an exploit that doesn't require the device to be plugged into a computer, dongle, etc. (i.e. it's not tethered to another device). It also doesn't auto-boot. An example would be Haxchi.
  2. A tethered coldboot exploit is one that auto-boots but requires another device. An example would be fusee-gelee.
  3. A tethered warmboot exploit doesn't auto-boot and requires a device.
  4. An untethered coldboot exploit auto-boots and doesn't require another device. CBHC is a good example.
 

ZachyCatGames

Well-Known Member
Member
Joined
Jun 19, 2018
Messages
3,398
Trophies
1
Location
Hell
XP
4,209
Country
United States
  1. An untethered warmboot exploit isn't defined as something that auto-boots; it's an exploit that doesn't require the device to be plugged into a computer, dongle, etc. (i.e. it's not tethered to another device). It also doesn't auto-boot. An example would be Haxchi.
  2. A tethered coldboot exploit is one that auto-boots but requires another device. An example would be fusee-gelee.
  3. A tethered warmboot exploit doesn't auto-boot and requires a device.
  4. An untethered coldboot exploit auto-boots and doesn't require another device. CBHC is a good example.
It can be auto-booted though. The process would likely be something along the lines of this:
Boot system ———> at some point the sysmodule save bug is triggered ———> smhax & whatever ———> Use Dormez Vous warmboot hax to reboot to a payload
That is literally auto-boot warmboot hax.
 

spotanjo3

Well-Known Member
Member
Joined
Nov 6, 2002
Messages
11,145
Trophies
3
XP
6,205
Country
United States
Atmosphère 0.10.1 is out. No more pre-release and it is fully release.

0.10.1 is Atmosphère's twenty-fourth official release.

fusee-primary was last updated in: 0.10.0.

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

The following was changed since the last release:

  • A bug was fixed that caused memory reallocation to the system pool to work improperly on firmware 5.0.0 and above.
    • Atmosphere was always trying to deallocate memory away from the applet pool and towards the system pool.
      • The intent of this is to facilitate running more custom sysmodules/atmosphere binaries.
    • However, while memory was always successfully taken away from the applet pool, on 5.0.0+ granting it to the system pool did not work for technical reasons.
      • If you are interested in the technical details, talk to SciresM.
    • This has now been fixed by adding new kernel patches, and memory is correctly granted to the system pool as intended.
  • Atmosphere's library system has been overhauled:
    • libstratosphere's repository has been rebranded, more generally, to "Atmosphere-libs".
      • In addition to libstratosphere, a new general library for not-stratosphere-specific code has been added.
        • This is currently named libvapours.
      • In the future, kernel functionality will be available as libmesosphere.
    • The build system for stratosphere system modules has been similarly overhauled.
  • The boot system module is now loaded into non-secure memory.
    • This helps somewhat to prevent fragmentation of the system memory heap.
  • A number of other bugs were fixed, including:
    • A bug was fixed that could cause memory corruption when redirecting certain Romfs content.
    • A bug was fixed that could cause an infinite loop when redirecting certain Romfs content.
    • A bug was fixed that could cause certain NROs to fail to load.
      • This caused the latest version of Super Smash Bros to display "An error has occurred" on launch.
    • A bug was fixed that caused input/output array sizes for certain circumstances to be calculated incorrectly.
      • This caused cheats to fail to function properly.
    • C++ exception code is now more thoroughly removed from stratosphere executables.
      • This saves a minor amount of memory.
    • A number of minor logic inversions were fixed in libstratosphere.
      • These did not affect any code currently used by released Atmosphere binaries.
  • Please note: Because this update is releasing so soon after 0.10.0, the removal of the temporary hid-mitm has been postponed to 0.10.2.
    • Please ensure your homebrew is updated.
  • Random number generation now uses TinyMT instead of XorShift.

  • General system stability improvements to enhance the user's experience.

https://github.com/Atmosphere-NX/Atmosphere/releases/tag/0.10.1
 
  • Like
Reactions: Mogga666

Lacius

Well-Known Member
Member
Joined
May 11, 2008
Messages
18,099
Trophies
3
XP
18,338
Country
United States
It can be auto-booted though. The process would likely be something along the lines of this:
Boot system ———> at some point the sysmodule save bug is triggered ———> smhax & whatever ———> Use Dormez Vous warmboot hax to reboot to a payload
That is literally auto-boot warmboot hax.
If the sysmodule save bug is triggered upon a cold boot, regardless of what's loaded before it, it's a coldboot exploit. Otherwise, we would have to call CBHC a warmboot exploit, and that's not particularly useful.
 

smf

Well-Known Member
Member
Joined
Feb 23, 2009
Messages
6,640
Trophies
2
XP
5,854
Country
United Kingdom
If the sysmodule save bug is triggered upon a cold boot, regardless of what's loaded before it, it's a coldboot exploit. Otherwise, we would have to call CBHC a warmboot exploit, and that's not particularly useful.

Yeah, the point during the coldboot that an exploit is triggered is largely irrelevant. If you can find a really early exploit then that is preferable, but you work with what you have.

You should be able to lend your console to someone who has no idea about exploits who can power it up without doing anything special and it still has the exploit.
 
Last edited by smf,

ZachyCatGames

Well-Known Member
Member
Joined
Jun 19, 2018
Messages
3,398
Trophies
1
Location
Hell
XP
4,209
Country
United States
If the sysmodule save bug is triggered upon a cold boot, regardless of what's loaded before it, it's a coldboot exploit. Otherwise, we would have to call CBHC a warmboot exploit, and that's not particularly useful.
Yeah, the point during the coldboot that an exploit is triggered is largely irrelevant. If you can find a really early exploit then that is preferable, but you work with what you have.

You should be able to lend your console to someone who has no idea about exploits who can power it up without doing anything special and it still has the exploit.
 

Condemned87

Well-Known Member
Newcomer
Joined
Sep 27, 2018
Messages
65
Trophies
0
Age
44
XP
585
Country
Germany
Im now on 9.1.0, nut atmosphere 0.10.1 is not working anymore. I always get the error 2162-0002 after Nintendo Switch bootlogo. I can Boot into ofw without an issue. Can someone help please?
 

strider009

Member
Newcomer
Joined
Apr 20, 2014
Messages
14
Trophies
0
XP
657
Country
United States
Just some feedback - since this article originally covered the beta and now “updated” to include the final it is now a very confusing read. Would of been clearer as separate 2 posts IMO

EDIT: Atmosphère 0.10.1 has been released, which is a proper stable version and it includes the same feature set as 0.10.0, plus a good number of bug fixes & internal improvements. Because this update has been released earlier than expected, the temporary HID mitm submodule's removal has been postponed to the next version.

Yep, it's that time of the year again, and I'm not referring to the holiday season: @SciresM and ReSwitched's Atmosphère CFW has received yet another update! Version 0.10.0 can now be grabbed from the project's official repo and it features a pretty hefty changelog. However, before we proceed with the highlights, there is a quick disclaimer that needs to be made: this version is currently marked as a pre-release and, while the build will transition to a stable release after enough time has passed without bug reports, you may encounter issues and other unexpected behaviours. If any bugs will be discovered during the aforementioned testing period, the devs will try to look for a fix and update the binaries whenever needed - so be sure to check the repo periodically if something doesn't seem to work as it should.

With that out of the way, let's start with a feature most of you likely expected: Atmosphère is now compatible with the Switch's latest firmware, aka 9.1.0. So, whether your console got accidentally updated or you always like to stay on the newest possible OFW, you've now got your back covered! But it doesn't end there, as the Stratosphère refactor that had been started way back in version 0.9.2 has now been completed, bringing benefits both to devs and users alike: on one hand, libstratosphere's new IPC-related code is faster and easier to manage, and on the other, the CFW as a whole uses much less system memory to run, allowing you to load a higher number of sysmodules at the same time! Also, Atmosphère's configuration system has received some changes, as it now includes in code its default values, thus no longer requiring config files if you wish to use the built-in settings. This completely removes the need to bundle any default config files in the releases' ZIP archives, so you no longer have to worry about updates overwriting your own custom settings! Speaking of which, HBL override keys have been improved too, as you can now specify different keys (and states) for programs and apps. The default override keys have also changed - applications will only be overridden with HBL if R is held, while the same will happen with the album applet if R is not held.

A few paths have been moved around in 0.10.0 as well. The process override directory (used, for example, for LayeredFS mods amongst other things) has changed from /atmosphere/titles/ to /atmosphere/contents/. However, you do not need to touch anything yourself, as the CFW will scan for the old directory and rename it for you if found. On the other hand, Atmosphère now expects all config files to be in /atmosphere/config/ - as stated before, you don't need any config files if you're okay with the default settings, but you will need to move them over if that's not the case (plus, loader.ini has been renamed to override_config.ini).

Finally, it has also been announced that the temporary HID mitm sysmodule introduced in v0.9.4 will be removed in the CFW's next point release (0.10.1) [NOTE: this has since been postponed to 0.10.2, see the edit at the beginning of the article]. This will further free memory available to custom sysmodules and let you mitm HID without issues, but it will also break homebrew that had been compiled with old libnx versions due to internal changes with OFW >= 9.0.0. Make sure that whichever homebrew you use has been updated to avoid any future issues!

There's much, much more in this release, like increasing the default amount of memory reserved to applets, allowing homebrew access to the PMU registers and a ton of bug fixes! Here is the full changelog:


:arrow: Source
:download: Releases
:arrow: Discussion Thread
 

smf

Well-Known Member
Member
Joined
Feb 23, 2009
Messages
6,640
Trophies
2
XP
5,854
Country
United Kingdom
Like I said above, that narrow use of the word isn't particularly useful, and we'd have to rename CBHC.

Yeah, saying that it depends on whether the OS has loaded is arbitrary and not helpful. When an OS is a rather grey term.

It makes more sense to explain it from the point of view of the user, because that is what users care about.

So coldboot means that the exploit is applied at power on, warm boot means it requires the user to do something that reboots.

CFW is flashed to the device, it will be exploited at coldboot.
 
Last edited by smf,

ZachyCatGames

Well-Known Member
Member
Joined
Jun 19, 2018
Messages
3,398
Trophies
1
Location
Hell
XP
4,209
Country
United States
Like I said above, that narrow use of the word isn't particularly useful, and we'd have to rename CBHC.
Ok, I’ll provide context then, that statement was actually (partially) made in response to me saying this thing was coldboot



(Also this theoretical exploit would take place long after trustzone and even the kernel are loaded)
 
Last edited by ZachyCatGames,

Lacius

Well-Known Member
Member
Joined
May 11, 2008
Messages
18,099
Trophies
3
XP
18,338
Country
United States
Ok, I’ll provide context then, that statement was made in response to me saying this thing was coldboot


In short, I disagree, and it's not how the terms are generally used. I also think, candidly, it's silly to call fusee-gelee untethered. You can see my post above for how the terms are popularly used (including, historically, by SciresM). In a nutshell, (un)tethered refers to the need for an external device like a computer or dongle, and coldboot/warmboot refers to the ability to run CFW after, literally, a coldboot. Anything else is a less efficient way of communicating the important information above.

If you want to continue this conversation, let's do it over PM or in a separate thread.
 
Last edited by Lacius,

Gazhel

Member
Newcomer
Joined
Aug 19, 2018
Messages
13
Trophies
0
Age
40
XP
305
Country
Australia
Forgive my pleb question all

Obviously good software development never ceases so long as there is a need. Atmosphere and other CFW will continue to build upon what they've already developed for quite a while, adding new features, fixing bugs etc.

emuNAND (or whatever it's called with the switch) has been released, which allows us to go online safely provided your Switch's NAND isn't tainted. Games work, we can run emulators and the list goes on.

What else at it's core does Atmosphere and ReiNX need to actually achieve besides bug fixes and smaller "Hey, wouldn't this be neat" features?

Cheers
 

Gabsbroni

Member
Newcomer
Joined
Jul 22, 2019
Messages
16
Trophies
0
Age
31
XP
262
Country
Brazil
After install this 0.10.1 version my Breath of the Wild save file keeps some cheats (inf heart, inf stamina, 9999 rupees, etc) always turned on, even if I turn it off on the edizon. Anybody knows what is happening?
I've never used it on that particular game
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    realtimesave @ realtimesave: I have it in my hands