Ea app support - #1859
Draft
utkarshdalal wants to merge 4 commits into
Draft
Conversation
Contributor
|
Important Draft PR not reviewedDraft PRs are not automatically reviewed by default.
To automatically review draft PRs, update your CodeRabbit configuration: reviews:
auto_review:
drafts: trueThanks 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 |
utkarshdalal
force-pushed
the
ea-app-support
branch
7 times, most recently
from
August 27, 2026 04:22
30f87a5 to
a501faf
Compare
Bionic Steam skips the Windows Steam client's first-run InstallScript processing, so EA titles never install the EA App. Parse installScript.vdf, honor each process's HasRunStringKey in the prefix registry for idempotency, and apply the script's registry strings and file copies. Limited to games that ship the EA installer bundle.
utkarshdalal
force-pushed
the
ea-app-support
branch
3 times, most recently
from
August 27, 2026 04:49
6ff07eb to
8a4458c
Compare
Detect EA App games by the installer bundle in the game dir - no per-game registration. The gamefix self-provisions the headless installer (cmd generated in code, the 245MB MSI copied from a sibling EA install; sc create pre-registration stops wine msi rolling back the install on fresh prefixes), repairs the EA registry that EA's own self-heal fails to fix under wine (broken SDK paths crash Link2EA in rpcrt4), keeps EA's Qt hosts on builtin WineD3D with the CEF subprocess on software rendering, and writes a launch script that starts EABackgroundService and polls it to RUNNING before invoking Link2EA.exe directly - Link2EA races a cold service and EA rewrites its protocol registry keys on every service start, so neither the wait nor the handler can live in the registry. The gamefix is re-applied right before the game session for EA titles only: installer sessions overwrite its registry work on their wineserver flush, and on a cold install the EA binaries only exist afterwards. EA's DirtySDK cannot resolve hostnames through bionic's resolver, so a prebuilt LD_PRELOAD shim (source: gamenative-dns-shim repo) routes res_query/getaddrinfo through Android's resolver for any EA App container. Accounts linked to Steam sign in silently via the Link2EA exchange token. Requires Proton 11.
utkarshdalal
force-pushed
the
ea-app-support
branch
2 times, most recently
from
August 27, 2026 06:45
ea0fe69 to
948acb4
Compare
added 2 commits
August 27, 2026 19:07
…n-in Source the 245MB install MSI from the game's own EAappInstaller.exe when no copy exists: scan the WiX Burn bundle for the payload CAB, carve it, and pull the MSI out with imagefs cabextract. The install cmd now narrates each phase instead of sitting on a blank prompt, and opens the EA Desktop UI after a successful install so the user can sign in before the launch chain continues. The link2ea gate script is straight-line now: wine cmd nondeterministically deadlocks spawning children inside for-loops, and sc start already blocks until the service is up.
EA Desktop's UI issues the legacy XInput ListInputDevices request; replying BadImplementation is a fatal X error that kills the client before its window exists. Return a valid empty device list.
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.
Description
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 EA App support for Steam titles that ship the EA installer bundle, so games like The Sims 4 now install and launch through EA Desktop instead of failing silently. Requires Proton 11.
New Features
EAappInstaller.exe, generates the headless-install cmd, and sources the 245MB MSI from a sibling EA install or by carving it out of the game's own installer.EABackgroundServiceand opens the EA Desktop UI on first install so the user can sign in before the launch chain continues.installScript.vdfkeyedRun Processentries as a pre-install step for Bionic Steam, honoring each process'HasRunStringKey.EABackgroundService, waits for the first-run bootstrap, then invokesLink2EA.exe; Steam-linked accounts sign in silently.res_queryandgetaddrinfothrough Android's resolver.Bug Fixes
ListInputDevicesreply so EA Desktop's UI no longer hits a fatal X error at startup.Written for commit d4f6b59. Summary will update on new commits.