github chiaki-ng/akira v0.2.3

latest releases: v0.6.5, v0.6.4-rc.6, v0.6.4-rc.5...
10 months ago

Here's a list of changes (again), this release brings significant changes. This should be stable enough for use - I do not see myself changing much from this point on

Increases system stability.

Settings changes:

  • NAT detection now reports mapping and filtering types separately. Note that this may still not be accurate because networking is... messy, there may be other things affecting remote connectivity but I dont know too much about that.
  • Similar to chiaki-ng, use always-online-stun to find a STUN server to detect, but specifically fetch RFC 5780 STUN servers for filtering detection as we are not connecting to it, purely for the debug network menu.
  • Separate resolution/FPS/bitrate settings for local vs remote connections as users might want to play at a higher bitrate on local connections
  • Added holepunch retry toggle because on my mobile network tests it takes 3-4 tries to connect. if enabled, remote will retry holepunch automatically with backoff intervals.
  • Added power user menu with bitrate limit unlock, up to 30k bitrate for 1080p and 25k bitrate for 720p. If you have ever used android, you will know how to find this. I really dont recommend you use this because I see no reason to as theres no real tangible benefit (imo), but I understand some people have overclocked switches and a tendency to just push as much as they can. all my tests on a switch v1 (launch switch, so not even mariko) suggests that with some tweaks I am about to push I can go to 22k bitrate with 1080p@60 max, and its still playable at 25k with some frame losses. I have not tested 720p as to how far I can push it yet and may increase bitrates in the future for 720p. I really do not reccomend you use 30k bitrate either as I get random crashes on it. the most I've gone is 27k bitrate.
  • Added benchmark tool to see how pmull compares to table lookup on the switch
  • Hides sensitive secrets by default in view for both settings & config tab, press button to reveal
  • enable experimental ghash using pmull by default

Dockerfile changes:

  • Fixed Dockerfile protobuf compatibility with chiaki-ng nanopb, just use python3-protobuf

Streaming changes (libchiaki)

  • Complete GCM hardware acceleration - ghash now uses ARM NEON PMULL intrinsics with Karatsuba multiplication, on top of the inline ASM being used for the AES bits in libnx
  • Left table mode in as a fallback. Both will be compiled, but chiaki session takes a flag at runtime to decide whether to use pmull or table path.
  • Added experimental crypto with default = true to use this path by default.
  • just reuse the AES context rather than recreate each time.
  • Show the ghash mode in stats debug overlay

I tested the above under the following scenarios

  • launch switch so old that it can be softmodded.
  • Local wifi network at home, wired ps5. Wired to a mikrotik rb5009 that is bridge to unifi APs for WLAN.
  • Swing around Brooklyn in Spiderman 2, playing through the first chapter on Pandora in Avatar.
  • I will add one thing - on the og chiaki-ng for switch, I struggled to play 1080p@60 with 15k bitrate on the exact same setup as I would see constant glitches due to takion filling up. that problem is gone for me. The issue lies with the way I compiled mbedtls, which was wrong and did not include the aesce extension. This particular hash function is ran by takion on every single packet that comes in, which I suspect choked up the entire packet streaming pipeline.

2025123013221200-7CBCCE282CD36658AB28471FB4791102

Your mileage may vary

Don't miss a new akira release

NewReleases is sending notifications on new releases.