Closed Fractal147 closed 1 year ago
I decided to do some tests myself on Ubuntu 22.10 VM and Bottles (runner is soda-7.0-9
, default preset for games). I installed Origin and was able to just run my installer:
After setting the DLL override for version
in the Bottles settings, I can run Origin as expected:
Then I tried installing Peggle and failed, however I was able to install and run Jade Empire as an example game:
As the next thing I decided to install Mass Effect 2 (I don't have any other game from this series):
Unfortunately, it seemed to have failed with the same error as Peggle so far. However if a particular game is already installed, at least running it up seems to work generally...
As for your situation, are you running Proton and having the game actually on Steam? There is a chance that EA App in the container is interfering with the game launching, did you try running the Origin installer again? You could also try running regedit
within the prefix and making sure that link2ea
protocol is still assigned to Origin (in HKEY_CLASSES_ROOT):
I should have said earlier too: Thank you so much for the work on this. It's literally the only step forwards in this EA nightmare.
For my situation, I'm using steam directly - so yes it is effectively using the link2ea:// shortcut after launching proton. It must be somewhat working, since proton does launch with the full library screen, but it does not launch the game and leaves no error.
I've tried again with a blank prefix, this time ensuring I cancelled out of the EA Desktop installer. Using PROTON_VERSION="GE-Proton8-4" protontricks --gui
, I launched explorer.exe
and installed Origin (10.5.122.52971), with all tickboxes disabled. Note that the following autolaunch gives a black rectangle instead of a login - I alt-f4'd it away. Then installed the patch from this repo's exe, ticking the spoof EA Desktop checkbox.
I confirm the registry entry is pointing to Origin\EALink.exe
It continues the same - launching Origin to the library page (with games!), but not quite launching the game manually or automatically.
(As an aside, I'm also trying to get the steam in game overlay to work - it seems the origin/EA one overrides (or covers?) it, and I don't seem to be able to disable it selectively.)
( I mention the overlay because the steam in-game overlay is actually running in the background of the Origin program. You can hear it - it interacts, you can go through menus, etc. But you can't see it! )
Hum. I attach origin's Client_Log.txt,
failed_client_log.txt
There's an acute error -
Failed to start playing entitlement Origin.OFR.50.0004049@steam createNewProcess returned NULL.
but it could be a number of reasons.
(Yes, it crashes at the end - this was me messing around in the invisible steam overlay, which upset vulkan somehow).
It continues the same - launching Origin to the library page (with games!), but not quite launching the game manually or automatically.
That's kinda weird, it does seem like there's one person on Twitter who seems to have the same issue, but on Windows. On the other hand I've seen someone in Reddit comments under one post report that launching Steam games works for them. I personally confirmed it only as far as it'd go into the login screen to associate the account, I should probably try to do the full login and game bootup...
it seems the origin/EA one overrides (or covers?) it, and I don't seem to be able to disable it selectively
you can try renaming the igo*.dll
libraries in Origin installation dir, they're responsible for the Origin [crappy] overlay, and iirc they do get injected into processes and mess them up even if the overlay is disabled in Origin settings
I should have said earlier too: Thank you so much for the work on this. It's literally the only step forwards in this EA nightmare.
I'm glad it's useful for someone <3 Honestly finding workaround against their updates is kinda fun lol
Failed to start playing entitlement Origin.OFR.50.0004049@steam createNewProcess returned NULL.
I also see this one: [Origin.OFR.50.0004049@steam] CRC Map missing! Content needs repair.
. It'd be useful if we could see if successful game launch also contains this one.
Seeing the main error though, for the time being, it'd be useful if you could enable WINE's verbose logging, to see if it could log us some details about the potential CreateProcess call it did, and why exactly might it fail, if it even did that at all...
Also one more thing I'm thinking about: when did you actually install/repair your game within Steam? I'm thinking the culprit could also be installScript.vdf
changes, but I'll need to take a closer look before I could draw any conclusions there
To be precise, tell me if your game has its folder under C:\ProgramData\Origin\LocalContent
and what files are inside of it
when did you actually install/repair your game within Steam? Steam game was downloaded/verified before launch. (it is nominally working with EA Desktop/defaults, on a separate prefix), the prefix wiped (so this is the C:\ environment Origin will see), and the steam Play button pressed, running the
installscript.vdf
enough to do the directX bits, so I'm pretty sure the EA app isn't still around.
There is C:\ProgramData\Origin\LocalContent
, containing "Mass Effect Legendary Edition"
of which the .mfst file strings contain
?autoresume=0&autostart=0&contentversion=1.0.0.1621466¤tstate=kReadyToStart&ddinitialdownload=0&ddinstallalreadycompleted=0&dipInstallPath=&downloaderversion=9.0.0.0&downloading=0&dynamicdownload=0&eulasaccepted=1&id=Origin.OFR.50.0004049%40steam&installdesktopshortcut=0&installerchanged=0&installstartmenushortcut=0&isitoflow=0&islocalsource=0&ispreload=0&isrepair=0&locale=&optionalcomponentstoinstall=0&paused=0&previousstate=kCompleted&savedbytes=0&stagedfilecount=0&totalbytes=0
and the .dat file contains, in 16-bit text (strings -e l *.dat
)
1.0.0.1621466 en_US C:\Program Files (x86)\Origin Games\Mass Effect Legendary Edition\ 6CHILD_MANUAL_DOWNLOAD_EMPTY
Which is a little sus, since that's not where my game actually is (From window's point of view, it's on Z:\ somewhere). Making a symbolic link (with ln -s
) to fake it sadly does not work - identical errors.
you can try renaming the igo*.dll libraries in Origin installation dir Unfortunately this seems to also disable the steam overlay - it's the IGO64.dll that (should) call the steam game overlay. I've tried looking through
strings
, and it's definitely interacting with steam when running...it just seems broken.
Oh also show me the Bootstrapper_Log.txt
and ../EALink/EALink_Log.txt
too
Which is a little sus, since that's not where my game actually is (From window's point of view, it's on Z:\ somewhere). Making a symbolic link (with ln -s ) to fake it sadly does not work - identical errors.
That should be fine, as this file is statically copied during game installation, only the .mfst is dynamically generated. Bigger issue is that I see map.crc
is missing, this could explain the CRC error, but I'm not sure if that could be the culprit yet
They look OK:
Yeah, I didn't spot the thing I was looking for in there. I did notice they inserted the authCode into the log though, so I took the liberty of removing your comment ;_;
I'll try to look into issue #4 that I was able to reproduce and see if these two could be related. Also after a quick reversal it looks like the message createNewProcess returned NULL.
could be a lie too (that function should virtually never return null either)
Huh, with the EA App, deleting IGO64.dll seems to leave no overlay. With the Origin app, deleting igo64.dll allows me to access the steam overlay in Origin itself oddly. Still no launchy - it's passing through to steam though nothing happens. (from steam:)
ExecCommandLine: "'~/.steam/root/ubuntu12_32/steam' '--' 'steam://run/1328670'"
ExecuteSteamURL: "steam://run/1328670"
Hm, in such case it looks like Steam injects its overlay into the first process that gets launched, which'd be Origin. I wonder if it might be possible to manually inject Steam overlay into the target game. I found this on very quick search: https://gist.github.com/Andon13/d439d5334d8173e5b959f383f1c49b03
Now I wonder if perhaps compiling the above and replacing it as IGO DLL of appropriate architecture could make Origin inject a Steam overlay loader into the actual game (provided it'd still need some DllMain func to actually call the code, and a way to detect current Steam app ID, which might be set in the env variable, but not sure of that)
@Fractal147 check if it's any better in this version: https://github.com/p0358/Fuck_off_EA_App/actions/runs/5366002510
this version: https://github.com/p0358/Fuck_off_EA_App/actions/runs/5366002510
Well! That's different - it launches Origin, and Origin ...err... kills itself. So that is progress in the right direction. EALink seems to be working the same, ditto for Bootstrapper. I can't tell if anything's off in Client_Log:
It looks like it exits due to this:
**354 [2023-06-24 20:32:40.806] Error Origin::Services::ProcessWin::waitForExit 1980 ProcessWin: 0xbbc Exit result: 0
**355 [2023-06-24 20:32:40.806] Error Origin::Engine::Content::LocalContent::onProcessFinished 1436 EASteamProxy returned -2
And apparently EASteamProxy.exe exits with code -2 if the call to SteamAPI_Init()
at the very beginning fails...
Possible causes are listed here: https://partner.steamgames.com/doc/sdk/api#initialization_and_shutdown
But you may try to follow these steps to enable debug logging in Steam: https://partner.steamgames.com/doc/sdk/api/debugging#steamworks_api_logging
which is I guess to run Steam with -console -debug_steamapi
and then doing log_ipc verbose
after trying to launch the game I suppose
Hm, I've just installed the free-to-play The Sims 4 from Steam to test it out on Windows, and it seems to work there just fine... So that suggests it's now some Steam/Proton issue rather than of Origin or this patch
Well...either through my incompetence or something else, I can't get log_ipc verbose to record anything (trying either version.dll too). There's a filter parameter but I get nil:
Calls over the last 454367 milliseconds:
Process Method Calls First Last
-------------------- ---------------------------------------- ---------- ---------- ----------
Switching back to the previous version.dll
restores old behavior - hang on store page.
Yeah in the old version.dll
, the Origin would prematurely decide to not continue booting up games if it was externally invoked (there was one native check for migration that I skipped). But right now I'm not sure why it might be failing. I think for now I'll just release the current changes as v2, as it fixes a few issues on its own either way
I initially thought the error was a CDN mishap, but it's something I can currently reproduce trying to install NFS Most Wanted--whether it's found files that already exist or downloading it fresh, it's the same error 327684:3
.
It's the only game I've installed that has this issue so far, though. BF4, V, SWBF2 (activated through EGS), Jedi Fallen Order, and Titanfall 2 are detected, run, and connect properly. So wonder what's with the exceptions...
I tested this patch with Lutris and can confirm that it's working with DLL override (Configure->Runner options->DLL overrides: Key version
Value native,builtin
).
Same here, as far as I can tell everything works perfectly with the DLL override, the issues with getting origin to successfully install games after getting the failed notifications was resolved by nuking the origin prefix and starting over. Try not to change wine versions too much, that's what started mine getting the errors.
Same here, as far as I can tell everything works perfectly with the DLL override, the issues with getting origin to successfully install games after getting the failed notifications was resolved by nuking the origin prefix and starting over. Try not to change wine versions too much, that's what started mine getting the errors.
Including the issues I noted in my earlier comment?
Wine version? Method? I know for a fact my prefix wasn't having Wine versions switched at all since it was made and it has the issue with NFS when using Wine-GE at least.
Progress regarding use direct from steam:
I think there is (as is typical) a problem with the Visual C++ redistributables: IGOSteamProxy.exe is failing with some import errors (Look for ":err:" in the PROTON_LOG=1 logfile at steam-1328670.txt).
My initial launch with steam is creating a blank prefix, fine, and running the EA Desktop installer, fine if cancelled... but it's also installing the VC redist for EA Desktop. Origin maybe needs an older version...that won't be installed if there's a newer version already there.
So...either you can purge out the old install, or make a proper blank prefix to install origin in, and make sure to install the correct vcredist for origin...
Of course in my specific case, Mass Effect Legendary has only ever "just worked" with EA desktop, since Proton-GE-6.8-2 in 2021, after EA desktop started replacing Origin.
So will do some digging!
Progress regarding use direct from steam:
I think there is (as is typical) a problem with the Visual C++ redistributables: IGOSteamProxy.exe is failing with some import errors (Look for ":err:" in the PROTON_LOG=1 logfile at steam-1328670.txt).
My initial launch with steam is creating a blank prefix, fine, and running the EA Desktop installer, fine if cancelled... but it's also installing the VC redist for EA Desktop. Origin maybe needs an older version...that won't be installed if there's a newer version already there.
So...either you can purge out the old install, or make a proper blank prefix to install origin in, and make sure to install the correct vcredist for origin...
Of course in my specific case, Mass Effect Legendary has only ever "just worked" with EA desktop, since Proton-GE-6.8-2 in 2021, after EA desktop started replacing Origin.
So will do some digging!
Off topic, but if you don't mind some advice, ME:LE has no network features that benefit the player outside of achievements (telemetry is the only other one 🤮), I'd recommend patching the game with tools out there on the internet to run without launchers other than steam, then redefine the "link2ea://" protocol in the wine registry to just run the game executable. Makes for a more pleasant experience
Yep, that did it! So, for running Mass Effect Legendary edition...and probably having the achievements work again: (I need to actually get one now...)
[steam library]/steamapps/compatdata/1328670
(there's a GUI for this in big picture mode under Properties)GE-Proton8-4
, but it will probably work with anything 7 upwards.WINEDLLOVERRIDES="version=n,b" %command%
protontricks-launch --appid 1328670 [wherever you put it]/OriginSetup-10.5.122.52971.exe
protontricks-launch --appid 1328670 [wherever you put it]/Fuck_off_EA_App_installer.exe
main menu->Extras->Achievements
for ME2 and ME3 in game, but not in Steam), delete TrilogyGameProfile
and ME2/GamerProfile
and ME3/Local_Profile
in the [prefix]/users/steamuser/My Documents/BioWare/Mass Effect Legendary Edition/Save
folder.igo64.dll
in 1328670/pfx/drive_c/Program Files (x86)/Origin
Marking as resolved - at least v2 works, and probably has always worked in Proton. Hopefully this helps others! It works on Lutris etc, because they don't even try to run anything extra (like installscript.vdf
)
If someone figures out how run the installer of Origin, and the installer of this patch on Steam Deck, these instructions should work there too. Looks like protontricks
is installable on SD, which makes it easy
As a happy byproduct, this fixes (or allows you to fix) Achievements in ME2 and ME3, and mostly fixes (or allows you to mostly fix) the Steam in-game overlay, allowing steam controllers, Steam Deck rebinds through it.
Thank you @p0358 , you are the best. I never thought I would want Origin, but it turns out to be the lesser of two evils. (and yes @Doc-4... I'm sure another route avoiding either evil would work even more smoothly!).
A launcher launching a launcher to launch a launcher to launch a launcher to launch a launcher to launch a launcher to launch a game is a waste of everyone's time, and wholly avoidably by EA. Refer to the repo title for my feelings.
(Steam->link2ea->Origin(or EA app)->IGOSteamProxy->Steam again lol->ME_trilogy launcher->ME*
)
Origin's link to Steam (IGOSteamProxy.exe
) will break horribly (and with obvious err
lines in the proton_log) if the proton prefix has the vcredist
installed for EA Desktop, that the installscript.vdf
will try and install shortly after you exit the EA Desktop installer. (Unless you press "Cancel" in Steam during the first launch.).
If you're using a GE-Proton6 release, and trying to get Mass Effect Legendary to work, you must use winecfg, since it overrides WINEDLLOVERRIDES when you launch the game :
Proton-6.10-GE-1/protonfixes/gamefixes/1328670.py: util.set_environment('WINEDLLOVERRIDES','openal32=b')
I've had success by editing that file (in Proton-6.10-GE-1) to add on the ;version=n,b
bit.
It also seems to get into difficulty installing the dxredist as part of steam's installscript - either kill all wine processes, or reboot after the first launch to make the prefix. Note that if Origin is run without a patched version.dll even once - it's dead, poison pilled, etc. So ensure the WINEDLLOVERRIDES are in place, by checking the PROTON_LOG=1 generated file - ~/steam-1328670.txt. It says right at the top what's active.
The steps by @Fractal147 seem to work for me. Thanks for the walkthrough!
On step 4: Cancelling the EA App installer itself (click X and "Cancel Installation") and just letting it exit back to Steam seemed to leave the wine prefix in a sufficient state for installing Origin and the version.dll patch - no need to force quit in a panic. The b0rk3d achievement data didn't get downloaded.
Also, big thanks to @p0358 for working on this project!
Just to jump in and add how to get it working via Lutris too. Either use the manual method (just copy via linux browser into the right folder) or the installer: in Lutris under wine runner, click the button at bottom and run winetricks. I tried install application, cancel, then "run taskmgr" and pointed to the installer exe and completed it.
Back in Lutris, on Origin right click and configure. Go to runner options tab, change to a nicer wine version ( i went lutris-ge-proton8-12), then went down to DLL overrides and added a key of "version" and value "n,b" (without the quotes) and saved. Voila, stinky update to EA is gone in Origin via Lutris :-D (no reinstall of Origin needed).
Thank you everyone for the app/dll, and this thread to get it working on my steamdeck again <3 p.s EA app is stinky, forced updates are even stinkier
Steam Deck User here. I followed every step but when I get into origin a pop up asks me to download EA app once I’m at the home page. I’m assuming the DLL file isn’t working. Did both manual and used installer. Everything should be working, used command line both with the %command% and without, proton is enabled tried multiple builds including experimental, did the command to put Origin into R&D mode etc. I didn’t read through the entire thread I definitely skimmed, but it seems like you got it working on deck. Do you have a step by step method or tutorial on what worked for you?
The step by step process does not work anymore. After I finish installing Origin, it tries to launch itself and just crashes.
I feel there's some important step that's missing.
winevulkan? Try installing DXVK, though I don't think it was originally needed in my case...
I'm playing through Proton, so there is no need to install DXVK, as it's already part of it. Using ProtonGE8-4 as a previous poster said it works.
On Fri, 13 Oct 2023, at 22:33, p0358 wrote:
winevulkan? Try installing DXVK, though I don't think it was originally needed in my case...
— Reply to this email directly, view it on GitHub https://github.com/p0358/Fuck_off_EA_App/issues/3#issuecomment-1762250813, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAFIPSFMTPKJ23WCHSCG3M3X7GXRHAVCNFSM6AAAAAAZSN2WUKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONRSGI2TAOBRGM. You are receiving this because you commented.Message ID: @.***>
So i've gotten everything working and have my origin in its own prefix and then I point my jedi fallen order install on steam to that prefix and it launches origin but origin tells me that the game isn't installed, any ideas? I want to also do this with burnout so having everything be in jedi fallen order's default prefix isn't exactly preferred
@Boba194230 Look at installScript.vdf
of the game (should be in its main dir) and make sure that all the registry keys specified in it are created in the same prefix that Origin is running in
Heres what I got. https://pastebin.com/zA09cVnp Not sure how to change it
Can I copy registry keys from one prefix to another? Would that fix it maybe?
Awesome exporting that reg key and importing into the origin prefix made it work, thanks!
Just pirate the damn games at this point. Multiplayer games I just use the shitty online launcher. Fuck EA
On Thu, Nov 30, 2023 at 7:49 PM Boba194230 @.***> wrote:
Can I copy registry keys from one prefix to another? Would that fix it maybe?
— Reply to this email directly, view it on GitHub https://github.com/p0358/Fuck_off_EA_App/issues/3#issuecomment-1835188347, or unsubscribe https://github.com/notifications/unsubscribe-auth/BBYRM6SXE637IV6TYRKRUATYHESTDAVCNFSM6AAAAAAZSN2WUKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMZVGE4DQMZUG4 . You are receiving this because you commented.Message ID: @.***>
Interesting can you make a step by step guide on YT?
On Fri, Dec 1, 2023 at 12:33 AM Boba194230 @.***> wrote:
Awesome exporting that reg key and importing into the origin prefix made it work, thanks!
— Reply to this email directly, view it on GitHub https://github.com/p0358/Fuck_off_EA_App/issues/3#issuecomment-1835493687, or unsubscribe https://github.com/notifications/unsubscribe-auth/BBYRM6XYMG4U75NLPA7HZW3YHFT3NAVCNFSM6AAAAAAZSN2WUKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMZVGQ4TGNRYG4 . You are receiving this because you commented.Message ID: @.***>
So i've gotten everything working and have my origin in its own prefix and then I point my jedi fallen order install on steam to that prefix and it launches origin but origin tells me that the game isn't installed, any ideas? I want to also do this with burnout so having everything be in jedi fallen order's default prefix isn't exactly preferred
Little late, but at least for running fallen order, origin isn't needed on steam. They shipped the game with a second exe that's missing any DRM, "SwGame-Win64-Shipping.exe". If you use wine regedit to change the link2ea class/protocol to just point to the location of the exe in the proton prefix for this game, the game will just run in proton without origin. Only downside is steam achievements will not work. I do this for all EA games with no online features that benefit the user.
Only thing is it appears to bug out with offline mode :/
Yeah I know about the other exe but I want my other games to work offline too, I would think about sailing the high seas but it’s honestly just as much work for some of the games
Yeah I know about the other exe but I want my other games to work offline too, I would think about sailing the high seas but it’s honestly just as much work for some of the games
Eh? There's a misunderstanding, nothing I said should imply the other exe won't work offline
No I know that Jedi does work offline with that I just also want to get my other origin games working offline as some like burnout paradise remastered don’t have that kind of exe
So bit of an update, offline mode works perfect actually for burnout paradise remastered using the copy reg key method and setting the compat path ofc. I'll try some more but I'll probably use the secondary exe for Jedi Fallen Order but this knowledge will help out my other games.
Glad it started working for you. Yeah, unfortunately that other game can't be played by any other method since it's stuck in jail with shitty software. Can't win 'em all.
Interesting can you make a step by step guide on YT? … On Fri, Dec 1, 2023 at 12:33 AM Boba194230 @.> wrote: Awesome exporting that reg key and importing into the origin prefix made it work, thanks! — Reply to this email directly, view it on GitHub <#3 (comment)>, or unsubscribe https://github.com/notifications/unsubscribe-auth/BBYRM6XYMG4U75NLPA7HZW3YHFT3NAVCNFSM6AAAAAAZSN2WUKVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQMZVGQ4TGNRYG4 . You are receiving this because you commented.Message ID: @.>
I can make a guide if you want
A noticeable problem when using the shipping exe for Jedi fallen order is the option for hdr does not exist weirdly enough.
I recall it showing up for me. Need to have HDR enabled on windows itself for it to show up.
I guess kinda guide, kinda an issue.
A focus for me for Mass Effect Legendary (ME:L) - which benefits from not having the EA App, since it breaks (by pushing a cloud save with all of them unlocked, whenever it's online) achievements.
(If you read this, and are willing to faff, you can follow the "set EA App to offline every single time you launch the game, and also delete the local achievements file while ME:L is in the launcher menu the first time" Link1
Follow the usual old origin version download, install: Link2
There's actually not much to do in principle: Wine (Proton) needs to be told to use your version.dll:
WINEDLLOVERRIDES="version=n,b"
to the launch options.This now, on Linux, GE-Proton7-48, gets me to the Origin library page. But it won't launch ME:L. Proton8.0-2 on the same prefix is the same - Origin, but no game. It is hanging around as a background app though.