RAOfflineProxy integration: service + launch-time RetroArch proxy routing#94
Draft
misantronic wants to merge 1 commit into
Draft
RAOfflineProxy integration: service + launch-time RetroArch proxy routing#94misantronic wants to merge 1 commit into
misantronic wants to merge 1 commit into
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Draft for early feedback: system integration for RAOfflineProxy, an offline proxy for RetroAchievements (caches achievement data for offline play, queues casual unlocks, flushes on reconnect). Follows up on our earlier discussion about integrating it into Knulli.
What this adds
package/system/raofflineproxy: installs a service file to/usr/share/knulli/services/, giving an on/off toggle in ES → System Settings → Services (enable = autostart)libretroConfig.py): at game launch, if the proxy is listening on 127.0.0.1 and not disabled viaretroachievements.proxy, setcheevos_custom_hostto it, keep achievements enabled while offline, and force hardcore off (the proxy is casual-only). Otherwise clear the override — stock behaviorNo persistent config patching: routing is decided per launch. With the service disabled (default state does not change existing setups: the service only does something once the app is installed), everything behaves exactly as today.
Scope: RetroArch/libretro only
The proxy routing hooks into
libretroConfig.py, so it applies to libretro cores only. Standalone emulators with their own RetroAchievements clients (PPSSPP, duckstation, ...) are not covered and behave as stock.Companion PR + testing
RAOfflineProxy integration: offline achievement caching UI batocera-emulationstation#126
https://github.com/misantronic/RAOfflineProxy/releases/tag/knulli-native-preview-1 (install from ES Tools, then enable the service)
Verified end to end on an RG40XX-H (h700): boot autostart, offline launches with cached achievements, casual unlock queue + flush, mid-game network loss, toggle on/off.