Proton
Proton copied to clipboard
Battlefield 3 (1238820)
Compatibility Report
- Name of the game with compatibility issues: Battlefield 3 Premium Edition
- Steam AppID of the game: 1238820
System Information
- GPU: RTX 2060
- Driver/LLVM version: NVIDIA 440.64
- Kernel version: 5.4.0-37-generic
- Link to full system information report as Gist
- Proton version: 5.0-9
I confirm:
- [x] that I haven't found an existing compatibility report for this game.
- [x] that I have checked whether there are updates for my system available.
Symptoms
Launching the application opens the standard Origin client followed by a native browser window which fails to launch the CAMPAIGN
mode:
Changing the application's Proton/Windows prefix to Windows 7 using the following command results in the same issue:
env STEAM_COMPAT_DATA_PATH=~/.local/share/Steam/steamapps/compatdata/1238820 proton run winecfg
For completeness, using the Windows Vista prefix results in the following error during launch:
Reproduction
- Select the title within your
Library
using the Steam client and press thePlay
button -
Sign-In
using the BATTLELOG browser window and selectCAMPAIGN
>LAUNCH CAMPAIGN
You need to setup an user agent for your browser to trick battlelog into thinking your on windows.
You need to setup an user agent for your browser to trick battlelog into thinking your on windows.
@TheGreatMcPain Thanks for the workaround, installing User-Agent Switcher and Manager and selecting the Firefox 76.0
(Windows 10) preset resolved the initial issue.
Unfortunately the application now fails to launch during its "INITIALIZING" process after selecting CAMPAIGN
> LAUNCH CAMPAIGN
within the BATTLELOG browser window:
I'm encountering the same issue as @mimattr. If I run Steam through a terminal, when I click on any of the buttons that should start Battlefield from the browser, I see a line like this from the Steam process:
gio: steam://run/1238820/?cmdParamsBase64=<long string of seemingly-random characters>: The specified location is not supported
Perhaps the browser is properly sending the request to Steam, but the Linux Steam client doesn't know what to do with it?
I hope this gets fixed. I might have to buy the game from Origin.
I'm not sure if this will work since I don't own this on steam, but have you tried installing a browser into BF3's Proton prefix?
Like: protontricks 1238820 firefox
Unfortunately, this doesn't seem to work @TheGreatMcPain. After installing Firefox in the proton prefix, launching the game still launches the native browser.
When running Firefox from the prefix directly while Origin is running in the background, the website complains that it could not detect a running instance of Origin, and the prompt to run Origin results in the instance of Firefox not knowing how to open origin2://
URIs. It's almost as if it's running from a different prefix, but I can' tell why/how that would be the case.
After reading successful reports on ProtonDB I tried to get at least single player working, but unfortunately Origin refuse to work for me:
Error message is "Something went wrong, during loading this page, Orgin App got problem. Try to load this page again or try again later." I can't open apps settings, game library, nothing, all I can do is to close Origin. This issue prevent me from applying workaround from ProtonDB - I can not select single player mode in game properties.
Tried Proton 5.0/5.13/5.21-GE - neither works. Meanwhile Origin works for me just fine in Battlefield 4 prefix (Proton 5.13) - why so? How is this even possible?
I think there is something broken between Steam-Origin. @RussianNeuroMancer if you go to Origin > Log Out and relog again, Origin works fine. However no matter how much you click the Run BTF3 in Origin it doesn't work. Now if you go to battlelog with User Agent Switcher on, and try to join a server, it actually sends the command back to origin, but the thing is that Origin cannot start the game. I've tried running the game through Lutris, installing the Steam Windows version and I can confirm that Lutris Wine 5.7-11 loads Windows Steam just fine and actually then if you click on join server while Windows Steam and Origin are running, the game indeed boots up and you can play fine (but the performance is not as good as with Proton). However, if I try to repeat the same process with Proton, no matter what version, Steam Windows crashes at launch telling that Steam could not connect to the Steam Network. So, I suppose its an issue with how the Steam Linux client interacts with its Windows counterpart on Proton and with Origin
Has anyone from steam even glanced at this issue? Is it's fix unavailable because of a geko (wine's browser libs) issue? (i cant run procon any more becasue of a weird gecko issue)
I'm now trying to get this running so I'll post some of my findings.
Already fixed issues
I had the same issue as @RussianNeuroMancer and deleting the 3 folders suggested in this thread seemed to work for me. https://answers.ea.com/t5/Origin-Client-Web-Technical/Well-that-didn-t-go-as-planned/m-p/5543899#M217029 This should do the trick:
rm -r ~/.local/share/Steam/steamapps/compatdata/1238820/pfx/drive_c/ProgramData/Origin
rm -r ~/.local/share/Steam/steamapps/compatdata/1238820/pfx/drive_c/users/steamuser/AppData/Local/Origin
rm -r ~/.local/share/Steam/steamapps/compatdata/1238820/pfx/drive_c/users/steamuser/AppData/Roaming/Origin
I was quite skeptical of this solution since the game was just downloaded and the prefix was just created but… I tried it and it actually worked, so far it didn't repeat.
Second tweak is changing the user agent in my browsers (I'm testing it with Brave [chromium] and Firefox) Both browsers are the native linux browsers, I haven't been able to get winebrowser to open. The addon I'm using is "User-Agent Switcher and Manager" and the config is: Options -> custom mode
{
"www.battlelog.battlefield.com": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4495.0 Safari/537.36"
}
Also disable any form of adblock for this site.
Additionally I've updated punkbuster but I was unable to verify if this actually makes any difference.
So in conclusion, game is downloaded, Origin seems to be working correctly, browser seems to see origin when "game is running" Proton version is 6.21-GE-2 Still haven't been able to play the game, more on that in a sec.
My issues
For now the issue I have is, when trying to launch the game in battlelog website (after launching the game on steam so Origin is running) the site is stuck on:
When trying quick match it's stuck on "MATCHMAKING"
Nothing happens next.
Chrome log:
Firefox log:
When trying campaign it's stuck on "INITIALIZING campaign"
It actually attempted to launch the game through steam again (steam popup "launching game" appeared and the game appears as running but…
Chrome log:
Firefox log:
For now I'm stuck on this. I've tried the ICMP (ping) fix from archwiki but it's the same result with it or without it. https://wiki.archlinux.org/title/wine#Networking
I hope someone might find it useful and maybe we'll find the solution soon.
re: ping
Not sure how useful this is to you, but i made a note of this recently, as it relates to setting that permission:
sudo dpkg-reconfigure wine-stable-amd64 wine-stable wine-stable-i386
I'm on Arch so it doesn't tell me much, sorry. I'm guessing it's for resetting whatever configuration I might already have for these packages, right?
Oh, that's the same thing as the ICMP (ping) fix I mentioned earlier.
setcap cap_net_raw+epi /usr/bin/wine-preloader
Yeah, it didn't help.
Okay, I had a break from tinkering with BF3 but I think I found the source of my issues.
I found a post on Reddit discussing setcap
not working with Proton due to proton containerization with pressure-vessel
https://www.reddit.com/r/SteamPlay/comments/lm9qyq/setcap_not_working_with_proton/
Chek out cTrox's comment.
For now I'm unable to confirm if this works. Also, assuming it works, this is obviously not an ideal solution to the problem.
The ICMP thing was fixed in Proton-GE a while ago (at least since mid 2021), and that was also the reason that you are now able to play on all servers on Battlefield 4 as well (without that fix, most servers kicked you for not reporting ping). I've tried launching the campaign or joining a server, with the user agent that @JustCryen posted, and Steam seems to launch the game but no window appears. Opening the dev tools, the console reports a CORS error, I've searched online about that error, but the solutions posted online doesn't seem to fix the problem.
Steam seems to launch the game but no window appears
After spending many hours with the same problem I used Lutris, which worked out of the box. (plus "User-Agent Switcher and Manager" for chrome... offhand i forget which agent i spoofed) Yes, I want to see whatever incredibly trivial tweak lutris uses merged into the steam install script. cough
Doesn't Lutris use the Windows Steam with wine itself?
Wine does not have this issue and setcap
works in wine, it's just a proton problem.
I just took another run at making this work, so i'm sharing the pain again, but this time with logs.
2022-08-03--09-36-15 battlefield 3 in steam - again
chrome/firefox plugin "User-Agent Switcher and Manager" Options -> custom mode { "www.battlelog.battlefield.com": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4495.0 Safari/537.36" }
PROTON_LOG=1 STEAM_LINUX_RUNTIME_LOG=1 STEAM_LINUX_RUNTIME_VERBOSE=1 steam NOTE: using all of those vars may cause steam to say it cant login, running just steam or some random combination of the vars will make it work again.... was writing a report on that but it made me think it was working again and i closed the page, then it started to fail again.....so now I CBF
set bf3 steam compatibility to proton 7.0-3 start bf3 ...installs origin ...installs pb ...installs DX ...starts origin ...opens https://battlelog.battlefield.com/bf3/?intcmp=originclient join random server... browser says 'JOINING SERVER"... never does exit browser tab STOP game in steam exit steam
/media/user/steamdata/logs/2022-08-03--09-45-20_steam-1238820.log https://pastebin.com/gWVCh8dt
DID NOT DELETE PREFIX
https://github.com/ValveSoftware/Proton/issues/3972 rm -r /media/user/steamdata/.steam/steam/steamapps/compatdata/1238820/pfx/drive_c/ProgramData/Origin/ rm -r /media/user/steamdata/.steam/steam/steamapps/compatdata/1238820/pfx/drive_c/users/steamuser/AppData/Local/Origin/ rm -r /media/user/steamdata/.steam/steam/steamapps/compatdata/1238820/pfx/drive_c/users/steamuser/AppData/Roaming/Origin/
PROTON_LOG=1 STEAM_LINUX_RUNTIME_LOG=1 STEAM_LINUX_RUNTIME_VERBOSE=1 steam
bf3 steam compatibility STILL SET to proton 7.0-3 start bf3 ...starting bf3 dialog... ~15 seconds ...small chunk of network traffic.. no other signs of operation ...~5 minutes later...nothing press stop wait a few sec press play ...>5 minutes later...nothing STOP game in steam exit steam /media/user/steamdata/logs/2022-08-03--10-14-57_steam-1238820.log https://pastebin.com/wDb6QfTZ
TLDR: deleting the folders just made it unable to even launch Origin.... as expected. I'm not sure what you were fixing with that @JustCryen . Presumably something now moot.
[edit] Meanwhile: lutris works flawlessly with no additional steps (aside from the user agent spoofer) under lutris-GE-Proton7-24-x86_64 and lutris-7.2-2-x86_64
@BETLOG I had this screen that said something about origin being offline and unable to connect. The removal of these three folders did weirdly fixed this issue (if I remember correctly) but the game still didn't work (probably it's straight up problem wit setcap not working with proton, this game requires it to work)
It's now working ~~flawlessly without modification~~ (need to install latest Punkbuster or be kicked), I think the new EA Launcher actually fixed it! Still need to spoof the browser's user-agent to Windows or Battlelog will refuse to do anything.
Running with the Steam Flatpak from Flathub, haven't tested it with other configurations.
:o I need to try it then. Any particular proton version?
Default setup (do not use forced compatibility tool/proton)
Delete prefix
Play...
Installs EAlink, Punkbuster, redistribtable...
stops at the link2EA application window fail:
IT DOES INDEED WORK I'm using steam, at first I used GE-Proton7-24 as BETLOG suggested but it wouldn't go pass the link2EA window. It starts on GE-Proton7-10, I will try other ones too but damn, BF3 finally runs <3 I didn't even had to update punkbuster! EDIT: GE-Proton7-41 seems to work as well.
Works for me on Proton Experimental too. On older Proton versions all the EA app screens are blank.
I've just recalled that you do need to manually download and run the latest Punkbuster, as many servers require a version newer than the one provided out-of-the-box, and while it will at first seem like it's working without, you'll get kicked after a few minutes.
I've been playing it on Steam for around 2 weeks now, setcap
for ICMP ping or any other elevated privilege hacks are definitely not needed. With Steam being run in a Flatpak container, and then the game itself in yet another Steam Runtime container, those hacks would be difficult to apply anyway.
I don't own Battlefield Hardline, but IIRC it had the similar issues with the browser-based server picker, so it's possible there are improvements there too.
I'd say Battlefield 3 Linux players are possibly the only people excited by the new EA app!
at first I used GE-Proton7-24 as BETLOG suggested
Sorry, I deleted that post due to off topic and not really proton related. In summary: it said I use lutris wine-lutris-GE-Proton7-24-x86_64 for bf3, and steam for all my other bf titles except BF1 https://github.com/ValveSoftware/Proton/issues/5047#issuecomment-1309951937
GE-Proton7-10
Still fails the same way for me (screenshot above). Probably because I'm on Kubuntu 20.04 ...and I cant upgrade because among other clearly broken things that I seem to be the only person noticing: 22.04 ffmpeg x11grab puts several seconds lag between the streams when recording desktop audio and video... nobody else seems to have experienced this, so that's a showstopper for me.
@BETLOG have you tried the Flatpak? It "just works" with Steam in my experience, you also get much newer Mesa drivers than those that ship with the base 20.04.
Note however, that you'll have to use a PPA or backport of Flatpak v1.12 or higher, since Steam needs to be able to create a container for Proton, while within another container (Flatpak), and versions previous don't support that.
@ciandonovan I haven't. Honestly I have spent more time than I wanted unsuccessfully wrangling steam for bf3, so at this point I'm a bit over it. Lutris works OOTB so for now I'm just going to use that, and bfbc2 is my true love anyway. (which works fine in steam) I'm not really a fan of flatpacks/snaps/etc but I'll keep that suggestion in mind for the future.
After playing lutris bf3 a few days ago, i come back to it today to try to figure out why a mouse button isnt binding, and as if by magic bf3 starts failing, and so I try steam again. Same old commondata dir, deleted and replaced compatdata dir with latest GE-Proton7.42...and it works. It seemed to like crashing to desktop when i tabbed out, so I'm currently testing it with 'windowed' set in the game, and 'fullscreen, & 'no border' set in KDE. Also of possible note is that lutris (lutris-GE-Proton7-34-x86_64) was still using the old Origin, and steam installed the new Link2EA.exe [EDIT] this may have just been PB kicking me.
Kubuntu 20.04 BTW.
inux-image-5.15.0-53-generic
...because all the more recent kernels I have cant boot into the GUI, for no apparent reason. Maybe related to having 120-something days remaining on this LTS support, so updates may have started to break older releases, as usual.
linux-image-5.15.0-56-generic
linux-image-5.15.0-56-lowlatency
linux-image-5.8.0-63-lowlatency
[EDIT] I set 'CMS enable' to disabled in BIOS. The latter was the source of the issue. Worked with older kernels, didnt work with newer kernels.
Possible Steam BUG: if the game crashes, and the game is restarted from within the originally running Link2EA.exe, steam registers the call to start the game (displays a steam "preparing to launch.." dialog) , however does not raise or load battlelog.battlefield.com, and therefore fails to start the game. It is necessary to exit Link2EA and restart the game from within Steam.