Collecting
be9fbddd5d
Merge branch 'main' into fix/compiler
2026-01-25 14:37:22 +01:00
Collecting
dcf6e4058f
fix(android): Required multiple static_cast fixes
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2026-01-25 14:36:41 +01:00
Collecting
7c14003ebd
fix(android): Double for static_cast
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2026-01-25 14:35:44 +01:00
Collecting
2b18a97e12
Merge pull request 'Fix: Resolve linker errors and improve type safety in cache GC' ( #112 ) from fix/compiler into main
...
Reviewed-on: https://git.citron-emu.org/Citron/Emulator/pulls/112
2026-01-25 13:44:42 +01:00
Collecting
6253352e1e
fix(compiler): generate the vtable within settings.cpp
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2026-01-25 13:42:55 +01:00
Collecting
f428c20bf6
fix(compiler): static_cast w/ unsigned long long to remove ambiguity
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2026-01-25 13:42:19 +01:00
Collecting
47656f1fdf
fix(compiler): static_cast w/ unsigned long long to remove ambiguity
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2026-01-25 13:41:26 +01:00
Zephyron
79afcfad28
Merge pull request 'fix/vram-leak-prevention' ( #111 ) from fix/vram-leak-prevention into main
...
Reviewed-on: https://git.citron-emu.org/Citron/Emulator/pulls/111
2026-01-25 06:44:29 +01:00
Zephyron
8eaa38540c
refactor(settings): simplify VRAM usage mode to Conservative/Aggressive
...
The removed modes added complexity without significant benefit now that
the new VRAM management system (gc_aggressiveness, vram_limit_mb)
provides finer-grained control over memory pressure.
Signed-off-by: Zephyron <zephyron@citron-emu.org >
2026-01-25 15:29:25 +10:00
Zephyron
3e2137a470
feat(video_core): implement comprehensive VRAM management system
...
Add automatic VRAM leak prevention with configurable garbage collection
to prevent device loss crashes during extended play sessions.
New Settings:
- vram_limit_mb: Configurable VRAM limit (0 = auto-detect 80%)
- gc_aggressiveness: Off/Light/Moderate/Heavy/Extreme levels
- texture_eviction_frames: Frames before texture eviction (default 2)
- buffer_eviction_frames: Frames before buffer eviction (default 5)
- sparse_texture_priority_eviction: Prioritize large sparse textures
- log_vram_usage: Enable VRAM statistics logging
Core Changes:
- Enhanced texture cache with LRU eviction and sparse texture priority
- Enhanced buffer cache with configurable eviction thresholds
- Added VRAM pressure monitoring using VK_EXT_memory_budget
- Emergency GC triggers at 90%/95% VRAM usage thresholds
Platform Support:
- Desktop: Settings in Graphics > Advanced tab
- Android: Settings in Zep Zone category
Fixes VRAM climbing steadily during gameplay until device loss.
Target: Stable VRAM usage below configured limit for 2+ hours.
Signed-off-by: Zephyron <zephyron@citron-emu.org >
2026-01-25 15:21:02 +10:00
Zephyron
44f9cb6347
fix(ssl): implement SetVerifyOption instead of stubbing it
...
Games can now properly disable SSL certificate verification by setting
option=0, which was previously ignored causing handshake failures.
Thanks to Raytwo and DogeThis (https://github.com/Raytwo/Cobalt ) for
helping debug this issue.
Signed-off-by: Zephyron <zephyron@citron-emu.org >
2026-01-24 14:46:34 +10:00
Collecting
31a2a6212d
Merge pull request 'feat(fix): Re-structure Pathing Logic for necessary additional configuration for multiple different varieties' ( #110 ) from fix/restructure-save-pathing-logic into main
...
Reviewed-on: https://git.citron-emu.org/Citron/Emulator/pulls/110
2026-01-24 03:01:36 +01:00
Collecting
a3a8e6f916
feat(add): Logic to determine base location when using Global or Default Paths
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2026-01-24 03:00:58 +01:00
Collecting
7dee5834bf
feat(add): More options including Dynamic understanding of Global & Default NAND Locations
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2026-01-24 02:59:14 +01:00
Collecting
c0914868f6
feat(add): Boolean for Initial Sync to ensure re-arm for proper syncing
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2026-01-24 02:58:20 +01:00
Collecting
d7814f6f76
feat(add): Initial Sync to fix overwriting of NAND when Configuring Settings outside of emulation
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2026-01-24 02:57:14 +01:00
Collecting
05a839423b
Merge pull request 'feat(fs): Correct save path hierarchy to prioritize mirroring and per-game paths' ( #109 ) from fix/path-ordering-for-saves into main
...
Reviewed-on: https://git.citron-emu.org/Citron/Emulator/pulls/109
2026-01-23 23:27:48 +01:00
Collecting
3bf1497300
fix(ui): Ensure Paths are properly displayed when checking paths
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2026-01-23 23:26:36 +01:00
Collecting
a819b230d0
fix(filesystem): Re-organize Path Ordering
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2026-01-23 23:25:39 +01:00
Collecting
0102d6c8d9
Merge pull request 'feat(chat): Implement robust link filtering and sanitization' ( #108 ) from fix/link-removal-chatroom into main
...
Reviewed-on: https://git.citron-emu.org/Citron/Emulator/pulls/108
2026-01-23 18:59:54 +01:00
Collecting
c22350feab
feat(multiplayer): Add Filtering for URL Logic
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2026-01-23 18:58:21 +01:00
Collecting
701d552b0e
feat(multiplayer): Add SanitizeMessage String for URL Links
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2026-01-23 18:57:34 +01:00
Collecting
5083308f8e
Merge pull request 'service: network: Fix lobby SDK crashes and performance drops in multiplayer' ( #107 ) from fix/mitigate-sdk-crash into main
...
Reviewed-on: https://git.citron-emu.org/Citron/Emulator/pulls/107
2026-01-22 05:37:18 +01:00
Collecting
44e8e2a630
fix(multiplayer): Ensure Node = 1 and not 0
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2026-01-22 05:32:45 +01:00
Collecting
2b810e766a
fix(multiplayer): Add mutable to packet_mutex
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2026-01-22 05:32:14 +01:00
Collecting
cc85173fa9
fix(multiplayer): Add sleep_for & remove yield for Stabilization
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2026-01-22 05:31:36 +01:00
Collecting
550b08335e
fix(multiplayer): Remove Socket Re-utilization
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2026-01-22 05:30:49 +01:00
Collecting
6a7fd947d5
Remove Redundant NavigateToGamedbEntry
...
Since new compatibility list is off-shored to separate repo, might as well get rid of this. Could of re-purposed for reading the listings but we'll think about it.
Signed-off-by: Collecting <collecting@noreply.localhost >
2026-01-21 10:47:54 +01:00
Collecting
e822aa41b2
Merge pull request 'feat(compatibility): Add automated compatibility reporting and remote list syncing' ( #106 ) from feat/compat-list-overhaul into main
...
Reviewed-on: https://git.citron-emu.org/Citron/Emulator/pulls/106
2026-01-21 08:45:48 +01:00
Collecting
02e7a689bd
feat(compatibility): Overhaul Compatibility Logic for GitHub Parsing
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2026-01-21 08:41:13 +01:00
Collecting
1f1fa1e215
feat(compatibility): Fix QString w/ game_name to display properly w/ issues
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2026-01-21 08:39:52 +01:00
Collecting
04552f33b9
Merge pull request 'feat(android): Permission for Read/Write/Managing External Storage Directories w/ Scoped' ( #105 ) from test-android into main
...
Reviewed-on: https://git.citron-emu.org/Citron/Emulator/pulls/105
2026-01-21 04:47:28 +01:00
Collecting
c6ca62e706
Update src/android/app/src/main/AndroidManifest.xml
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2026-01-20 10:31:07 +01:00
Zephyron
4e0078d6d4
cmake: Switch external binaries to yuzu-mirror
...
Signed-off-by: Zephyron <zephyron@citron-emu.org >
2026-01-20 16:46:09 +10:00
Zephyron
c720e354d2
service/ldn: Implement SetProtocol and SetWirelessAudioPolicy commands
...
Adds support for LDN service commands introduced in firmware 20.0.0+:
- Command 105: SetWirelessAudioPolicy (stubbed)
- Command 106: SetProtocol
This enables ACNH Update 3.0 and other games using newer SDK versions
to properly initialize LDN for local multiplayer functionality.
Signed-off-by: Zephyron <zephyron@citron-emu.org >
2026-01-19 16:29:46 +10:00
Collecting
23bb5078a7
fix(multiplayer): Z-A Connection Issues
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2026-01-18 22:39:29 +00:00
Collecting
ead238ba35
Merge pull request 'feat(add): Xenoblade Title ID for Optimizer' ( #104 ) from add/title-id-optimizer into main
...
Reviewed-on: https://git.citron-emu.org/Citron/Emulator/pulls/104
2026-01-18 04:01:12 +00:00
Collecting
78d70c6b48
add: Title ID for Optimizer
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2026-01-18 04:00:40 +00:00
Collecting
4d018eb894
add: Title ID for Optimizer
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2026-01-18 03:59:58 +00:00
Collecting
bd32690a76
revert c575341d1e
...
revert Merge pull request 'fix(multiplayer): Race Condition during Packet Discovery' (#101 ) from fix/lan_discovery_race_condition into main
Reviewed-on: https://git.citron-emu.org/Citron/Emulator/pulls/101
2026-01-18 00:01:51 +00:00
Collecting
df97c4f325
revert 47edb00351
...
revert Merge pull request 'Service: Sockets: Fix busy-waiting CPU starvation and Close/Socket race conditions' (#100 ) from fix-socket-performance-and-crashes into main
Reviewed-on: https://git.citron-emu.org/Citron/Emulator/pulls/100
2026-01-17 23:28:32 +00:00
Zephyron
d77cc3e518
chore: bump Citroen version
...
Signed-off-by: Zephyron <zephyron@citron-emu.org >
2026-01-18 00:48:31 +10:00
Collecting
c5c241aa73
Watch what you're typing next time
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2026-01-17 10:08:25 +00:00
Collecting
ad35ac85ef
Typo buddy
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2026-01-17 10:07:56 +00:00
Collecting
c7220e4c27
Update src/citron/mod_manager/mod_service.cpp
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2026-01-17 09:55:31 +00:00
Collecting
d3d7f41536
Update src/core/file_sys/patch_manager.cpp
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2026-01-17 09:54:48 +00:00
Collecting
2107ca9c95
Merge pull request 'fix(mods): Remove Unused Nx-Optimizer Title ID's' ( #103 ) from remove-title-ids into main
...
Reviewed-on: https://git.citron-emu.org/Citron/Emulator/pulls/103
2026-01-17 09:01:20 +00:00
Collecting
e0b13d9414
Remove Un-used Title ID's
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2026-01-17 09:00:46 +00:00
Collecting
a380ba4c60
Remove Un-used Title IDs
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2026-01-17 09:00:03 +00:00
Collecting
2873e3b97f
Update src/citron/configuration/configure_per_game_addons.cpp
...
Signed-off-by: Collecting <collecting@noreply.localhost >
2026-01-17 02:38:31 +00:00