ValveSoftware / Proton

Compatibility tool for Steam Play based on Wine and additional components
Other
23.43k stars 1.02k forks source link

Battlefield 3 (1238820) #3972

Open mimattr opened 4 years ago

mimattr commented 4 years ago

Compatibility Report

System Information

I confirm:

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
TheGreatMcPain commented 4 years ago

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

mimattr commented 4 years ago

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

tizzir commented 4 years ago

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?

tpurde commented 4 years ago

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

TheGreatMcPain commented 4 years ago

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

tizzir commented 3 years ago

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.

RussianNeuroMancer commented 3 years ago

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

JesusXD88 commented 3 years ago

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

BETLOG commented 2 years ago
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)
JustCryen commented 2 years ago

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.

BETLOG commented 2 years ago

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

JustCryen commented 2 years ago

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?

BETLOG commented 2 years ago

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

JustCryen commented 2 years ago

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 commented 2 years ago

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.

JesusXD88 commented 1 year ago

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

BETLOG commented 1 year ago

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

JustCryen commented 1 year ago

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.

BETLOG commented 1 year ago

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

JustCryen commented 1 year ago

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

ciandonovan commented 1 year ago

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.

JustCryen commented 1 year ago

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

BETLOG commented 1 year ago

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

JustCryen commented 1 year ago

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.

ciandonovan commented 1 year ago

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 commented 1 year ago

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!

BETLOG commented 1 year ago

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.

ciandonovan commented 1 year ago

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

BETLOG commented 1 year ago

@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 commented 1 year ago

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 commented 1 year ago

Punkbuster was kicking me. So evidently my most recent install didn't include that. Go to evenbalance.com and get the windows executable at top of list. WINEPREFIX="/path/to/library/compatdata/1238860" wine pbsetup.exe Select Battlefield 3 Locate the bf3 folder in your local dir structure (not the prefilled windows dir structure) You may find it necessary to make a symlink to the folder to workaround pbsetup.exe's inability to see hidden directories.

kisak-valve commented 1 year ago

Battlefield 3 - BF3 - Not Working Steam Deck

Issue transferred from https://github.com/ValveSoftware/steam-for-linux/issues/9055. @NoelCosta posted on 2022-12-31T16:53:51:

Your system information

Please describe your issue in as much detail as possible:

Issue 1: I cannot open the campaign from the normal gaming mode without an internet connection. When I launch it from desktop mode I need an internet connection. I also had to download an addon to make the browser think I was launching from a windows device.

Issue 2: Then when I go into the campaign some actions require the default keyboard buttons, and cannot be done with a controller. I think the default controls need to be changed to keyboard and mouse.

Steps for reproducing this issue:

  1. Press on play 321783170_3426633367608551_8284331246081573205_n 322924180_682799680296652_1919551250805910424_n
JustCryen commented 1 year ago

You may find it necessary to make a symlink to the folder to workaround pbsetup.exe's inability to see hidden directories.

The easiest way to do this (imho) is to copy the pbsetup into the proton container and run the program from there. So <path_to_the_steam_library>/steamapps/compatdata/1238820/pfx/drive_c/pbsetup.exe would be the path of the program and then it launches properly, you just need to add the game with drop down menu and it updates without any issues ;)

JustCryen commented 1 year ago

NOOO Today my EA bloatware updated and now the game cannot be started :( First log seems to be repeating big sections over and over again and it got really big. So I'll include the second log that's quite a bit smaller. steam-1238820.log steam-1238820.log

NerosTie commented 1 year ago

@JustCryen The game launch a page on your web browser and you have to launch the game from here but you also need to change your "User Agent" (with an addon) to something like "Firefox -> Windows Firefox 33". It's weird and stupid, but it works.

JustCryen commented 1 year ago

@JustCryen The game launch a page on your web browser and you have to launch the game from here but you also need to change your "User Agent" (with an addon) to something like "Firefox -> Windows Firefox 33". It's weird and stupid, but it works.

Yeah, I know that. It just crashes the… EA launcher(?) and never launches the website.

I've tried repairing the proton bubble but no luck so far, maybe I'll nuke it and try installing it in a fresh instance.

JustCryen commented 1 year ago

Okay so… nuking it helped for some reason. Sorry for panicking ;P

nded03 commented 11 months ago

The Origin to EA App transition seems to have introduced a new key registration error. There are workarounds for the issue on Windows that might be adapted to Linux/Proton but really this is something that EA should fix on their end. Screenshot from 2023-07-29 08-01-02

JustCryen commented 11 months ago

@nded03 I've recently convinced my friend to play BF3 again. He's on Windows and as he said, he used the same PC back in the day to play BF3 and yet, he was greeted with the same message.

EA and their software might be annoying most of the time but I'm happy that once they introduced this new EA app thingy, BF3 started working on Linux. (previously it was not working because of the ICMP (ping) issue).

Btw, I was able to reactivate the Product Key with a Venice Unleashed tool on Linux even though VU itself doesn't work on Linux.

BETLOG commented 11 months ago

@JustCryen https://github.com/ValveSoftware/Proton/issues/3994#issuecomment-1671322761

JustCryen commented 11 months ago

@BETLOG well, I'm playing flawlessly without the need for any additional fixes basically since the new EA launcher was introduced. (I still had to update punkbuster and switch the browsers user agent for battlelog but that was it)

But I'm using Arch so that might be different for me since you mentioned it has something to do with Debian?

Previously I couldn't get it working but as far as I'm aware it was a problem only on Proton and it already worked on Wine back then.

LethalManBoob commented 6 months ago

Just keeps crashing to the desktop during the loading screen. Tried honestly everything you could think off. Esync, fsync, mangohud, nvapi. Everything. Happens on proton-8.0 experimental and cachy bf3.txt

polluxau commented 3 months ago

anyone else experiencing no mouse input under xwayland on kde plasma 6 with latest proton?

kisak-valve commented 3 months ago

Hello @polluxau, see https://github.com/ValveSoftware/Proton/issues/7564#issuecomment-2017700511.

frmdstryr commented 2 months ago

Here's the process I've used with success. It seems like every time the EA app updates it stops working and I have to do a full wipe and reinstall.

  1. Delete the app data if it exists ~/.steam/steam/steamapps/compatdata/1238820/
  2. Click on BF3 properties in steam, goto installed files, and Verify the integrity
  3. Goto compatibility and set proton compatibility to 7
  4. Launch the game and let the EA app install, and PB install. Wait until the EA app just shows up, I just get a blank blue rectangle.
  5. Stop the game in steam, and switch compatibility back to 9 or experimental, and play it again. The EA App should load now.
  6. Update punkbuster (protontricks-launch --appid 1238820 ~/path-to/pbsetup.exe)
  7. Set firefox user agent to windows
  8. If you get the loicense error, delete ~/.steam/steam/steamapps/compatdata/1238820/pfx/drive_c/ProgramData/Electronic Arts/EA Services/License/71067.dlf and try again
  9. If clicking Play does not start the EA App a few days later, go back to step 1

It's quite annoying. It seems like the EA app installer does not work with proton 9 but the latest version it installs it doesn't work with 7.