Atmosphere version 1.2.1 releases, supports Switch firmware 13.1.0

banner (1).png

Less than a day after Switch firmware 13.1.0 went live, popular custom firmware Atmosphère has already been updated to support it. The Hekate bootloader also received an update around the same time, so you may want to update that while you're updating Atmosphère. You can find links to these projects' GitHub pages below, as well as the official patch notes for Atmosphère 1.2.1.

:download: Atmosphere Download Page
:arrow: Atmosphere Discussion Thread
:download: Hekate Download Page

1.2.1 is Atmosphère's fifty-eighth official release.

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

With thanks to the @switchbrew team, Atmosphère 1.2.1 is bundled with hbl 2.4.1, and hbmenu 3.4.1.

The following was changed since the last release:

  • Support was implemented for 13.1.0.
    • mesosphère was updated to reflect the kernel behavioral changes made in 13.1.0.
      • KScheduler now issues a data memory barrier when unlocking the scheduler lock and when early-returning due to top-thread-is-current during scheduling.
    • erpt was updated to reflect the latest official behaviors.
      • The new service added in 13.0.0 ("sprofile") was revised, and the data formats it expects was changed.
        • This still appears to be (possibly(?)) untestable due to data not being transmitted yet, but I have greater confidence things will go smoothly than I did when 1.1.0 released.
  • A number of improvements were made to mesosphère, including:
    • A build target was created to build targeting the qemu virt board.
      • This facilitates writing unit tests for the kernel (and other atmosphere components) and running them under PC.
        • Please Note: Official system software will not work at all under this, and the Atmosphère project has zero interest in attempting to run official software of any kind. This is unit testing machinery, and explicitly not more than that.
      • This should hopefully allow us to have greater confidence that all of atmosphere's components work the way they're theoretically supposed to in the future.
      • Please Note: If you are a developer who is familiar with the Horizon operating system (or capable of becoming familiar), I would greatly appreciate help writing tests and improving the testing framework.
        • Please contact SciresM#0524 if you are capable and interested.
          • Really, if you are actually a developer who would like to help me get this off the ground, I would deeply appreciate it.
          • That said, if you are not a developer but want to be one, this probably isn't the best opportunity; I expect it to be highly technical.
            • Consider the ReSwitched discord's #hack-n-all channel for your educational purposes.
        • We are (at least for now) using catch2 for unit tests.
    • Almost all virtual calls in the kernel are now resolved statically.
      • This eliminates substantial virtual call overhead, and should lead to improved kernel microperformance in pretty much every function.
    • The remaining red black tree find operations which weren't using the optimized "find key" variant are now using the optimized version.
    • Custom assembly was written to improve tick-to-timespan conversion.
      • This works around gcc emitting suboptimal assembly at -Os (it emits good assembly at -O3, clang is fine at both -O3 and -Os).
    • KThread and KSession structures were updated to optimize member layout, saving 0x10 bytes per KThread/KSession object.
    • Rather than unnecessarily zero-ing all data in kernel objects only to overwrite members later, we now only initialize the members we need to in kernel object constructors.
      • This is what Nintendo was doing already.
    • A set of custom optimized atomic primitives were implemented and are used in place of std::atomic<>
      • This works around a gcc bug which downgrades specified memory order to seq_cst, and introduces clrex in places where it is appropriate.
      • This should strictly improve microperformance of many system calls.
    • An compile-time toggleable extension was added to support 40-bit physical addresses in MapRange capabilities (using currently reserved bits).
    • A number of minor bugs were fixed, including:
      • Initial cache management now better reflects official behavior.
        • This fixes an issue that caused certain hardware with cache sensitivity to produce cryptic kernel panics during boot.
      • Incorrect logic when checking thread priority capabilities was fixed to reflect official behavior.
      • The scheduler was updated to reflect latest official behavior, and a number of minor bugs involving clz/ctz were fixed.
      • Accesses to the processes local region were fixed to properly use kernel linear region, not userland pointers.
      • The cache SVCs exposed for 32-bit processes now better reflect official core mask request semantics.
      • A bug was fixed that could cause a kernel panic if SvcArbitrateLock was called on a thread with exactly one reference in the middle of handling a user-mode exception.
  • General system stability improvements to enhance the user's experience.
For information on the featureset supported by 1.2, please see the official release notes.
 

danbroken

New Member
Newbie
Joined
Oct 26, 2021
Messages
2
Trophies
0
Age
45
XP
35
Country
Brazil
Well, first I updated my untouched Stock Nand with 11.1.0 to 13.1.0 today (I did not knew that was 13.1. I was waiting for 13.0.0 because bluetooth headset support). For my luck, the devs are so fast to update. So I updated Atmosphere to 1.2.1, Hekate and Patches. At last, I updated my emuNand from 11.1.0 to 13.1.0 using TegraExplorer and DayBreak. Everthing is working good. All installed games is working. But I recommend a Emunand backup. If you use linux, use dd command to do this.
 

Ron457x2

Well-Known Member
Member
Joined
May 21, 2011
Messages
174
Trophies
0
Age
29
Location
FL, Miami
XP
200
Country
United States
Totally remove your atmosphere folder and reinstall it then.
Alright so I have re-installed this folder a couple times and nada. At least with Atmos 1.1.1 the screen shows an error, with this recent Atmos release, it's just darkness, pure darkness; except one rare occasion where the backscreen was lit up but remained black. I honestly don't know what could be causing the error upon startup. Everything including the fusee.bin file are the newest releases.

Edit: I completely replaced the whole atmos folder entirely, no merged items and... SUCCESS. I guess whatever old content(s) that were in my old atmos folder was preventing the load. Now I'm A-OK! :hrth:
 
Last edited by Ron457x2,
  • Like
Reactions: slaphappygamer

justjust_official

New Member
Newbie
Joined
Oct 27, 2021
Messages
2
Trophies
0
Age
27
XP
26
Country
United States
I updated my switch when I was button mashing to get back to the game I was playing, after I installed the new atmosphere update, I tried to boot it up, and after the startup it goes to a lit up black screen
 

Idrolitina

Well-Known Member
Member
Joined
Apr 28, 2020
Messages
120
Trophies
0
XP
415
Country
Japan
Then there is really no reason to update. All games will probably work perfectly fine until the first number in the firmware changes to 14.
Agreed! In fact, I just removed the annoying update notification with Goldleaf, set DNS and I will stay with this version until I can! Thanks for the heads-up!
 
  • Like
Reactions: vree

Montblanc

Active Member
Newcomer
Joined
Feb 19, 2011
Messages
39
Trophies
0
XP
217
Country
Italy
Well, first I updated my untouched Stock Nand with 11.1.0 to 13.1.0 today (I did not knew that was 13.1. I was waiting for 13.0.0 because bluetooth headset support). For my luck, the devs are so fast to update. So I updated Atmosphere to 1.2.1, Hekate and Patches. At last, I updated my emuNand from 11.1.0 to 13.1.0 using TegraExplorer and DayBreak. Everthing is working good. All installed games is working. But I recommend a Emunand backup. If you use linux, use dd command to do this.
I also dumped my 13.1.0 with tegraexplorer and tried to upgrade my emunand with Daybreak, but after checking that the update was valid (so I am sure it has been dumped correctly) it complained about "exfat validation failed" error code something and a missing package with a content id. It prompted me to continue but I decided not to. Did you get the same warnings and proceeded regardlessly or was it just me?
 

Site & Scene News

Popular threads in this forum

General chit-chat
Help Users
    Xdqwerty @ Xdqwerty: I'm back