Commit graph

2440 commits

Author SHA1 Message Date
lizzie
f45e09d929 proper virtual base, remove uneeded sysconf things 2026-06-28 16:08:57 +00:00
lizzie
cec781d8de ryujinx was never ported to PS4 2026-06-28 16:08:57 +00:00
lizzie
bd342a8d6d fix shit 2026-06-28 16:08:57 +00:00
lizzie
f8d2665e86 native ps4 audio sink 2026-06-28 16:08:57 +00:00
lizzie
a40333c797 fix virtual buffers 2026-06-28 16:08:56 +00:00
lizzie
6488c4653f let it rip 2026-06-28 16:08:56 +00:00
lizzie
b9a18aba0f leave pending param package stuff 2026-06-28 16:08:56 +00:00
lizzie
5e76615895 restore protection 2026-06-28 16:08:56 +00:00
lizzie
4ffdf9d856 immediately terminate in OO, use 2MB swap handler 2026-06-28 16:08:56 +00:00
lizzie
430fb8d7e8 reduce fiber sizes 2026-06-28 16:08:56 +00:00
lizzie
aa826b1890 use dmem for swap buffers, restore full jit sizes 2026-06-28 16:08:56 +00:00
lizzie
c9efb1e7a8 use newer sdl2, make bigger stack 2026-06-28 16:08:56 +00:00
lizzie
016a9349e6 update loicense 2026-06-28 16:08:56 +00:00
lizzie
a4532c67d0 reduce arm codeisze, force 16x4 pages again 2026-06-28 16:08:55 +00:00
lizzie
61a16c861e extra buffer precautions to not exhaust DMem, format better + perf history nerf 2026-06-28 16:08:55 +00:00
lizzie
9a90477659 fibers that don't immediately crash?!!?!?!!? 2026-06-28 16:08:55 +00:00
lizzie
3dc1b79e72 fix alloc failures 2026-06-28 16:08:55 +00:00
lizzie
8817df49f1 fix for crashes on TLS due to openorbis being W E I R D 2026-06-28 16:08:55 +00:00
lizzie
2af7b58eb9 opengl bullshit 2026-06-28 16:08:54 +00:00
lizzie
c8516a3b4d proper memswap mechanism 2026-06-28 16:08:54 +00:00
lizzie
3e8e758bd6 more stupid stuff 2026-06-28 16:08:54 +00:00
lizzie
2b0bb1a74a fixes 4 stuff 2026-06-28 16:08:54 +00:00
lizzie
0fea2c80bd swap handling 2026-06-28 16:08:54 +00:00
lizzie
fbece45495 license 2026-06-28 16:08:54 +00:00
lizzie
1a52702def evil haxx 2026-06-28 16:08:54 +00:00
lizzie
ace56fbc6c extra ps4 defs 2026-06-28 16:08:54 +00:00
lizzie
8f8c004ce8 force NO fastmem 2026-06-28 16:08:54 +00:00
lizzie
20e8d6b05e more memory shit 2026-06-28 16:08:54 +00:00
lizzie
fd130b0db5 MAP_SYSTEM 2026-06-28 16:08:53 +00:00
lizzie
bc0cac9627 (likely) fixes for virtual dmem? 2026-06-28 16:08:53 +00:00
lizzie
02a8e8fa22 disable fastmem 2026-06-28 16:08:53 +00:00
lizzie
1921dfd449 try to fix the paths 2026-06-28 16:08:53 +00:00
lizzie
8c77a3f84f sysconf stub cuz crash(?) + some stderrp stuff 2026-06-28 16:08:53 +00:00
lizzie
07a5068662 merge 2026-06-28 16:08:53 +00:00
lizzie
0b10c15654 merge 2026-06-28 16:08:53 +00:00
lizzie
d8a8169eb2
[hle/bsd] do not use rust-result wannabe Expected in functions (#4075)
Some checks are pending
tx-src / sources (push) Waiting to run
Check Strings / check-strings (push) Waiting to run
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
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
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
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
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
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
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
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
xbzk
78a1cd0533
[hle] support passing arguments to homebrew applications (#4013)
Homebrew (.NRO) program args support

Adds a 'program_args' setting and delivers it to NRO homebrews via libnx's homebrew ABI. NROs previously had no way to receive CLI flags (e.g. NZ:P's -noglsl).

Setting: program_args, Category::System, startup-only.
Surfaced in Qt + Android Debug sections.

NRO loader: builds a 4-entry 'ConfigEntry' table + argv at the data segment tail; prepends 'homebrew ' so user args land at argv[1]; scans for 'svc #7' to use as LR. Drops the stale NSO-style argdata append.

KProcess: stores loader-provided guest addresses; 'Run' switches to the homebrew entry (x0=config_ptr, x1=-1, lr=svc7) and patches the real MainThreadHandle into the ConfigEntry slot. Legacy NSO path unchanged.

Tested on NZP — args reach 'argv' correctly.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4013
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-06-15 03:02:33 +02:00
lizzie
60e1032771
[qt] fix various crashes due to invalid/corrupted/outdated settings (#4070)
lots of "out of index" errors :)

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

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4070
Reviewed-by: crueter <crueter@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-06-14 20:48:24 +02:00
lizzie
4edb1ac6c5
[common/fs] create XDG_DATA_{HOME,CACHE,CONFIG}_HOME if we are the first application to ever be ran or they dont exist for a reason (#4087)
samu will be happy

basically this handles the edge case where either:
a) eden is the first application ever ran (i.e no config dirs made yet)
b) user didnt have them
c) user is trying to run on a sandbox appimage or whatever bs

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

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4087
Reviewed-by: crueter <crueter@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-06-12 23:55:09 +02:00
crueter
661346503b
[net] Add support for future macOS PGO shenanigans (#4050)
Rudimentary tests showed that using PGO on macOS *does* have an
appreciable impact on performance. So we're probably going to introduce
it soon.

Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4050
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
2026-06-05 02:24:26 +02:00
lizzie
ce9c7c196d
[cmake] fix OpenSSL not using <openssl/cert.h> when applicable because it tries to use the system one instead of being explicitly linked (#4053)
should fix hiccups with self-built OpenSSL

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

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4053
Reviewed-by: crueter <crueter@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-06-04 19:39:09 +02:00
lizzie
89199f4d27
[*] basic in-house cpp linting (#4039)
- add `#pragma once` to remainder files
- "correcter" defines (ANDROID), see https://groups.google.com/g/android-ndk/c/cf9_f1SLXls
- extra miscelly fixups

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

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4039
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: crueter <crueter@eden-emu.dev>
2026-06-04 05:49:07 +02:00