lizzie
87e5d0b6e4
[hle] VirtualBoy classics fixes, QLaunch IPC fixes, implement extra ams SVCInfo ( #4343 )
...
Signed-off-by: lizzie <lizzie@eden-emu.dev >
- [x] I have read and followed the [Contribution Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/CONTRIBUTING.md#code-contributions ).
- [x] I have read and followed the [AI Policy](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/AI.md )
- [x] I have read and followed the [Coding Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/Coding.md ) to the best of my ability.
-------------------
`OpenSystemApplicationProxy`
`OpenSystemApplicationProxy`
ALSO yes those cmds DO NOT take an attribute
Implemented SVC infos to match Atmosphere's values
Implement more stub I2C session cmds
stub CMD2103 for rhythm groove
better error handling on svc get info to match ams (see ams svc info)
Virtual Boy classic fix adept from https://git.ryujinx.app/projects/Kenji-NX/commit/2288084b531b185f5840a696b23265014f07e2f2 by @Mythrax
acc:u1 was missing the *Deprecated cmd
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4343
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com >
Reviewed-by: Maufeat <sahyno1996@gmail.com >
2026-09-08 20:39:55 +02:00
PavelBARABANOV
1036982d2f
partial revert 54cd5fb8eb ( #4355 )
...
- [x] I have read and followed the [Contribution Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/CONTRIBUTING.md#code-contributions ).
- [x] I have read and followed the [AI Policy](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/AI.md )
- [x] I have read and followed the [Coding Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/Coding.md ) to the best of my ability.
-------------------
It fixes display issues when the overlay applet is enabled, thanks Bruno.
Fixes freezes when enabling real applet keyboard in qlaunch.
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4355
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com >
Reviewed-by: lizzie <lizzie@eden-emu.dev >
Reviewed-by: Maufeat <sahyno1996@gmail.com >
2026-09-08 20:39:08 +02:00
crueter
7fda6dde73
[common] Switch to boost::unordered_flat containers ( #4326 )
...
Replaces all instances of ankerl's unordered map/set with boost's
`unordered_flat_*` classes. This uses std::hash since boost::hash is
actually a lot slower.
Also adds an abstraction layer in `Common` so future changes are quicker
and easier.
Other implementation details:
- ankerl provided hash specializations for tuple and pair, so those were
ported here
- std::erase_if doesn't work on boost, so just used the ADL'd erase_if
This should be about equal or superior performance as unordered_dense for everything except iteration.
Signed-off-by: crueter <crueter@eden-emu.dev >
- [x] I have read and followed the [Contribution Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/CONTRIBUTING.md#code-contributions ).
- [x] I have read and followed the [AI Policy](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/AI.md )
- [x] I have read and followed the [Coding Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/Coding.md ) to the best of my ability.
-------------------
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4326
Reviewed-by: Lizzie and Samuel <lizzie@eden-emu.dev >
Reviewed-by: MaranBr <maranbr@eden-emu.dev >
2026-08-31 02:58:09 +02:00
Maufeat
54cd5fb8eb
[core, hle, video_core, memory] Improve multi-process, display layers, dynamic shader cache and rework overlay ( #4238 )
...
- [x] I have read and followed the [Contribution Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/CONTRIBUTING.md#code-contributions ).
- [x] I have read and followed the [AI Policy](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/AI.md )
- [x] I have read and followed the [Coding Guidelines](https://git.eden-emu.dev/eden-emu/eden/src/branch/master/docs/policies/Coding.md ) to the best of my ability.
-------------------
- Dynamic shader cache reloading capability for qlaunch
- Multi-process improvements (thanks to @frank1734), instead of just using the main application we now respect caller process (also did it for HID devices while I was at it)
- Layer stack masks & shared buffer screenshot for video core, added different masks (screenshot, recording, etc.) this was discovered as an issue due to how in qlaunch the transition was not right between applications. May not be perfect but also fixes screenshots while using qlaunch
- Reworked overlay display management (input and visibility) - instead of random numbers as I've previously did, I decided to add an AppletZIndex enum for better readability. Also split capability of input by touch and gamepad.
- etc.
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4238
Reviewed-by: Samuel <lizzie@eden-emu.dev >
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com >
Reviewed-by: MaranBr <maranbr@eden-emu.dev >
2026-08-29 01:04:02 +02:00
CamilleLaVey
3f52bf4b4b
[core, gpu, threads] Multithreading refactor ( #4254 )
...
This insufferable work tries to cover some holes on previous threading implementation from yuzu's team, starting with Windows and Linux reordering of priorities (NICE), reworks previous Android's threading and cpu affinity with adpf, adjust emulated clocks/gpu for better "accuracy" with their work, bumps android minSDK for all flavors, legacy will now work with AP 29 to cover A10 - A12, standard will reach A13 as base and finally the optimized build will come with API 35, mostly targeted on devices with A15 support and newer, NDK and AGP wasn't upgraded yet. The performance cost efficiency have been improved based on device power configuration; preventing overheating if certain devices tended to fall into NICE0 (not allocated threads priority, all task ran with higher priority, 11 tasks running within the limited 2 - 7 threads available on the most common configuration 1x3x4 or 1x4x3).
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4254
2026-08-08 04:39:47 +02:00
lizzie
58dee53305
[fmt] use {#:x} instead of 0x{:#x} ( #4170 )
...
continuation of #309 but applying to even more files than before :)
also makes them lowercase because `0xfafafa` is better as `0XFAFAFA`
Signed-off-by: lizzie <lizzie@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4170
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com >
Reviewed-by: Maufeat <sahyno1996@gmail.com >
2026-07-25 21:47:07 +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
9d55875377
[*] fix missing '#pragma once' on header files ( #4014 )
...
`find src -type f -name '*.h' -not -exec grep -q "#pragma once" {} \; -print`
- ignore qt with header guards already
- smaa too
Signed-off-by: lizzie <lizzie@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4014
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com >
Reviewed-by: crueter <crueter@eden-emu.dev >
2026-05-26 06:37:59 +02:00
PavelBARABANOV
813a35abca
[vi] Restore high Z-index for shared buffer layer to fix keyboard overlay display ( #3787 )
...
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3787
Reviewed-by: Maufeat <sahyno1996@gmail.com >
Reviewed-by: Lizzie <lizzie@eden-emu.dev >
Co-authored-by: PavelBARABANOV <pavelbarabanov94@gmail.com >
Co-committed-by: PavelBARABANOV <pavelbarabanov94@gmail.com >
2026-03-26 22:23:21 +01:00
crueter
2b979024cb
[frontend] Slow and Turbo modes ( #3525 )
...
Closes #3344
Adds slow and turbo modes with configurable speeds that can then be
toggled by the user. Behavior is:
- Standard/slow limit, toggle turbo = turbo
- Turbo limit, toggle turbo = standard
- Standard/turbo limit, toggle slow = slow
- Slow limit, toggle slow = standard
Enabling the turbo/slow mode enables the frame limiter unconditionally.
This has some conflicts with VSync. For example when I set my refresh
rate to 60hz and enable vsync, turbo mode does nothing. Not sure how to
go about fixing this, @MaranBr probably knows better the proper
solution.
Signed-off-by: crueter <crueter@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3525
Reviewed-by: DraVee <dravee@eden-emu.dev >
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com >
2026-02-12 01:31:55 +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
Maufeat
1eed7efd09
[core, display, overlay] Add LayerIsOverlay to separate overlay on composer, stub RequestListSummaryOverlayNotification, sync emu settings when setting language ( #3123 )
...
This should fix the issue with, for example, ToTK running at 60 FPS when overlay applet is running.
This also should always run the overlay as actual overlay and not in the back.
Stubs RequestListSummaryOverlayNotifications in friends
Syncs Language of the Emulator, when setting language, this is used in Starter Applet
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3123
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com >
Reviewed-by: Caio Oliveira <caiooliveirafarias0@gmail.com >
Co-authored-by: Maufeat <sahyno1996@gmail.com >
Co-committed-by: Maufeat <sahyno1996@gmail.com >
2025-12-17 06:26:02 +01:00
Maufeat
f58097e814
[hle,display,overlay,starter,hid] add overlay functions, starter applet (initially), HID handheld for system applets and fw21 stubs ( #3080 )
...
Adds fully functional overlay display.
- Enable Overlay Applet via "View" -> "Enable Overlay Display Applet"
- Open the overlay by pressing the home button for over 1s
- Can adjust volume
- Can toggle airplane mode (if on WiFi, maybe if overlay is enabled pretend to be on WiFi?)
- Future TODO(?): Adjust Brightness implementation for host system
- Inputs are properly registered. e.g. if overlay open, application does not register inputs.
You can control volume and airplane mode outside of the emulator window
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3080
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com >
Reviewed-by: crueter <crueter@eden-emu.dev >
Co-authored-by: Maufeat <sahyno1996@gmail.com >
Co-committed-by: Maufeat <sahyno1996@gmail.com >
2025-11-27 19:46:41 +01:00
lizzie
191e4c75a1
[meta] fix license headers ( #2547 )
...
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/2547
Reviewed-by: MaranBr <maranbr@eden-emu.dev >
Co-authored-by: lizzie <lizzie@eden-emu.dev >
Co-committed-by: lizzie <lizzie@eden-emu.dev >
2025-09-21 21:58:59 +02:00
lizzie
9d2681ecc9
[cmake] enable clang-cl and WoA builds ( #348 )
...
Compilation and CMake fixes for both Windows on ARM and clang-cl, meaning Windows can now be built on both MSVC and clang on both amd64 and aarch64.
Compiling on clang is *dramatically* faster so this should be useful for CI.
Co-authored-by: crueter <crueter@eden-emu.dev >
Co-authored-by: crueter <crueter@crueter.xyz >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/348
Reviewed-by: CamilleLaVey <camillelavey99@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-09-09 20:47:49 +02:00
Zephyron
cf1bcb02c5
service/vi: Improve OpenDisplay validation
...
Updates the OpenDisplay function in IApplicationDisplayService to properly
validate display names. Instead of only accepting "Default", now validates
against all known valid display names: "Default", "External", "Edid",
"Internal", and "Null".
- Changes log level from WARNING to DEBUG since this is no longer stubbed
- Adds proper validation for all valid display names
- Returns ResultOperationFailed for invalid display names
- Improves logging by including the requested display name
2025-04-19 17:19:38 -03:00
Liam
10966412ac
vi: workaround conductor includes
2024-02-23 10:34:49 -05:00
Liam
0e032e03e6
vi: ignore shared buffer destruction failure on termination
2024-02-20 00:02:56 -05:00
Liam
3b78f33757
vi: remove superfluous locking in shared buffer manager
2024-02-19 23:59:35 -05:00
Liam
6fabb06764
nvnflinger/vi: don't recreate buffer queue on open/close
2024-02-19 23:59:35 -05:00
Liam
d082a80d79
nvnflinger: check for layers before compose
2024-02-18 11:25:52 -05:00
german77
07143cd038
service: vi: Implement ListDisplayMode
2024-02-17 18:08:41 -05:00
Liam
f5d736af4b
vi: manage resources independently of nvnflinger and refactor
2024-02-17 18:08:38 -05:00
Liam
e34074861c
vi: move shared buffer management from nvnflinger
2024-02-17 18:01:41 -05:00
Liam
b1f1beae41
nvnflinger: convert to process
2024-02-17 18:01:41 -05:00
Liam
0f18bf4a06
vi: rewrite IApplicationDisplayService
2024-02-14 12:03:32 -05:00
Liam
04b3fdca99
vi: rewrite ISystemDisplayService
2024-02-14 12:03:32 -05:00
Liam
f675c54cbe
vi: rewrite IManagerDisplayService
2024-02-14 12:03:32 -05:00
Liam
33daf4463b
vi: rewrite IHOSBinderDriver
2024-02-14 12:03:32 -05:00
Liam
5ad57cb878
vi: rewrite IApplicationRootService, IManagerRootService, ISystemRootService
2024-02-14 12:03:32 -05:00
Liam
8de4523094
vi: split into implementation files
2024-02-14 12:03:32 -05:00
Liam
a989a7ad9c
vi: extract types
2024-02-14 12:03:31 -05:00
Liam
1c32e4157c
nvnflinger/gpu: implement blending
2024-02-09 09:20:53 -05:00
Liam
5ec76db392
nvnflinger/gpu: implement layer stack composition
2024-01-31 11:27:21 -05:00
Liam
7df27bbef6
core: support offline web applet
2024-01-29 20:17:33 -05:00
Liam
49f10b2e54
am: migrate global state to per-applet state structure
2024-01-29 20:17:33 -05:00
Narr the Reg
aad9258100
service: properly convert buffers to strings
2024-01-23 10:24:05 -06:00
Liam
c6dc206cd6
vi: check layer state before opening or closing
2024-01-17 22:03:40 -05:00
Liam
5f9a3c23db
nvnflinger: ensure display abandonment considers all layers and future layers
2024-01-17 18:45:39 -05:00
Liam
1d7fb4cffb
vi: connect vsync event handle lifetime to application display service interface
2024-01-07 21:47:41 -05:00
Liam
beab2c3fc7
vi: fix name of nvnflinger
2024-01-07 21:31:03 -05:00
Liam
ccef7d7326
vi: fix confusion between closing and destroying layers
2023-12-12 12:14:23 -05:00
Liam
2e8b7e4a40
nvnflinger: use graphic buffer lifetime for map handle
2023-10-29 22:12:16 -04:00
Narr the Reg
9567f9aaed
service: nvnflinger: Implement shared buffer
...
Co-authored-by: Liam <byteslice@airmail.cc >
2023-10-01 11:38:30 -06:00
lat9nq
81d209ee34
general: Use console mode helper across project
2023-08-22 21:58:23 -04:00
lat9nq
447ec24378
general: Convert use_docked_mode to an enumeration
...
Allows some special interactions with it in the Qt frontend.
2023-08-22 16:07:52 -04:00
Liam
580f7f2ff1
general: fix incorrect conversions
2023-08-08 11:09:37 -04:00
Liam
5f2c56cd15
core: remove ResultVal type
2023-08-08 11:09:37 -04:00
Liam
c59b0c9715
nvnflinger: fix Parcel serialization
2023-05-11 17:09:19 -04:00
Liam
c191cf75bb
nvnflinger: fix name
2023-03-01 10:39:49 -05:00