[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
 

cots

Banned!
Banned
Joined
Dec 29, 2014
Messages
1,533
Trophies
0
XP
1,952
Country
United States
Does anyone know if the temporary HID mitm sysmodule is an external module if so where's it located? I rather not have 2/3 of homebrew suddenly become incompatible in the next release.
 

x65943

i can be your sega dreamcast or sega nightmarecast
Supervisor
GBAtemp Patron
Joined
Jun 23, 2014
Messages
6,230
Trophies
3
Location
ΗΠΑ
XP
26,320
Country
United States
Coincidence that AMS releases an update after SXOS updated? :Thonk:
It's pre-release

My guess is they were working out the bugs and waiting to publish until it was more stable - but quickly cobbled together what they had for release after the SX announcement - so as to not be judged as behind the scene
 
  • Like
Reactions: GuyInDogSuit

chaoskagami

G̷̘̫̍̈́̊̓̈l̴̙͔̞͠i̵̳͊ţ̸̙͇͒̓c̵̬̪̯̥̳͒͌̚h̵̹̭͛̒̊̽̚
Developer
Joined
Mar 26, 2016
Messages
1,365
Trophies
1
Location
↑↑↓↓←→←→BA
Website
github.com
XP
2,262
Country
United States
Does anyone know if the temporary HID mitm sysmodule is an external module if so where's it located? I rather not have 2/3 of homebrew suddenly become incompatible in the next release.

No. All modules that are part of atmosphere are baked into fusee-secondary at build-time, iirc.

If you want an external hid-mitm you'll have to build it from source and dump it in a contents folder with boot2.flag.
 
Last edited by chaoskagami,

SciresM

Developer
Developer
Joined
Mar 21, 2014
Messages
973
Trophies
3
Age
33
XP
8,292
Country
United States
It's pre-release

My guess is they were working out the bugs and waiting to publish until it was more stable - but quickly cobbled together what they had for release after the SX announcement - so as to not be judged as behind the scene

No, I announced this pre-release plan in a livestream on Wednesday (when I gave an ETA of today/tomorrow).

The pre-release thing is just so that people don't complain if I replace the release binary to fix any bugs that might be found.
 

bbcali89

Well-Known Member
Member
Joined
Sep 16, 2013
Messages
418
Trophies
0
Age
35
Location
Chicago
XP
755
Country
United States
@SciresM do I just replace the files on atmosphere folder? How does upgrading atmosphere work? Thank you! - people are also saying hekate needs to be updated is that true?
 

Canna

Bad Ass Poisonous Mushroom
Member
Joined
Jul 14, 2018
Messages
1,396
Trophies
0
Age
36
Location
AZ
XP
1,539
Country
United States
Thanks for releasing,Atmosphere team
Pre-release so we should expect bugs and errors right.
I appreciate the continued work.
 

TheZander

1337
Member
Joined
Feb 1, 2008
Messages
2,136
Trophies
2
Location
Level 7
XP
3,860
Country
United States
I don't know any stuff but could someone explain what it means to have code that becomes faster and easier to manage? Like the basis that code management goes by? What makes code fast like the building of atmosphere or the running of it is faster?


Either way congrats to the team and keep it up and screw the jerks.
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
  • No one is chatting at the moment.
  • The Real Jdbye @ The Real Jdbye:
    the vram is one advantage when it comes to AI but ends up being slower even with that and really AI is the only use case that needs more than 12gb vram right now
  • Psionic Roshambo @ Psionic Roshambo:
    Interesting lol
  • Psionic Roshambo @ Psionic Roshambo:
    I think I watched a video where two games at 4K where eating just over 16GB of RAM and it's the one case where the 7900XT and XTX pulled ahead (minus RTX of course)
  • Psionic Roshambo @ Psionic Roshambo:
    So my opinion is that they could age a bit better in the future, and maybe AMD will continue improving them via drivers like they tend to do. No guarantee there but they have done it in the past. Just a feeling I have.
  • The Real Jdbye @ The Real Jdbye:
    cyberpunk at 4k without DLSS/fidelityfx *might* exceed 12gb
    +1
  • The Real Jdbye @ The Real Jdbye:
    but that game barely runs at native 4k
  • Psionic Roshambo @ Psionic Roshambo:
    I think it was some newer games and probably poorly optimized PS4 or PS5 ports
  • The Real Jdbye @ The Real Jdbye:
    they definitely will age better but i feel dlss might outweigh that since it looks about as good as native resolution and much less demanding
    +1
  • Psionic Roshambo @ Psionic Roshambo:
    When I played Cyberpunk on my old 2080 Ti it sucked lol
  • The Real Jdbye @ The Real Jdbye:
    AMD could introduce something comparable to DLSS but nvidia's got a lot more experience with that
  • The Real Jdbye @ The Real Jdbye:
    least amd 7xxx has tensor cores which the previous generations didn't so there is the potential for AI upscaling
  • Psionic Roshambo @ Psionic Roshambo:
    They have FSR or whatever it's called and yeah it's still not great
  • The Real Jdbye @ The Real Jdbye:
    so AMD seem to finally be starting to take AI seriously
  • Psionic Roshambo @ Psionic Roshambo:
    Oh yeah those new 8000 CPUs have AI cores built in that's interesting
  • Psionic Roshambo @ Psionic Roshambo:
    Maybe they plan on offloading to the CPU?
  • Psionic Roshambo @ Psionic Roshambo:
    Would be kinda cool to have the CPU and GPU working in random more
  • Psionic Roshambo @ Psionic Roshambo:
    Tandem even
  • The Real Jdbye @ The Real Jdbye:
    i think i heard of that, it's a good idea, shouldn't need a dedicated GPU just to run a LLM or video upscaling
  • The Real Jdbye @ The Real Jdbye:
    even the nvidia shield tv has AI video upscaling
  • The Real Jdbye @ The Real Jdbye:
    LLMs can be run on cpu anyway but it's quite slow
  • BakerMan @ BakerMan:
    Have you ever been beaten by a wet spaghetti noodle by your girlfriend because she has a twin sister, and you got confused and fucked her dad?
  • Psionic Roshambo @ Psionic Roshambo:
    I had a girlfriend who had a twin sister and they would mess with me constantly.... Until one chipped a tooth then finally I could tell them apart.... Lol
  • Psionic Roshambo @ Psionic Roshambo:
    They would have the same hair style the same clothes everything... Really messed with my head lol
  • Psionic Roshambo @ Psionic Roshambo:
    @The Real Jdbye, I could see AMD trying to pull off the CPU GPU tandem thing, would be a way to maybe close the gap a bit with Nvidia. Plus it would kinda put Nvidia at a future disadvantage since Nvidia can't make X86/64 CPUs? Intel and AMD licensing issues... I wonder how much that has held back innovation.
    Psionic Roshambo @ Psionic Roshambo: @The Real Jdbye, I could see AMD trying to pull off the CPU GPU tandem thing, would be a way to...