Proton icon indicating copy to clipboard operation
Proton copied to clipboard

Battlefield 3 (1238820)

Open mimattr opened this issue 4 years ago • 45 comments

Compatibility Report

  • Name of the game with compatibility issues: Battlefield 3 Premium Edition
  • Steam AppID of the game: 1238820

System Information

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.

steam-1238820.log

Symptoms

Launching the application opens the standard Origin client followed by a native browser window which fails to launch the CAMPAIGN mode:

Screenshot 1

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:

Screenshot 2

Reproduction

  1. Select the title within your Library using the Steam client and press the Play button
  2. Sign-In using the BATTLELOG browser window and select CAMPAIGN > LAUNCH CAMPAIGN

mimattr avatar Jun 12 '20 02:06 mimattr

You need to setup an user agent for your browser to trick battlelog into thinking your on windows.

TheGreatMcPain avatar Jun 12 '20 08:06 TheGreatMcPain

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:

Screenshot 1

steam-1238820.log

mimattr avatar Jun 12 '20 13:06 mimattr

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?

tizzir avatar Jun 12 '20 23:06 tizzir

I hope this gets fixed. I might have to buy the game from Origin.

tpurde avatar Jun 17 '20 15:06 tpurde

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

TheGreatMcPain avatar Jul 04 '20 01:07 TheGreatMcPain

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.

tizzir avatar Sep 01 '20 00:09 tizzir

After reading successful reports on ProtonDB I tried to get at least single player working, but unfortunately Origin refuse to work for me:

Screenshot_20201224_014139

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?

sysinfo.txt steam-1238820.zip

RussianNeuroMancer avatar Jan 06 '21 03:01 RussianNeuroMancer

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

JesusXD88 avatar Apr 23 '21 00:04 JesusXD88

ah yes, now i remember why i have a strong dislike for this game in my steam library... every time i think i might try it out again i realise IT DOESN'T WORK. Launching a game from a browser....what a stupid idea. Nice work 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)

BETLOG avatar Dec 28 '21 11:12 BETLOG

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: image Firefox log: image

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: image Firefox log: image

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.

JustCryen avatar Feb 05 '22 16:02 JustCryen

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

BETLOG avatar Feb 07 '22 09:02 BETLOG

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?

JustCryen avatar Feb 07 '22 11:02 JustCryen

2022-02-07--19-56-38_betlogbeast_sudodpkgreconfigureKonsole

BETLOG avatar Feb 07 '22 12:02 BETLOG

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.

JustCryen avatar Feb 07 '22 13:02 JustCryen

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.

JustCryen avatar Mar 09 '22 15:03 JustCryen

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. image

JesusXD88 avatar Jul 24 '22 23:07 JesusXD88

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

BETLOG avatar Jul 25 '22 11:07 BETLOG

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.

JustCryen avatar Jul 26 '22 23:07 JustCryen

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 avatar Aug 03 '22 00:08 BETLOG

@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)

JustCryen avatar Aug 18 '22 18:08 JustCryen

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.

ciandonovan avatar Nov 19 '22 20:11 ciandonovan

:o I need to try it then. Any particular proton version?

JustCryen avatar Nov 19 '22 21:11 JustCryen

Default setup (do not use forced compatibility tool/proton) Delete prefix Play... Installs EAlink, Punkbuster, redistribtable... stops at the link2EA application window fail: 2022-11-20--07-52-09_betlogbeast_Link2EA

BETLOG avatar Nov 19 '22 21:11 BETLOG

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.

JustCryen avatar Nov 19 '22 22:11 JustCryen

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.

ciandonovan avatar Nov 19 '22 22:11 ciandonovan

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!

ciandonovan avatar Nov 19 '22 22:11 ciandonovan

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 avatar Nov 19 '22 23:11 BETLOG

@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 avatar Nov 19 '22 23:11 ciandonovan

@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.

BETLOG avatar Nov 20 '22 04:11 BETLOG

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.

BETLOG avatar Dec 18 '22 07:12 BETLOG