Commit graph

27288 commits

Author SHA1 Message Date
5bbb9eba32
oops
Some checks failed
eden-build / linux (push) Has been cancelled
eden-build / android (push) Has been cancelled
eden-build / windows (msvc) (push) Has been cancelled
eden-build / source (push) Has been cancelled
Build Application and Make Release / source (push) Successful in 4m3s
Build Application and Make Release / linux (push) Successful in 24m35s
Build Application and Make Release / android (push) Successful in 14m56s
Build Application and Make Release / windows (msvc) (push) Successful in 54m9s
Build Application and Make Release / create_release (push) Successful in 4m5s
Signed-off-by: swurl <swurl@swurl.xyz>
2025-05-10 13:37:27 -04:00
863b0e9e86
fix translations
Some checks failed
eden-build / source (push) Has been cancelled
eden-build / windows (msvc) (push) Has been cancelled
eden-build / linux (push) Has been cancelled
eden-build / android (push) Has been cancelled
Build Application and Make Release / linux (push) Has been cancelled
Build Application and Make Release / android (push) Has been cancelled
Build Application and Make Release / create_release (push) Has been cancelled
Build Application and Make Release / windows (msvc) (push) Has been cancelled
Build Application and Make Release / source (push) Has been cancelled
Signed-off-by: swurl <swurl@swurl.xyz>
2025-05-10 13:34:25 -04:00
3956cfb1af Update README.md
Some checks failed
eden-build / windows (msvc) (push) Waiting to run
eden-build / linux (push) Waiting to run
eden-build / android (push) Waiting to run
eden-build / source (push) Has been cancelled
Signed-off-by: JPikachu <jpikachu.eden@gmail.com>
2025-05-10 16:53:03 +00:00
7970edc8f6 use version in appimage
Some checks failed
Build Application and Make Release / source (push) Has been cancelled
Build Application and Make Release / linux (push) Has been cancelled
Build Application and Make Release / android (push) Has been cancelled
Build Application and Make Release / create_release (push) Has been cancelled
Build Application and Make Release / windows (msvc) (push) Has been cancelled
Signed-off-by: swurl <swurl@swurl.xyz>
2025-05-10 11:49:25 -04:00
28d2b06380 Options for Data Migration (#95)
Copy, move, or link

Co-authored-by: KeatonTheBot <onikeaton@gmail.com>
Signed-off-by: swurl <swurl@swurl.xyz>

Reviewed-on: #95
Co-authored-by: swurl <swurl@swurl.xyz>
Co-committed-by: swurl <swurl@swurl.xyz>
2025-05-10 15:40:15 +00:00
09c72e9f98 update translate (#100)
Co-authored-by: Pavel Barabanov <pavelbarabanov94@gmail.com>
Reviewed-on: #100
Co-authored-by: swurl <swurl@swurl.xyz>
Co-committed-by: swurl <swurl@swurl.xyz>
2025-05-10 15:39:35 +00:00
be552c37a1 ui/overlay: Fix enhanced frame pacing naming and disable frameskip for now. (#99)
Signed-off-by: swurl <swurl@swurl.xyz>
2025-05-10 11:38:06 -04:00
Pavel Barabanov
bc649965ee Translation of new features (Android) 2025-05-10 12:19:44 +03:00
Maran Br
8f5a65bdb0 Fixes second controller not detected in DKTF and possibly other games 2025-05-09 14:20:53 +00:00
aa333e6fb1 Vulkan 1.4 and New Extensions (#93)
- Add descriptor_indexing, VIDS, provoking_vertex
- Fix up EDS
- Implement VK 1.4

Co-authored-by: JPikachu <jpikachu.eden@gmail.com>
Reviewed-on: #93
Co-authored-by: swurl <swurl@swurl.xyz>
Co-committed-by: swurl <swurl@swurl.xyz>
2025-05-09 14:19:51 +00:00
d75dc79f26 Some fixes before Release (#92)
Co-authored-by: MrPurple666 <antoniosacramento666@gmail.com>
Reviewed-on: #92
2025-05-08 23:03:52 +00:00
f786802b9b User Data Migration from Citron, Sudachi, and Yuzu (#91)
Includes citron, sudachi, yuzu

currently broken, because the eden dir is always made early?

Signed-off-by: swurl <swurl@swurl.xyz>

Reviewed-on: #91
Co-authored-by: swurl <swurl@swurl.xyz>
Co-committed-by: swurl <swurl@swurl.xyz>
2025-05-08 22:16:07 +00:00
d659d6f5b4 Runtime option for flushing logs by line (#90)
Signed-off-by: swurl <swurl@swurl.xyz>
Reviewed-on: #90
Co-authored-by: swurl <swurl@swurl.xyz>
Co-committed-by: swurl <swurl@swurl.xyz>
2025-05-08 06:20:20 +00:00
c2c7b2ad8a release workflow (#87)
Signed-off-by: swurl <swurl@swurl.xyz>
Reviewed-on: #87
Co-authored-by: swurl <swurl@swurl.xyz>
Co-committed-by: swurl <swurl@swurl.xyz>
2025-05-08 06:19:58 +00:00
4661909f4c Firmware 20.0.0 Initial Implementation & Android: Uninstall Firmware Button
Co-authored-by: Pavel Barabanov <pavelbarabanov94@gmail.com>
Reviewed-on: #89
Co-authored-by: crueter <crueter@noreply.localhost>
Co-committed-by: crueter <crueter@noreply.localhost>
2025-05-07 20:15:25 +00:00
668bcb94db Android: A few fixes
- Fix icon size
- Change some description strings

Reviewed-on: #88
Co-authored-by: Briar <205427297+icy-briar@users.noreply.github.com>
Co-committed-by: Briar <205427297+icy-briar@users.noreply.github.com>
2025-05-07 18:21:57 +00:00
49c6b1a66a Fix bAd commit revert 2025-05-06 17:59:19 -07:00
6156a69f9d Update FFmpeg: (#84)
Update: 9c1294eadd → 62e1c44263
Reviewed-on: #84

Thanks JPikachu for caring about this.
Co-authored-by: JPikachu <jpikachu.eden@gmail.com>
Co-committed-by: JPikachu <jpikachu.eden@gmail.com>
2025-05-06 17:59:19 -07:00
82c89b7bc3 revert 8390c7dff7
revert Add rasterizer_accelerated (#79)

Credit: Antique - [Sudachi] Dev (https://sudachi.emuplace.app/)
2025-05-06 17:59:19 -07:00
c8e2accf55 Add rasterizer_accelerated (#79)
Credit: Antique - [Sudachi] Dev (https://sudachi.emuplace.app/)
Reviewed-on: #79
Co-authored-by: JPikachu <jpikachu@noreply.localhost>
Co-committed-by: JPikachu <jpikachu@noreply.localhost>
2025-05-06 17:58:48 -07:00
b01e20414f Readd Revert Problematic Commits 2025-05-04 08:24:54 +00:00
4181b53e19 revert Remove problematic commits
revert Remove problematic commits
2025-05-04 08:17:03 +00:00
MrPurple666
b689d74bc9 Remove problematic commits 2025-05-03 16:01:11 -03:00
54c3c4503a android: Add initial frontend for LAN network rooms (#76)
Reviewed-on: #76
Co-authored-by: Briar <205427297+icy-briar@users.noreply.github.com>
Co-committed-by: Briar <205427297+icy-briar@users.noreply.github.com>
2025-05-03 17:53:09 +00:00
Pavel Barabanov
d9eea0dc72 renamed SetTouchScreenOutputRanges to SetTouchScreenOutputRanges [20.0.0+] 2025-05-03 06:26:24 +03:00
Pavel Barabanov
d55e400c7c started adding services for firmware 20.0.0 without implementation 2025-05-03 06:15:23 +03:00
559eb0a488 renderer_vulkan: Use raw surface handles and improve release logic (#75)
Should fix or at least lessen the crashes when leaving runtime emulation on both Android / PC
Also, may have improved the time required to leave the game

Reviewed-on: #75
Co-authored-by: Briar <205427297+icy-briar@users.noreply.github.com>
Co-committed-by: Briar <205427297+icy-briar@users.noreply.github.com>
2025-05-02 18:42:58 +00:00
cb8f449dca Add LRU toggle in Android settings (#72)
Reviewed-on: #72
2025-05-01 07:23:15 +00:00
20f2e4dffd Revert "Add more audio logging to pinpoint issues better"
This reverts commit b75251742c.
2025-04-30 18:21:01 -07:00
b75251742c Add more audio logging to pinpoint issues better 2025-04-30 18:01:26 -07:00
MrPurple666
7bd606bece Merge https://git.eden-emu.dev/eden-emu/eden 2025-04-30 16:19:06 -03:00
MrPurple666
bb2f527b16 Use a different approach for the LRU toggle 2025-04-30 16:11:15 -03:00
MrPurple666
b5bec371ae Add toggle for LRU 2025-04-30 04:05:45 -03:00
MrPurple666
4cf41673ba Fix some issues in RAII 2025-04-30 03:57:11 -03:00
8599c47fe0 service: sm/kernel/loader: Implement QueryPointerBufferSize, automatic pointer buffer sizing, and SM service improvements
This commit introduces multiple improvements to IPC handling and system management services, enhancing game compatibility and emulator stability.

--- 1. Fully Implemented QueryPointerBufferSize Service:
- Exposes the per-process IPC pointer buffer size through `QueryPointerBufferSize` instead of returning stubbed values.
- Added `m_pointer_buffer_size` field to `KProcess`, initialized with a safe default (0x8000).
- Introduced getter and setter methods (`GetPointerBufferSize()` / `SetPointerBufferSize()`).
- Registered new handler in `sm_controller` for handling QueryPointerBufferSize requests.
- Ensures accurate buffer size reporting for games relying on this service.

--- 2. Automatic Pointer Buffer Sizing Per-Game:
- Automatically determines heap size by parsing `main.npdm` from the game’s ExeFS:
  - Heap size > 1 GiB → pointer buffer size set to `0x10000`.
  - Heap size > 512 MiB → pointer buffer size set to `0xC000`.
  - Otherwise, defaults to `0x8000`.
- Gracefully handles missing or malformed `main.npdm` by falling back to default settings.
- Automatically configures pointer buffer size during `AppLoader_NCA::Load`.
- Added logging for heap size detection and buffer size configuration for easier debugging.

--- 3. SM Service Improvements:
- Added full implementation of `QueryPointerBufferSize` within the SM service framework.
- Cleaned up stubbed methods and ensured correct domain handling.
- Registered new service commands (e.g., `SetPointerBufferSize` and `QueryPointerBufferSize`) in `sm_controller`.
- Improved session handling with proper conversion to domain objects where necessary.

--- Benefits:
- Greatly improves compatibility with games that require larger IPC pointer buffers
- Eliminates the need for manual per-game pointer buffer overrides.
- More accurate emulation of Switch system services, improving stability for both commercial titles and homebrew.
- Provides cleaner logging for easier debugging and maintenance.
- Future-proofs IPC handling for upcoming titles with higher memory demands.

--- Additional Notes:
- Default pointer buffer size remains 0x8000 for smaller titles or if heap size cannot be determined.
- Falls back to safe defaults without affecting overall emulator performance.
- All new service calls properly registered and integrated without breaking existing functionality.
2025-04-30 06:35:22 +00:00
e57b12d020 vulkan_device: Fully disable dynamic state extensions/features when dyna_state = 0
If the user selects dynamic state = 0, force-disable all Vulkan dynamic state extensions and related struct fields.
This ensures compatibility with drivers and simplifies shader pipeline logic.

Also logs all removals for clarity.
2025-04-30 06:34:49 +00:00
04578ac5b6 fix syntax
Signed-off-by: swurl <swurl@swurl.xyz>
2025-04-30 06:34:49 +00:00
6abdda8072 vulkan_device: Remove must_emulate_scaled_formats = false for all Qualcomm and Arm processes 2025-04-30 06:34:49 +00:00
0de8f866db vulkan_device: Dynamically control scaled format emulation based on dynamic state setting fixing the "0" option
If the setting dyna_state is set to 0 (dynamic state disabled), must_emulate_scaled_formats is forced "true" for proper rendering.
If dyna_state is set to 1, 2, or 3 (dynamic state enabled), must_emulate_scaled_formats is forced "false" for proper dyna-state use.

This change applies globally after all device-specific quirks and is logged clearly at boot for easier debugging.
2025-04-30 06:34:49 +00:00
e4e27ef86b implement: New API for Multiplayer Support 2025-04-30 06:34:25 +00:00
Pavel Barabanov
37a508c3ba Add USE AUTO STUB to Android 2025-04-30 03:00:46 +03:00
Pavel Barabanov
56e619c872 Remove the stub for GetCradleFwVersion 2025-04-30 02:52:04 +03:00
MrPurple666
449a2497ea Initial MMO implementation
MMO (Multithreaded Memory Operations)
2025-04-28 16:44:35 -03:00
MrPurple666
4e7f6ef694 Better FastMemcpy and FastMemset
Use 16-byte copy paths
2025-04-28 16:44:21 -03:00
MrPurple666
476e0fe432 Use 4MB cache size instead of 1MB 2025-04-28 16:38:44 -03:00
MrPurple666
0b35e89ab9 Some RAII fixes 2025-04-28 16:27:54 -03:00
MrPurple666
a58799aca7 Initial RAII implementation 2025-04-28 16:27:42 -03:00
MrPurple666
abc7e71ecd Replace std::memcpy/memset with intrinsics on known sizes 2025-04-28 16:27:30 -03:00
MrPurple666
b695ca5a2a Revert some wip changes 2025-04-28 16:14:42 -03:00
808276b48a Dynamic State Fixes (#57)
- Forcefully disabled dynamic state extensions if Vulkan reports that
  the device doesn't support it (need to update UI for this)
- Adds some more supported state 3 extensions
- Adds back stencil reinterpretation
- default to 0 on Android and 1 on desktop

Signed-off-by: swurl <swurl@swurl.xyz>

Reviewed-on: #57
Co-authored-by: swurl <swurl@swurl.xyz>
Co-committed-by: swurl <swurl@swurl.xyz>
2025-04-27 17:07:49 -04:00