Conversation
|
Caution Review failedPull request was closed or merged during review 📝 WalkthroughWalkthroughThis PR introduces native Steam IPC bootstrapping for real Steam support via a proprietary Changes
Sequence DiagramsequenceDiagram
participant App as GameNative App
participant XServer as XServerScreen
participant Launcher as BionicProgramLauncher
participant Bootstrap as SteamBootstrap
participant Native as libsteambootstrap.so
participant Steam as libsteamclient.so
App->>XServer: Launch real-Steam game
XServer->>XServer: Extract game exe path from steamapps/common
XServer->>XServer: Extract AppId from container
XServer->>Launcher: Set steamAppId & environment
Launcher->>Bootstrap: start(libsteamclient path, env, token)
Bootstrap->>Native: Load libsteambootstrap.so
Bootstrap->>Native: nativeInit(IPC endpoints, token, etc)
Native->>Steam: dlopen() libsteamclient.so
Native->>Steam: Invoke entry points with refresh token
Native-->>Bootstrap: Return success code (0)
Bootstrap-->>Launcher: Initialization complete
Launcher->>Launcher: Execute game with wine/proton
Note over App: Game runs with Steam access
App->>XServer: Shutdown game
XServer->>Bootstrap: stop()
Bootstrap->>Native: nativeShutdown()
Native->>Steam: Clean up resources
Native-->>Bootstrap: Return
Bootstrap-->>XServer: Shutdown complete
Estimated code review effort🎯 4 (Complex) | ⏱️ ~60 minutes Possibly related PRs
Suggested reviewers
🚥 Pre-merge checks | ✅ 2 | ❌ 3❌ Failed checks (2 warnings, 1 inconclusive)
✅ Passed checks (2 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches📝 Generate docstrings
🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Description
Fixed padding on devices with notch/camera cutout
Recording
Type of Change
Checklist
#code-changes, I have discussed this change there and it has been green-lighted. If I do not have access, I have still provided clear context in this PR. If I skip both, I accept that this change may face delays in review, may not be reviewed at all, or may be closed.CONTRIBUTING.md.Summary by cubic
Adds “real Steam” launch on Android by bridging Proton’s
lsteamclient.dllto the nativelibsteamclient.sovia a JNI bootstrap, so games can start through the actual Steam client. Includes proper Steam IPC setup, app id propagation, and session lifecycle management.New Features
libsteambootstrap.soandSteamBootstrapto dlopenlibsteamclient.so, set IPC endpoints, and optionally log in using the stored refresh token; includesstart/stoplifecycle.BionicProgramLauncherComponent: setsWINESTEAMCLIENTPATH{,64},Steam3Master,SteamClientService,SteamGameId/SteamAppId, and other required env vars, then bootstraps the native client before Wine starts.steam.exewith the game’s exe path and correct working directory (replaces-applaunchflow).steam.exeinto the Wine prefix during Steam extraction to ensure the launcher exists.Bug Fixes
execShellCommand.SteamService(AccessDenied, Expired, Revoked).wine_debug_channels.jsonfor better diagnostics.Written for commit 35a93af. Summary will update on new commits.
Summary by CodeRabbit
New Features
Bug Fixes
Documentation