Commit graph

763 commits

Author SHA1 Message Date
lizzie
745a12b3d1 add hash 2026-03-08 23:07:07 +00:00
lizzie
33d140fa7b fixup shit 2026-03-08 23:07:04 +00:00
lizzie
cdb0e97239 use newer sdl2, make bigger stack 2026-03-08 23:06:54 +00:00
lizzie
d23fa2142d mark codeblocks as noexcept 2026-03-08 23:06:54 +00:00
lizzie
b35a34e41c fix ps4/orbis 2026-03-08 23:06:54 +00:00
lizzie
921c8d9406 fix2 2026-03-08 23:06:54 +00:00
lizzie
fa0d0a9ba0 Use updated SDL2 2026-03-08 23:06:54 +00:00
lizzie
834fa15ab7 stub add proper iostream init 2026-03-08 23:06:54 +00:00
lizzie
691e3786d6 update loicense 2026-03-08 23:06:54 +00:00
lizzie
610003387c restore stupid lock, make ps4sup library 2026-03-08 23:06:53 +00:00
lizzie
9fd522ccbe fix sdl2 2026-03-08 23:06:53 +00:00
lizzie
39b8107b5c adapt to new master 2026-03-08 23:06:53 +00:00
lizzie
564aac846a exclude more stuff from vulkan 2026-03-08 23:06:27 +00:00
lizzie
1ebc3ba89d buildable toolchain script + fixes for ffmpeg 2026-03-08 23:06:27 +00:00
lizzie
8f810a2f1b merge 2026-03-08 23:06:27 +00:00
lizzie
75ae6de81e merge 2026-03-08 23:06:27 +00:00
lizzie
d97c3b25a0 fix 2026-03-08 23:06:27 +00:00
crueter
3d1a67af18
[externals] Update dependencies (#3664)
* zlib: 1.3.1.2 -> 1.3.2
* vulkan-validation-layers: 1.4.335.0 -> 1.4.341.0
* sirit: 1.0.3 -> 1.0.4
* httplib: 0.35.0 -> 0.37.0
* xbyak: 7.33.3 -> 7.35.2
* catch2: 3.12.0 -> 3.13.0
* vulkan-headers: 1.4.342 -> 1.4.345
* vulkan-utility-libraries: 1.4.342 -> 1.4.345

Also fixed a build error with newer xbyak.

Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3664
2026-03-08 22:33:51 +01:00
crueter
f25582833a
[cmake] Start requiring SDL2 (#3632)
Closes #3466

Like said in the issue and the OpenSSL equivalent, disabling SDL2 on
desktop is just not something we want to do. It's not worth the added
burden of supporting the n+1'th matrix.

Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3632
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-02-25 02:49:47 +01:00
lizzie
0a687b82d4
[crypto] Atomize all traces of MbedTLS, and require OpenSSL 3+ (#3606)
Closes #3137
Closes #3465

- Replace all mbedtls usage with OpenSSL
- require OpenSSL
- Up OpenSSL version to 3, cuz that's what we actually need...

CAVEATS:
- httplib also now required
- other ssl backends for svc are unused, maybe remove later
  * To be fair, our CI never used them anyways. And we never tested those

TESTERS PLEASE TEST:
- All games and applets boot
- Boot, load, exit, etc. times

Co-authored-by: crueter <crueter@eden-emu.dev>
Signed-off-by: lizzie <lizzie@eden-emu.dev>
Co-authored-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3606
Reviewed-by: crueter <crueter@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: DraVee <dravee@eden-emu.dev>
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
2026-02-23 02:50:13 +01:00
crueter
12157214b6
[externals] Update FFmpeg to c7b5f1537d (#3604)
Fixes some Vulkan VP9 thing

Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3604
Reviewed-by: DraVee <dravee@eden-emu.dev>
2026-02-22 23:28:46 +01:00
crueter
f8145152c7
[cmake] Fix MoltenVK Fetch and Dynarmic tests build (#3559)
Originally was a test for Qt 6.9.3. Still broken, I have absolutely zero idea how to fix it.

Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3559
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
2026-02-20 15:59:45 +01:00
crueter
0634b4a278
[externals] Update SDL2 CI (#3538)
https://github.com/eden-emulator/Issue-Reports/issues/327

Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3538
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-02-14 03:24:36 +01:00
crueter
aaf1a597ef
[externals] Don't force xbyak to be bundled (#3526)
I explicitly asked for it to be removed, and it was added back again.
Why?

Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3526
2026-02-11 19:37:20 +01:00
lizzie
bad9d8043b
[dynarmic, externals] update to xbyak v7.33.2 (#3505)
PLEASE test, & provide gdb logs kthx!

mainly because there is a bug with pop/push for r8-r15:
94f6fe6941
(may have been linked as to why Engage had SCREECH when doing xmm spills!)

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

Co-authored-by: Caio Oliveira <caiooliveirafarias0@gmail.com>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3505
Reviewed-by: DraVee <dravee@eden-emu.dev>
Reviewed-by: Maufeat <sahyno1996@gmail.com>
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
2026-02-11 19:35:29 +01:00
lizzie
aacc40254c
[cmake, ci/scripts] update missed YUZU_ENABLE_LTO -> ENABLE_LTO (#3503)
Signed-off-by: lizzie <lizzie@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3503
Reviewed-by: DraVee <dravee@eden-emu.dev>
Reviewed-by: Maufeat <sahyno1996@gmail.com>
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
2026-02-10 21:33:22 +01:00
lizzie
a8093c2a3c
[*] change all std::unordered_map and std::unordered_set into ankerl::unordered_dense::map/set variants (#3442)
mainly doing this to reduce memory footprint; we all know how nice ankerl::unordered_dense is

in theory 4x faster - in practice these maps arent that "hot" anyways so not likely to have much perf gained

i just want to reduce mem fragmentation to ease my porting process, plus it helps other platforms as well (ahem weak Mediatek devices) :)

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

Co-authored-by: Caio Oliveira <caiooliveirafarias0@gmail.com>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3442
Reviewed-by: DraVee <dravee@eden-emu.dev>
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
2026-02-10 03:34:07 +01:00
wildcard
48ba1f3f24
[vk, cmake] Bump minimum VulkanTools to 1.4.317 and add UnifiedImageLayouts (#3318)
It seems too easy, the specification does not state anything more to be done for it towork.
Requires performance testing on android.

Co-authored-by: DraVee <dravee@eden-emu.dev>
Co-authored-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3318
Reviewed-by: DraVee <dravee@eden-emu.dev>
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Co-authored-by: wildcard <wildcard@eden-emu.dev>
Co-committed-by: wildcard <wildcard@eden-emu.dev>
2026-02-04 19:15:10 +01:00
crueter
d59fcf01bf
[frontend] Generate web token at runtime (#3462)
Rather than having that hardcoded one like before. Also adds
infrastructure which should make it easier to setup defaults at runtime
(e.g. GPU stuff?)

Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3462
Reviewed-by: DraVee <dravee@eden-emu.dev>
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
2026-02-04 04:16:39 +01:00
crueter
d0a054270e
[cmake] Move back to individual handling of Vulkan deps (#3450)
VUL version mismatches are solved upstream. Anything else is user error,
not that the prior solution really helped let's be real.

Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3450
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Reviewed-by: DraVee <dravee@eden-emu.dev>
2026-02-02 06:54:58 +01:00
crueter
f71f43561d
[externals] Update zlib, httplib, and catch2 (#3449)
whynot

Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3449
Reviewed-by: DraVee <dravee@eden-emu.dev>
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
2026-02-02 06:17:41 +01:00
crueter
2b7b44c3e4
[externals] Use patches for spirv-tools, cpp-jwt, and opus instead of forks (#3430)
oops

Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3430
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-01-30 20:11:03 +01:00
crueter
84839dec38
[cmake] add a YUZU_STATIC_ROOM option (#3411)
Lets you build ONLY the necessary targets to get a statically linked
room executable.

Only intended to be used on musl targets due to getaddrinfo et al.

Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3411
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2026-01-28 23:54:49 +01:00
crueter
4624b16cc6
[cmake] Fix httplib build with OpenSSL enabled but web service disabled (#3395)
Related to news changes, oops

Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3395
Reviewed-by: Maufeat <sahyno1996@gmail.com>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
2026-01-28 21:17:38 +01:00
crueter
acda082f40
[externals] Update SPIRV externals to fix MSVC18/VS2026 build (#3401)
Fixes build on Visual Studio 2026, aka MSVC 18. Just updates spirv stuff
since Khronos implemented some build fixes there as it would seem.

Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3401
2026-01-27 22:40:53 +01:00
crueter
f61f0a28c6
[cmake] Fix MinGW/arm64 build/runtime errors (#3352)
Mostly just jpeg being weird. Also, due to the way I've built it, we
don't need all those system libs anymore because they are bundled into
the Qt build.

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

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3352
Reviewed-by: DraVee <dravee@eden-emu.dev>
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
2026-01-20 18:31:28 +01:00
crueter
89f72d286a
[cmake, tools] update CPMUtil and add support for CPMUtil bundled Qt, module updates, cleanups (#3289)
Support for bundled Qt, not through aqtinstall but rather my CI. Multimedia is
implemented too, works on both Windows and Linux, though we don't
actually use it so it doesn't really matter. Contains Declarative and all that so the Quick frontend will work once it becomes a thing.

Some options have changed, notably w.r.t LTO and faster
linker, which are now handled directly in the modules.

CPMUtil also has support for custom dirs (`PackageName_CUSTOM_DIR`) now. Probably most useful for adding external fragment shaders and whatnot.

Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3289
2026-01-14 19:29:13 +01:00
festivity
a2236c1a43
[discord] show current game in main status instead of "Eden" (#2828)
"Eden" is still shown when user is idle

![image](/attachments/1386f581-db71-42db-b75a-01dba5ee95d7)

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2828
Reviewed-by: DraVee <dravee@eden-emu.dev>
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Co-authored-by: festivity <festivity@eden-emu.dev>
Co-committed-by: festivity <festivity@eden-emu.dev>
2026-01-10 23:42:49 +01:00
MrPurple666
87d4c67386
[turnip/android] Add environment variables settings for turnip drivers (#3205)
This PR brings a feature that has been needed for some time in the Android Switch emulation community: environment variables for Turnip/Freedreno drivers. These are available in PC emulators and can help fix some problems, especially the TU_DEBUG function, which can be set to gmem (thus allowing Adreno 710/720 users to run Turnip correctly), and noubwc, which fixes some problems for OneUI users.
This could also help us debug Turnip in a "better way" in the future.

Attached is a screenshot of a user, Ivan albio, using the gmem function on Adreno 710.

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3205
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Reviewed-by: DraVee <dravee@eden-emu.dev>
Co-authored-by: MrPurple666 <antoniosacramento666usa@gmail.com>
Co-committed-by: MrPurple666 <antoniosacramento666usa@gmail.com>
2026-01-09 23:22:59 +01:00
lizzie
370997f42e
[externals/ffmpeg] remove --disable-postproc causing issues in OpenOrbis toolchain (#3203)
why was disable-postproc added? either way this fixes build errors not only on PS4 but also on Haiku i think

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

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3203
Reviewed-by: Caio Oliveira <caiooliveirafarias0@gmail.com>
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
2025-12-26 02:36:08 +01:00
lizzie
bc9af86269
[externals] update Vulkan headers from 1.4.328.1 -> 1.4.335.0 (#3202)
notably adds access to `VK_KHR_maintenance10` :)
I'm not sure if we want to update vk as regularly as with other deps as the only worthwhile change I saw was the addition of maintainance10
Signed-off-by: lizzie lizzie@eden-emu.dev

Co-authored-by: Caio Oliveira <caiooliveirafarias0@gmail.com>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3202
Reviewed-by: Caio Oliveira <caiooliveirafarias0@gmail.com>
Reviewed-by: crueter <crueter@eden-emu.dev>
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
2025-12-25 20:48:28 +01:00
crueter
363d861011
[ffmpeg] update to 8.0.1, enable VTBox/mediacodec/d3d12 hwaccels (#3156)
MediaCodec needs some jvm shenanigans to work, but the others should
Just Work(TM). Need tests on Windows (AMD/Intel), macOS

Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3156
Reviewed-by: Caio Oliveira <caiooliveirafarias0@gmail.com>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
2025-12-13 20:32:37 +01:00
lizzie
83332316aa
[gamemode] Make available on other platforms (#353)
Signed-off-by: lizzie <lizzie@eden-emu.dev>
Co-authored-by: crueter <crueter@eden-emu.dev>
Co-authored-by: Caio Oliveira <caiooliveirafarias0@gmail.com>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/353
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Reviewed-by: Caio Oliveira <caiooliveirafarias0@gmail.com>
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
2025-12-07 07:13:43 +01:00
lizzie
90877dfc85
[cmake] only use MoltenVk on Apple platforms (#3146)
Signed-off-by: lizzie <lizzie@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3146
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
2025-12-05 02:57:39 +01:00
lizzie
55cc4d5ede
[experiment] mbedtls force ARM64 Neon even when macros say otherwise (#2793)
more of the mbedtls trying to make macro magic even through they do runtime checks

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2793
Reviewed-by: crueter <crueter@eden-emu.dev>
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
2025-12-04 07:32:40 +01:00
crueter
e75ecfd4a0
[externals] change bundled MVK to Ori's fork (#3141)
Fixes the weird Metal shader crash we saw previously, so now macOS works again. Hooray!

Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3141
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
Reviewed-by: Maufeat <sahyno1996@gmail.com>
2025-12-04 07:18:19 +01:00
crueter
18135424df
[cmake] more modules, general "cleanup" (#3126)
Successor to that old MoltenVK PR. Does a lot of cleanups within root CMakeLists.txt, hands over MoltenVK and VulkanValidationLayers to CPMUtil, and separates out common operations into my modules.

Hopefully reduces the monstrosity that is root CMakeLists.txt. Please test:

- builds on all platforms
- VulkanValidationLayers

Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3126
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
2025-12-04 06:00:58 +01:00
crueter
fe8017734b
[cmake, externals] android x86_64 support (#3086)
Updates all of our bundled CI deps to support android x86_64, adds a
build flavor thereof (`chromeOS`), and also adds sirit mingw support.

The new FFmpeg package is built in a much better way that actually makes
it identically built to the other CI packages, meaning we now have real
8.0.0 support, no need for libvpx/cpu_features/all that other crap.
PLUS, we can now statically link it! Hooray! It's also built with
MediaCodec support so in the future we can work on that.

Rewrote the android build script too, plus added a copyFlavorTypeOutput
target that assembles and copies the APK. The code behind it sucks
because I'm not great with Gradle but hey, it works.

Testers: please test everything related to video decoding. VP9 and h264, games that normally suck with their prerendered stuff, make sure I didn't nuke it to oblivion, etc.

Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3086
Reviewed-by: Caio Oliveira <caiooliveirafarias0@gmail.com>
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
2025-12-03 06:40:11 +01:00
lizzie
941caf31ce
[port] NetBSD and improper ctor for SpinLock fixes (#3092)
So when libc starts it has to start at an entry point located into crt0, now most OSes will do "enough" setup to allow mprotect() and mmap() to be called in static ctors (remember they're called BEFORE main)
By some stupid miracle, NetBSD doesn't; this means that using those functions on NetBSD will result in spurious results
The reason why is still unknown to me, but this is also combined with the fact that allocating a big chunk of memory for the JIT will make NetBSD refuse to mprotect()/mmap() it in low memory situations (even when space is available); so I take the same approach as with solaris
Also I now make it so fastmem handlers are NOT registered for OSes that disabled fastmem, this is because they pollute sigsegv and makes debugging stupidier

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

Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3092
Reviewed-by: Caio Oliveira <caiooliveirafarias0@gmail.com>
Reviewed-by: MaranBr <maranbr@eden-emu.dev>
Co-authored-by: lizzie <lizzie@eden-emu.dev>
Co-committed-by: lizzie <lizzie@eden-emu.dev>
2025-11-30 06:05:53 +01:00
crueter
b690813196
[externals] FFmpeg -> v8.0-be99d2c0b2, OpenSSL -> v3.6.0-e3608d80df, SDL2 -> 2.32.10-38e0094637 (#3003)
FFmpeg:
- builds for FreeBSD, OpenBSD, Solaris
- minsizerel
- Proper system lib linking on MinGW
- removed shared stuff entirely outside of android because their build system SUCKS

OpenSSL:
- macOS universal
- Proper system lib linking on MinGW

SDL2:
- macOS universal

Both are now based on branches/commits rather than tags (since their respective release branches have a ton of new stuff lol)

Signed-off-by: crueter <crueter@eden-emu.dev>
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3003
Reviewed-by: Lizzie <lizzie@eden-emu.dev>
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com>
2025-11-16 04:59:30 +01:00