lizzie
a838ff6b70
ffs windows
2026-09-03 01:54:18 +00:00
lizzie
d37b66dfbb
evil noperm
2026-09-03 01:54:18 +00:00
lizzie
7a8a0665ae
fuck errrno2
2026-09-03 01:54:18 +00:00
lizzie
d623fe8fe4
acurater errno
2026-09-03 01:54:18 +00:00
lizzie
440f4f51f2
ALL THE ERROR CODES
2026-09-03 01:54:18 +00:00
lizzie
85b01a26d1
fixup errno
2026-09-03 01:54:18 +00:00
lizzie
dd030de217
min of 1sec
2026-09-03 01:54:18 +00:00
lizzie
7d7d03f707
account for timeout
2026-09-03 01:54:18 +00:00
lizzie
7176a7189c
fix tcp on ssbu mod
2026-09-03 01:54:18 +00:00
lizzie
95426a6bcf
fallback only if it failed
2026-09-03 01:54:18 +00:00
lizzie
9a7a4fdc1b
implode windows
2026-09-03 01:54:18 +00:00
lizzie
cc8e479b9a
better
2026-09-03 01:54:18 +00:00
lizzie
c8a2ef9cbe
evil ping
2026-09-03 01:54:18 +00:00
lizzie
17a3e35342
don't murder me for this change
2026-09-03 01:54:18 +00:00
lizzie
5ceb287e95
need the extra threads...
2026-09-03 01:54:18 +00:00
lizzie
af7febe7a5
more gymnastics to give fake results?
2026-09-03 01:54:18 +00:00
lizzie
e6f5678019
first fake icmp impl
2026-09-03 01:54:18 +00:00
lizzie
e3882da0e4
fix ldn sockets being regarded as normal socks
2026-09-03 01:54:18 +00:00
lizzie
7bd4cf8d36
fx2
2026-09-03 01:54:18 +00:00
lizzie
213307545d
fix???
2026-09-03 01:54:18 +00:00
lizzie
d77df48b73
fix sockets
2026-09-03 01:54:18 +00:00
lizzie
b45b4c13f2
struct pollfd
2026-09-03 01:54:18 +00:00
lizzie
aec09e6a21
fix windows screaming
2026-09-03 01:54:18 +00:00
lizzie
670095c3e8
musl scared of defines ooo
2026-09-03 01:54:18 +00:00
lizzie
f3e76e8d84
airplane mode takes priority
2026-09-03 01:54:18 +00:00
lizzie
48fefaf4d9
uh
2026-09-03 01:54:18 +00:00
lizzie
615d77b356
add tcp options
2026-09-03 01:54:18 +00:00
lizzie
06593e9889
nuke extra threads, extra error support; use span instead of vector for poll fds
2026-09-03 01:54:18 +00:00
lizzie
0673767a41
we love when cURL has bugs?
2026-09-03 01:54:18 +00:00
lizzie
b332007f89
add extra polling types
2026-09-03 01:54:18 +00:00
lizzie
ad3929f11d
various fixes to sockopt
2026-09-03 01:54:18 +00:00
lizzie
32a8445767
allow configure socket level
2026-09-03 01:54:18 +00:00
lizzie
88f867607e
coalesce the various sockopt
2026-09-03 01:54:18 +00:00
lizzie
b3e09d7108
honour the provided MSG flags
2026-09-03 01:54:18 +00:00
lizzie
aa9d93b509
extra fixups
2026-09-03 01:54:18 +00:00
lizzie
48f5f71858
fixup stuffs for windows
2026-09-03 01:54:18 +00:00
lizzie
7e225f4520
fix messages native flags
2026-09-03 01:54:18 +00:00
lizzie
6bc5f936c6
properly handle writebuffer and dont write OOB
2026-09-03 01:54:18 +00:00
lizzie
8ed685ac8c
fixes for non BSD
2026-09-03 01:54:18 +00:00
lizzie
facf8fdf57
[net] refactor to remove uneeded abstraction layer
...
Signed-off-by: lizzie <lizzie@eden-emu.dev >
2026-09-03 01:54:18 +00:00
xbzk
1dcc574591
[gdb] fix conn state to use same pipe (instead of a copy) ( #4339 )
...
- [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.
-------------------
I was trying to use GDB stub to investigate MHR and it was not connecting.
Error was suggesting it was not available for connection although i saw it booting on logs.
Debugged and noticed signal_pipe_ was not the correct one, and followed the example of client_socket_.
GDB stub is now working, on windows, at least.
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4339
Reviewed-by: Lizzie and Samuel <lizzie@eden-emu.dev >
Reviewed-by: MaranBr <maranbr@eden-emu.dev >
2026-09-02 14:04:35 +02:00
lizzie
f7e5ceeacb
[video_core/buffer_cache] fix PAGE_SHIFT/BSD macro clash on Linux, *BSD ( #4329 )
...
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.
-------------------
PAGE_SHIFT is a macro (sys/user.h on linux, machine/params.h on FBSD), dont name stuff that
https://stackoverflow.com/questions/77611721/get-page-shift-value-in-user-space
BSD is also a macro
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4329
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com >
Reviewed-by: MaranBr <maranbr@eden-emu.dev >
2026-08-31 21:34:01 +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
lizzie
106a61c943
[core/file_sys] fix IPS not applying due to wrong NSObuild-id ( #4323 )
...
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.
-------------------
NSO build id was being read wrongly... oops
also fixed some minor issues as well
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4323
Reviewed-by: Shinmegumi <shinmegumi@eden-emu.dev >
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com >
2026-08-30 20:08:40 +02:00
lizzie
297e797a32
[hle/kernel] remove flusher thread from OutputDebugString ( #4291 )
...
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.
-------------------
Unneeded abstraction?
either way it seems this thread is not required
anyone thinking otherwise feel free to lmk
directly contradicts with #4290
and #3744
Remember that messages will be displayed out of order
this can make actual debugging much harder I'm afraid
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4291
Reviewed-by: MaranBr <maranbr@eden-emu.dev >
Reviewed-by: crueter <crueter@eden-emu.dev >
2026-08-30 08:18:50 +02:00
lizzie
672bcbae01
[file_sys] robust-er IPSwitch compiler ( #3911 )
...
this PR reworks IPS parser to be less stupid
what do i mean by this? well generally give it a bit of
love so it doesn't do a lot of unsound allocations
also simplify the logic greatly (and use memcmp() string idiom
instead of trusting the compiler so blindly...)
no this doesn't mean to uber optimize IPS to handle 999 gb/s
it's more so it doesn't outright crash with edge cases
as the previous codebase was quite spaghetty
also the major overhead is obviously the vector shenanigans
and the I/O -- but thats out of scope
Test that IPSwitch mods still properly work WITH ANY GAME
IF THERE IS ANY REGRESSION IN SOME GAME/MOD THEN
TELL ME
Signed-off-by: lizzie <lizzie@eden-emu.dev >
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/3911
Reviewed-by: crueter <crueter@eden-emu.dev >
Reviewed-by: CamilleLaVey <camillelavey99@gmail.com >
2026-08-30 08:10:51 +02:00
Maufeat
28ab4a1a01
[kernel, service] Return ResultSessionClosed when a session is closed ( #4318 )
...
- [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.
-------------------
I tried to run a homebrew game which tried to reply to a closed service. nnSdk expected ResultSessionClosed, we replied with ResultSuccess which mostly works but some have stricter handling and would terminate with abort.
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4318
Reviewed-by: Lizzie and Samuel <lizzie@eden-emu.dev >
Reviewed-by: crueter <crueter@eden-emu.dev >
2026-08-30 08:00:18 +02:00
PavelBARABANOV
1f03dee126
[fs] Add RenameDirectory support for same-parent directory renaming ( #4312 )
...
- [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.
-------------------
Fixes save corruption in Warhammer 40k: Mechanicus and other games
that rename directories within the same parent folder.
- Added RenameDirectory handler in IFileSystem (command 6)
- Implemented same-parent directory renaming using RenameDir
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4312
Reviewed-by: MaranBr <maranbr@eden-emu.dev >
Reviewed-by: Samuel <lizzie@eden-emu.dev >
2026-08-30 01:46:02 +02:00
xbzk
c0a85d0e53
[service, nvhost] added machinery to allow microsleep between nvdec read requests to avoid guest panic in some games ( #4316 )
...
- [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.
-------------------
This one deserves a long story, but imma try to resume:
During investigating Absolum 1.2 black screen of death upon loading intro video, i've discovered guest was aborting for failing to allocate room for the video.
By logging everything prior to crash and decoding guest side instructions managed to confirm its media allocator was reading data faster than it was updating free available bucket list.
Since the IStorage::Read was happening 247 times before the crash, i've decided to add a very small sleep there, and boom, not only Absolum but some other titles got the same issue fixed.
But i was unsatisfied with the sleep and kept tracking guest instructions upstream in order to find a sync point for the read worker and the memory allocation update. But unfortunately the media allocator helpers live in guest, accessing memory directly via MMU, so any sync signaling would need to come from some dynarmic hack.
It's been 6 days now, so i've decided to polish the sleep: Moved it upstream to where i could have access for proper predicate, and added machinery to service and nvhost to support that. Now the sleep is restricted only for nvdec istorage reads. Any other reads will flow normally.
TL;DR: currently our code is so blazing async that guest is capable to request reads before its very self refresh it have freed room to do so. The sleep accepted as broadly stable was 600 us (MICROseconds), and it affects ONLY nvdec chunk reading.
Reports confirm that now videos are smoother now.
Code was polished at my knowledge limits.
Mostly machinery to track when a request comes from a process with nvdec active, and is istorage read.
I can provide more details if it comes to be needed.
Reviewed-on: https://git.eden-emu.dev/eden-emu/eden/pulls/4316
Reviewed-by: MaranBr <maranbr@eden-emu.dev >
Reviewed-by: Samuel <lizzie@eden-emu.dev >
2026-08-29 14:22: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