<feed xmlns='http://www.w3.org/2005/Atom'>
<title>eglantine-cirakg/src/audio_core, branch nx2</title>
<subtitle>Mirror of github.com/cira0100/Eglantine-public nx2, a fork of Djihads80/Eglantine.</subtitle>
<id>https://git.cirakg.xyz/eglantine-cirakg/atom?h=nx2</id>
<link rel='self' href='https://git.cirakg.xyz/eglantine-cirakg/atom?h=nx2'/>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/'/>
<updated>2026-11-02T13:43:01+00:00</updated>
<entry>
<title>Merge nx2 into nx2-experimental</title>
<updated>2026-11-02T13:43:01+00:00</updated>
<author>
<name>kraibse</name>
<email>33869366+kraibse@users.noreply.github.com</email>
</author>
<published>2026-11-02T12:50:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=c0cb3325e22756edb65c87d33ef298349ade0ad3'/>
<id>urn:sha1:c0cb3325e22756edb65c87d33ef298349ade0ad3</id>
<content type='text'>
Resolved by area:
- audio feature_support.h: nx2's native revision handling.
- fiber.cpp: ours, which also drops the unused rewind stack.
- host_memory.cpp: ours granule bitmap and HintCold, plus nx2's
  fallocate hole punching per whole dirty granule on Linux.
- texture_cache.h: nx2's old-age eviction pass, then our Collect().
- kepler_compute.cpp: shared upscale slots, then Fortune's Weave's,
  then the Kirby Air Riders scan.
- nx2_gsv.h: ours, plus nx2's GetBufferMaxResolution and graphics
  device ids (1-based).
- nvhost_ctrl_gpu.cpp: engine support flag bits 40-44.
- lower_to_maxwell.h: ours as the base, with nx2's seven lowering
  commits applied one at a time. Second texture descriptor buffers
  are read bindless in TEX, TLD.SCR (level zero) and SUST; FSEL
  keeps its operand modifiers; TXD takes any channel mask.

lower_to_maxwell.h lowers 837 Fortune's Weave and 1183 Mario Kart
World shader dumps with the same rejects as nx2 and ours (12 and 0).

Assisted-by: Claude Sonnet 5.5 (conflict analysis and drafting)
</content>
</entry>
<entry>
<title>audio_core: accept the Switch 2 audio renderer revision</title>
<updated>2026-11-01T19:58:49+00:00</updated>
<author>
<name>duck912</name>
<email>350528965+Duck912@users.noreply.github.com</email>
</author>
<published>2026-10-31T05:45:56+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=e6c0a42d11f15e623c399d14454e5ae8e1a72942'/>
<id>urn:sha1:e6c0a42d11f15e623c399d14454e5ae8e1a72942</id>
<content type='text'>
Switch 2 titles send revision 16 with the 'REv' magic and use the
voice crossfade fields. Without them GetWorkBufferSize failed with
0xc0299 and Fire Emblem: Fortune's Weave aborted (2153-1537). Ported
from the Eden NS2 tree, keeping Eglantine's lenient revision compare.

Assisted-by: Claude Opus 5.5 (debugging, porting and drafting)
Signed-off-by: duck912 &lt;350528965+Duck912@users.noreply.github.com&gt;
</content>
</entry>
<entry>
<title>Merge remote-tracking branch 'origin/fix/nx2-audio-rev16' into test/linux-all-prs</title>
<updated>2026-11-01T18:25:55+00:00</updated>
<author>
<name>Takoroka</name>
<email>137927095+Takoroka@users.noreply.github.com</email>
</author>
<published>2026-11-01T18:25:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=f5f031f04cc2abef387403bc405134850e540c3b'/>
<id>urn:sha1:f5f031f04cc2abef387403bc405134850e540c3b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>audio: don't free an upsampler when cleaning up a circular buffer sink</title>
<updated>2026-10-31T12:53:11+00:00</updated>
<author>
<name>Takoroka</name>
<email>137927095+Takoroka@users.noreply.github.com</email>
</author>
<published>2026-10-31T12:53:11+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=df8d77511bcc1d8b6a7ef5afa6ac27a0dcdfe870'/>
<id>urn:sha1:df8d77511bcc1d8b6a7ef5afa6ac27a0dcdfe870</id>
<content type='text'>
CircularBufferSinkInfo::CleanUp read its state as a DeviceState and
freed DeviceState::upsampler_info. Only device sinks own an upsampler;
a circular buffer sink's state starts with its buffer positions, so a
game that changed or removed its circular buffer sink made the audio
service free a pointer built from those positions and crash the
emulator. Mario Tennis Fever does this during startup.
</content>
</entry>
<entry>
<title>audio_core: accept audio renderer revision 16</title>
<updated>2026-10-30T15:40:59+00:00</updated>
<author>
<name>Takoroka</name>
<email>137927095+Takoroka@users.noreply.github.com</email>
</author>
<published>2026-10-30T15:40:50+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=cdce22cd06ce4965a861a05d32d74dee612f26bf'/>
<id>urn:sha1:cdce22cd06ce4965a861a05d32d74dee612f26bf</id>
<content type='text'>
Switch 2 SDKs report audio renderer revision 16 ("REv@"; Mario Kart
World's reports 15): Nintendo Switch Sports Resort's GetWorkBufferSize
failed with InvalidRevision and the title aborted (2153-1537). Accept
revision 16 and run it with revision 15's features, and log a rejected
revision with its number.
</content>
</entry>
<entry>
<title>Fix hang on emulation stop when audio renderer outlives its manager</title>
<updated>2026-10-30T00:16:24+00:00</updated>
<author>
<name>kraibse</name>
<email>33869366+kraibse@users.noreply.github.com</email>
</author>
<published>2026-10-30T00:15:40+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=d56039ace99338293658f931a871e4dba203e3ab'/>
<id>urn:sha1:d56039ace99338293658f931a871e4dba203e3ab</id>
<content type='text'>
The Switch 2 aud:u client hands out an IAudioRendererManager the guest
may close right after opening a renderer. The Manager was owned by value
and renderers held a plain reference, so it was destroyed (stopping the
system manager thread) while the renderer lived on. System::Stop() then
waited forever on terminate_event, hanging shutdown.

- Share ownership of the audio Manager with each IAudioRenderer
- Bound the terminate_event wait in System::Stop()
- Bound the emu thread wait in MainWindow::OnEmulationStopped()

Co-Authored-By: Claude Sonnet 5.5 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Switch 2: back GPU-only regions, pace presents, interleaved split methods</title>
<updated>2026-10-28T02:28:10+00:00</updated>
<author>
<name>Takoroka</name>
<email>137927095+Takoroka@users.noreply.github.com</email>
</author>
<published>2026-10-28T02:28:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=81eaf7ccbf07bfc73553d8e752a256aa3719bcb9'/>
<id>urn:sha1:81eaf7ccbf07bfc73553d8e752a256aa3719bcb9</id>
<content type='text'>
- gpu 214 creates GPU-only memory the graphics server backs itself (title 4
  renders everything into six 300 MB regions at 0x81_0000_0000). Back each
  with application-pool pages mapped into the alias code region and map that
  for the GPU. This is what made title 4's frames appear.
- vi2 229 waits (bounded) for the presented frame's GPU fence: the reply
  reports every buffer free, so without this the game laps Eden's GPU thread
  and rewrites command memory it has not read yet.
- Split methods: keep several parked methods keyed by resume address (NVN
  interleaves command buffers) and drop them when the submission ends.
- hid 214 (per-frame vibration send) answered quietly.
- Debug aids: EDEN_NX2_WINDOW_TRACE / EDEN_NX2_RT_TRACE (render targets,
  clears, textures), EDEN_NX2_AUDIO_LEVEL (output peak), EDEN_NX2_PB_DUMP
  (command list for offline replay), parsed-entry change check.
</content>
</entry>
<entry>
<title>Switch 2: aud:u audio, REv revision tag, job-slot events, open-file limit</title>
<updated>2026-10-27T21:21:19+00:00</updated>
<author>
<name>Takoroka</name>
<email>137927095+Takoroka@users.noreply.github.com</email>
</author>
<published>2026-10-27T21:21:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=6c3a8b09811608cd13749decc4b144c9de0c5617'/>
<id>urn:sha1:6c3a8b09811608cd13749decc4b144c9de0c5617</id>
<content type='text'>
- aud:u (nn::audio::CreateUserClientSessionByHipc) command 2 returns Eden's
  IAudioRendererManager; the renderer accepts Switch 2's 'REv?' update tag by
  comparing revision numbers.
- nx2:gpu sub 211 signals the job slot in request word 17, not word 2; mapping
  jobs no longer stall once the SDK rotates slots.
- eden-cli raises the CRT open-file limit (_setmaxstdio(8192)) like the Qt
  frontend, so loose RomFS folders don't run out of handles.
- Per-mapping GPU logs moved to Debug.
</content>
</entry>
<entry>
<title>[*] Remove Fix{Static,Small}VectorADL workaround for GCC 12 (#4386)</title>
<updated>2026-10-12T20:21:17+00:00</updated>
<author>
<name>lizzie</name>
<email>lizzie@eden-emu.dev</email>
</author>
<published>2026-10-12T20:21:17+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=4dc69c06f764a235bccd01afbfc765d9ddbebc9f'/>
<id>urn:sha1:4dc69c06f764a235bccd01afbfc765d9ddbebc9f</id>
<content type='text'>
1. We demand at least, minimum, gcc 14
2. Debian stable boost uses a newer version https://packages.debian.org/trixie/libboost-all-dev, so fix isn't longer required

- [x] I have read and followed the [Contribution Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/CONTRIBUTING.md#code-contributions).
- [x] I have read and followed the [AI Policy](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/AI.md)
- [x] I have read and followed the [Coding Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/Coding.md) to the best of my ability.

-------------------

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4386
Reviewed-by: MaranBr &lt;maranbr@eden-emu.dev&gt;
Reviewed-by: crueter &lt;crueter@eden-emu.dev&gt;
</content>
</entry>
<entry>
<title>Revert "[audio] Replace libopus with FFmpeg (#4169)" (#4419)</title>
<updated>2026-09-14T12:34:24+00:00</updated>
<author>
<name>lizzie</name>
<email>lizzie@eden-emu.dev</email>
</author>
<published>2026-09-14T12:34:24+00:00</published>
<link rel='alternate' type='text/html' href='https://git.cirakg.xyz/eglantine-cirakg/commit/?id=2b4184dd2bb33da081702263d59c3eadb299e673'/>
<id>urn:sha1:2b4184dd2bb33da081702263d59c3eadb299e673</id>
<content type='text'>
This reverts commit ff8368c6066faf3962e2f77af7da4954e2ff6a43.

- [x] I have read and followed the [Contribution Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/CONTRIBUTING.md#code-contributions).
- [x] I have read and followed the [AI Policy](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/AI.md)
- [x] I have read and followed the [Coding Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/Coding.md) to the best of my ability.

-------------------

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4419
Reviewed-by: Maufeat &lt;sahyno1996@gmail.com&gt;
Reviewed-by: MaranBr &lt;maranbr@eden-emu.dev&gt;
</content>
</entry>
</feed>
