Commit Graph

28775 Commits

Author SHA1 Message Date
lizzie bcfab23498 force services into guest process and singlecore option 2026-06-27 14:38:25 +00:00
lizzie 27ab01fd1d add filter options 2026-06-27 14:38:25 +00:00
lizzie de6e0ffd4c --null-renderer 2026-06-27 14:38:25 +00:00
lizzie 6e32151d9c emscripten friendly sdl loop 2026-06-27 14:38:25 +00:00
lizzie 518971f4eb fixup make program 2026-06-27 14:38:25 +00:00
lizzie 46433279af fixup caveats + add miniserver 2026-06-27 14:38:25 +00:00
lizzie 47822d1606 dont make the browser hang 2026-06-27 14:38:25 +00:00
lizzie 8462bd501e 10gb of ram 2026-06-27 14:38:25 +00:00
lizzie 11280e18d3 small writeup of wasm 2026-06-27 14:38:25 +00:00
lizzie e5fd0b8ef5 fix openssl 2026-06-27 14:38:25 +00:00
lizzie e8246f42b2 proper jthread support 2026-06-27 14:38:25 +00:00
lizzie d8cf5caeac fix wasm flags 2026-06-27 14:38:25 +00:00
lizzie 219920fbd0 disable JIT service 2026-06-27 14:38:25 +00:00
lizzie 5acadadaa2 emscripten can't memfd 2026-06-27 14:38:25 +00:00
lizzie 7bf1ed8ce6 emscripten doesnt have arc4random but wasi does? 2026-06-27 14:38:25 +00:00
lizzie 4b3b735486 fix non existant pthread funcs 2026-06-27 14:38:24 +00:00
lizzie 4a891bee92 initial wasm support 2026-06-27 14:38:22 +00:00
lizzie e7a9c4af3e ok fixup but better with bool returns 2026-06-27 14:37:17 +00:00
lizzie 936e5b56eb Use managarm special fastmem fallback 2026-06-27 14:37:17 +00:00
lizzie d8a8169eb2 [hle/bsd] do not use rust-result wannabe Expected in functions (#4075)
rust has Result<T,E> but we don't really need that in c++, also the header just sucks, objectively

Signed-off-by: lizzie lizzie@eden-emu.dev

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4075
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Reviewed-by: crueter <crueter@eden-emu.dev>
2026-06-27 08:50:24 +02:00
lizzie 81c6e56713 [core/am] ban y2k domain to make Civ7 boot web-appletless (#3868)
Signed-off-by: lizzie <lizzie@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3868
Reviewed-by: Maufeat <sahyno1996@gmail.com>
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Reviewed-by: crueter <crueter@eden-emu.dev>
2026-06-27 08:46:18 +02:00
MaranBr b4b41ee62c [buffer_cache] Add option to control GPU buffer readback (#4126)
Added an option to control the GPU buffer readback, as it causes issues if the hardware cannot keep up with the additional workload.

Some games require this to render certain effects properly.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4126
2026-06-27 08:38:04 +02:00
simply0001 0d6a2158f0 [maxwell_3d] append inline index draw streams in bulk (#4083)
Inline index draws arrive as a batch but were processed one word at a time, so each index ran through the full per-method path and got appended a byte at a time.
Handle the whole batch in one pass instead, updating state once and appending all the indices together. Replay shadow control still goes word by word since it has to reload each one.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4083
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-06-27 02:52:59 +02:00
xbzk 09b6b3b71e xbzk/gpu-logging_qt-controls_android-fix (#4018)
5af7771f83-Bugfix: Made gpu_log_level global-only (was per-game switchable). Fixed Android non-determinism where a per-game profile silently overrode the global to Off and trapped GPULogger::Initialize() in a dead state, making shader dumps fail invisibly. Android per-game UI now hides the whole GPU logging block; Qt UI is untouched (global-only anyway).

bf4aabe8ab-Refactor/Cleanup: Removed gpu_logging_enabled master toggle as redundant with gpu_log_level == Off. Introduced GPU::Logging::IsActive() helper, replaced 14 call sites across vk_*.cpp. Refactored LogShaderCompilation() to be text-only and extracted SPIR-V dumping into a standalone GPU::Logging::DumpSpirvShader() free function. No singleton dependency, gated only by gpu_log_shader_dumps. Now gpu_log_level and gpu_log_shader_dumps are fully orthogonal. Cleaned up Android (BooleanSetting, SettingsItem, presenter, 7 locale string files).

865a1c5027-Refactor: Renamed dump_shaders → dump_guest_shaders to disambiguate from gpu_log_shader_dumps. Updated Qt label to "Dump Guest (Maxwell) Shaders" and rewrote the tooltip to mention .ash, the DumpDir/shaders/ location, and nvdisasm.

7cab456fdf-Feature: Added Qt UI control for GPU log level in the Logging session. Added gpu_log_shader_dumps checkbox to the Graphics column right below dump_guest_shaders.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4018
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-06-27 02:52:13 +02:00
simply0001 629ebf1bde [video_core/maxwell3d] compute macro param address on demand (#4067)
GetMacroAddress only reads a couple of indices per macro, but ProcessMacro was
then building a full std::vector GPUVAddr> with one push_back per parameter word
every submission. macro_segments already holds base, count per chunk, so
GetMacroAddress can just walk it instead, drops the per-word loop, a
.clear(), and a vector member.

Also makes it so it returns on the first match in the macro dispatch instead of running every
std::get_if check.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4067
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
2026-06-26 04:15:31 +02:00
crueter c993bc01a4 [cmake] Update CPMUtil (#4123)
Notable changes

- Single cpmfile
- version/min_version/git_version have been fixed and replaced with
  version and min_version
- Docs rewrite
- Legacy options are gone
- Fixed update/version commands
- Added patch creation functionality

Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4123
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-06-26 02:22:04 +02:00
lizzie 6bdb03d8ac [common/virtual_buffer] Fix Windows on Snapdragon 7C realizing virtual pages before they're needed (#4128)
This should fix Windows devices with low RAM like 4GB, or anything lower than 8GB.

Signed-off-by: lizzie <lizzie@eden-emu.dev>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4128
Reviewed-by: Maufeat <sahyno1996@gmail.com>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-06-25 00:11:36 +02:00
Eden CI 599ab16288 [dist, android] Update translations from Transifex for Jun 23 (#4121)
Automatic translation update for Jun 23

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4121
2026-06-24 01:43:13 +02:00
Eden CI 30a42c5a6a [dist, android] Update translations from Transifex for Jun 20 (#4114)
Automatic translation update for Jun 20

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4114
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-06-23 10:48:02 +02:00
lizzie 3aa0d46259 [video_core, hle] remove redundant parent references in system structs (#3908)
reworked a bit to remove references of parent objects and instead pass as arguments to methods to prevent useless reloads

Signed-off-by: lizzie <lizzie@eden-emu.dev>
Co-authored-by: maufeat <sahyno1996@gmail.com>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3908
Reviewed-by: Maufeat <sahyno1996@gmail.com>
Reviewed-by: crueter <crueter@eden-emu.dev>
2026-06-23 06:31:25 +02:00
lizzie f8facda35f [vk] Prevent OOM due to increased staging buffer on *nix (#4116)
*nix drivers for NVIDIA doesn't seem to like the increased size.
Windows is fine with it however.

Signed-off-by: lizzie <lizzie@eden-emu.dev>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4116
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-06-23 01:48:11 +02:00
crueter 39be450fa3 [desktop] Add basic carousel view (#4112)
Adds a basic carousel view, or essentially a horizontal list a la Android/Qt Quick.

Lacks a lot of niceties like autoscroll, smooth shifts, etc. Will work on those later

Also fixed a bug introduced recently that capped game icon size to 8 at the low end, breaking the None option

Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4112
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: Shinmegumi <shinmegumi@eden-emu.dev>
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
2026-06-22 21:04:47 +02:00
MaranBr 68aaea6085 [buffer_cache] Refactor buffer synchronization to use bounding-box download region (#4094)
Implement bounding-box buffer synchronization to minimize downloads and preserve GPU-modified regions during uploads.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4094
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Reviewed-by: Shinmegumi <shinmegumi@eden-emu.dev>
2026-06-22 17:05:59 +02:00
MaranBr ba608d2b57 [video_core] Add in-flight flush throttling to prevent CPU/GPU desync (#4085)
Prevent the CPU from getting too far ahead of the GPU by limiting pending flushes.

This fixes graphical issues in games that rely on better CPU and GPU synchronization in the Scheduler, such as the flickering bug inside shrines in The Legend of Zelda: Tears of the Kingdom.

This is enabled when the GPU is in Accurate mode.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4085
Reviewed-by: crueter <crueter@eden-emu.dev>
Reviewed-by: Shinmegumi <shinmegumi@eden-emu.dev>
2026-06-22 17:05:18 +02:00
MaranBr c22f57bc4e [video_core] Improve StagingBufferPool stream allocation (#4101)
This fixes (I really hope so) the random graphical corruption issue that can occur in Mario Kart 8 Deluxe and possibly other games as well.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4101
Reviewed-by: crueter <crueter@eden-emu.dev>
Reviewed-by: Shinmegumi <shinmegumi@eden-emu.dev>
2026-06-22 17:04:52 +02:00
Eden CI 7b97ec4594 [dist, android] Update translations from Transifex for Jun 16 (#4102)
Automatic translation update for Jun 16

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4102
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-06-20 02:16:46 +02:00
crueter e63b248e54 [ci] Fix update-deps workflow (again) (#4110)
Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4110
2026-06-20 00:58:02 +02:00
lizzie 97a8470b12 [android] fix 'clear per game shader cache' not accounting for new cache (#4109)
fixes android which I didn't account for initially
oops!

Signed-off-by: lizzie <lizzie@eden-emu.dev>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4109
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: crueter <crueter@eden-emu.dev>
2026-06-19 23:42:16 +02:00
crueter 102d254530 [desktop] Clean up game list code, fix external watcher crash, and fix macOS flickering (#4106)
- Remove unnecessary icon update code (the UI reloads this stuff anyways); test on Windows please
- Cleaned up a bunch of duplicated/unused code within the game list
- Fix the game list constantly reloading on macOS
  * When you reconstruct the entire directory list on the watcher the directoryChanged signal fires on macOS--seems like a behavioral change that occurred somewhere in the 6.8 release cycle--and it would enter an infinite loop very quickly
  * To fix this, only the differences between the current and old watch list are accounted for on both ends.
  * Since this bug is now fixed, macOS uses Qt 6.11.1 now. Should theoretically improve our situation.
- Fix the external content watcher crashing; the worker would attempt to read files that didn't exist without any bounds since its cache was still pointing to that file.

This supersedes and replaces #4099.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4106
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-06-19 22:55:29 +02:00
crueter 7c0e993b5b [*] Fix compilation on fmt 12.2.0 (#4107)
Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4107
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-06-19 22:50:46 +02:00
BoiledElectricity ce14fc91fb [game_list] fix crash and flashing from the directory watcher (#4099)
So the game list watcher could rebuild the content providers
(CreateFactories) while the populate worker was still scanning them, and
the worker would walk a torn-down RegisteredCache and segfault in
OpenFileOrDirectoryConcat. Fixed by stopping and joining the worker
before rebuilding.

On macOS the watcher also re-armed itself every populate. Re-adding the
same paths makes QFileSystemWatcher re-emit directoryChanged (the
FSEvent comes in async, so the blockSignals guard misses it), so it just
kept refreshing and the list flashed forever. Now it only re-arms when
the watched dirs actually changed.

Also null-guarded OpenFileOrDirectoryConcat so a torn-down cache cant
null-deref there.

Related: https://github.com/eden-emulator/Issue-Reports/issues/336
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4099
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-06-16 16:20:02 +02:00
omardotdev c27266c4cd [qt] fix configure_debug; use a better method of getting multiple setting values (#4092)
uses `QString::number(Settings::values.serial_battery.GetValue())` instead of `QString::fromStdString(std::to_string(Settings::values.serial_battery.GetValue())));` on two different setting options

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4092
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Reviewed-by: Shinmegumi <shinmegumi@eden-emu.dev>
2026-06-16 16:16:12 +02:00
crueter 02eaf3c5a7 [cmake, docs] Reorganize CMakeModules directory and add GentooCross toolchain (#4088)
Lightly inspired by my earlier toolchain and writeup from the PowerPC
PR.

Closes #3793

Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4088
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-06-16 16:15:49 +02:00
lizzie c8c61a12c3 [dynarmic, MacroHLE] Fix crashes on W^X systems (#4090)
should fix crashes on:
- NetBSD
- SELinux
- OpenBSD
- other W^X systems
- some person trying to be funny with W^X on their system even if they dont have to

perf impact should be minimal

Signed-off-by: lizzie <lizzie@eden-emu.dev>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4090
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: Maufeat <sahyno1996@gmail.com>
2026-06-15 22:06:14 +02:00
lizzie b05463ee19 [fs] use XDG_CACHE_HOME for shader caches (#4093)
makes it so the shader cache goes properly in `XDG_CACHE_HOME`.

SOME people have it set to point to `/tmp` AND as a ramdisk, if they can do that they probably would want their shader caches to be there as well and wouldnt mind the extra hit from invalidations on reboot.

afterall, its a cache, not some holy data that needs to be kept at all costs.

Signed-off-by: lizzie <lizzie@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4093
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: Maufeat <sahyno1996@gmail.com>
2026-06-15 22:05:53 +02:00
lizzie 561adac0af [common] fallback to VirtualBuffer if we can't use file mappings (#4005)
fixes:
- windows 8.1
- windows 7
- managarm
- openorbis

Signed-off-by: lizzie lizzie@eden-emu.dev

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4005
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: Maufeat <sahyno1996@gmail.com>
2026-06-15 22:05:42 +02:00
lizzie 62ef8b15fd [video_core] correct not-quite-correct PTE_kind enumeration (#4077)
should now be more align with actual values/enums :)
trivial change

Signed-off-by: lizzie <lizzie@eden-emu.dev>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4077
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: Maufeat <sahyno1996@gmail.com>
2026-06-15 22:05:18 +02:00
lizzie 8e9513cb5f [service/ro] Fix too many plugin.nro not being loaded for SSBU (#3982)
Good fix or absolute trash?

For me it seems like an OK balance, better would be fully dynamic; but I believe 256 is a reasonable limit?

Signed-off-by: lizzie <lizzie@eden-emu.dev>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3982
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: Maufeat <sahyno1996@gmail.com>
2026-06-15 21:59:53 +02:00
lizzie 950e0f82fb [hle/sm] implement sm:AtmosphereHasService (#3771)
should make a few more homebrew boot :)

Signed-off-by: lizzie <lizzie@eden-emu.dev>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3771
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: Maufeat <sahyno1996@gmail.com>
2026-06-15 21:56:22 +02:00
lizzie 74a6607f8e [fs] do not early abort on IterateDirEntries{Recursively} (#4100)
should fix some issues with some NAS setups
where people have their games on a NAS and they
try to access it but for some reason some file
just doesnt load, instead of aborting early we continue
for the rest of the files in the directory

Signed-off-by: lizzie <lizzie@eden-emu.dev>

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4100
Reviewed-by: Shinmegumi <shinmegumi@eden-emu.dev>
Reviewed-by: Maufeat <sahyno1996@gmail.com>
2026-06-15 21:31:20 +02:00