Steam and EA app copies
From 1.3.1, the launcher plays any copy of F1 25 you have: Steam's, the EA app's, or a game folder you add. Play, swofty run, swofty apply and swofty build use the active copy.
Switch copies
The bottom-left of the launcher shows the active copy: its version, a STEAM or EA APP badge, and how it runs.
- Select the game name next to the cover art.
- Under Play this copy, select the copy you want. Each one shows its store, version and folder, and the active one has a check.
The launcher remembers your choice. If the active copy is uninstalled, the launcher plays the first copy it finds instead.
While F1 25 is running
The launcher matches a running F1 25 to a copy by the folder its F1_25.exe runs from.
- Stop closes the active copy's game only.
- While another copy's game runs, the play bar says which store it's from and Play is unavailable. You can still switch copies, and Switch to it makes the running copy the active one.
- The launcher never closes a running F1 25 it can't match to the active copy.
swofty run --restartcloses a running F1 25 only when it's the copy being played.
Add a game folder
- Select the game name, then Add another folder…. When no copy is found, select Locate game on the Play button instead.
- Type the folder's path, or select Browse… and choose it. It's the folder with
F1_25.exe. - Select Add and play this copy.
The folder becomes the active copy. A folder with __Installer/installerdata.xml gets the EA APP badge.
Where the launcher finds copies
| Copy | Found from |
|---|---|
| Steam | The Steam library that has app 3059520 |
| EA app on Windows | Install Dir under HKEY_LOCAL_MACHINE\SOFTWARE\Codemasters\F1_25, then the Windows uninstall entries, then the EA app's download folders, then Program Files\EA Games |
| EA app on Linux | Added with Add another folder… |
| Any other folder | Added with Add another folder… |
An EA app copy needs F1_25.exe and __Installer/installerdata.xml in its folder.
The EA app's download folders are the downloadinplacedir lines in %ProgramData%\EA Desktop\machine.ini and %LOCALAPPDATA%\Electronic Arts\EA Desktop\user_<id>.ini.
An added folder that no longer has the game shows as Folder not found in the switcher, and Play uses the first copy found instead.
The store starts with the game
Play starts the store the active copy came from:
- Steam copy: the launcher starts Steam and waits for it to sign in. See Steam.
- EA app copy: the launcher starts the EA app, installs your profile into the game folder, then asks the EA app to launch F1 25. See EA app.
To turn this off, select the arrow next to Play and clear Start Steam automatically or Start the EA app automatically. One setting covers both stores.
The EA app copy on Linux
On Linux, the launcher hands the EA app a launch link through a command you set. Set ea_launch_command under "launch" in $DATA/config.json, with {url} where the link goes. This example is for a script whose run starts the EA app in its Proton prefix and whose wine runs a program in the running EA app's prefix:
{
"launch": {
"ea_launch_command": "u={url}; L='C:\\Program Files\\Electronic Arts\\EA Desktop\\EA Desktop\\EALauncher.exe'; if [ -z \"$u\" ]; then exec setsid -f /path/to/ea-app.sh run \"$L\"; else exec /path/to/ea-app.sh wine \"$L\" \"$u\"; fi",
"ea_prefix": "/path/to/EAApp/pfx"
}
}ea_launch_commandruns withsh -c. With a link, it must reach the EA app that is already running, in the same Wine prefix.- When the EA app is closed, Play runs
ea_launch_commandwith{url}left out to start it, waits up to 90 seconds forEADesktop.exe, then 10 seconds more before it hands over the link. When that command exits with an error, the launch link starts the EA app instead. - The EA app must keep running after
swoftyexits. A sandbox that ends with its parent, such assteam-run, needssetsid -fin front of the command that starts the EA app. ea_prefixis the EA app's Wine prefix: the folder withuser.reg, or the Proton folder that holdspfx. The launcher writes the in-game loader's DLL setting there.
Without ea_launch_command, Play on the EA app copy stops with a message naming the setting.
From the command line
swofty game list
swofty game use steam
swofty game use ea
swofty game use "/games/F1 25"
swofty game add "/games/F1 25"
swofty game launch --vrswofty game listshows each copy's store, version and folder, with*next to the active one.swofty game usepicks the active copy by store (steam,ea) or folder.swofty game addadds a folder and makes it the active copy.swofty game launchasks the EA app to start the EA app copy as it's installed, without your profile or offline play. Add--vrfor VR.--game <dir>on any command plays that folder for one run.swofty doctorlists every copy and marks the active one.