eden/src/qt_common
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
..
abstract [*] basic in-house cpp linting (#4039) 2026-06-04 05:49:07 +02:00
config [hle] support passing arguments to homebrew applications (#4013) 2026-06-15 03:02:33 +02:00
discord [cmake, deps] conjure common/httplib.h and remove global def for httplib macros (#3800) 2026-04-06 19:13:09 +02:00
game_list [desktop] Rework game list to use MVP architecture (#4042) 2026-06-02 04:08:24 +02:00
render [desktop] More qt_common reorganization (#3916) 2026-05-20 04:49:16 +02:00
util [*] basic in-house cpp linting (#4039) 2026-06-04 05:49:07 +02:00
CMakeLists.txt [desktop] Rework game list to use MVP architecture (#4042) 2026-06-02 04:08:24 +02:00
gamemode.cpp [common/logging] Simplify logging logic and fix issues when logging before system is created (#3688) 2026-03-12 18:29:15 +01:00
gamemode.h [gamemode] Make available on other platforms (#353) 2025-12-07 07:13:43 +01:00
gui_settings.cpp [meta] clang-format literally all of the Qt code (#3706) 2026-03-10 06:51:08 +01:00
gui_settings.h [meta] Add option to FORCE X11 as Graphics Backend (#2820) 2025-10-29 13:16:57 +01:00
qt_common.cpp [desktop] Rework game list to use MVP architecture (#4042) 2026-06-02 04:08:24 +02:00
qt_common.h [*] basic in-house cpp linting (#4039) 2026-06-04 05:49:07 +02:00
qt_compat.h [dynarmic, qt] fix build with QuaZip <=1.4 and fmt v9 (#2755) 2025-10-17 04:20:11 +02:00
qt_string_lookup.h [meta] clang-format literally all of the Qt code (#3706) 2026-03-10 06:51:08 +01:00