


Great game
I had to update Firefox's user agent to Windows 10 and also update punk buster. One can use an extension on Firefox to switch found here: https://addons.mozilla.org/en-US/firefox/addon/user-agent-string-switcher/
Punkbuster can be found here: https://evenbalance.com/downloads.php
Add the Windows installation file as a non-Steam game with proton compatibility, once it is running select add game and point it to your BF installation in your SteamLibrary/steamapps/common directory.
If you have an error regarding you game not being activated you will need to delete the file 71067.dlf or 71069.dlf located in SteamLibrary/steamapps/compatdata/1238820/pfx/drive_c/ProgramData/Electronic Arts/EA Services/License After doing this, starting the game will generate a new license fixing the issue. Instructions were adapted from https://forums.ea.com/discussions/battlefield-franchise-discussion-en/re-invalid-license/5894736

So the EA App is broken once again on Linux, this dosen't happen insanely often, but I could not actually play the Steam version even though I used GE-Proton.. If the EA App isn't already installed(or if it is) it may nigh-instantly close itself and not finish the install script or launch the game.
Go to Bottles, if you already the EA App installed, congrats. If it's having issues, make a new one, change the "runner" to GE-Proton9-25 & install the EA App using the default "Install Programs..." options.
Once it is installed it should load, if you have EA Games registered to the EA App, then ytou should be able to download & launch them now.
I don't have a specific fix for the Steam Version, but if you can run the Steam version in a Bottles Container(You should be able to) that could solve your problem there, if you can make the install script detect the existing EA App in the Bottles Prefix.

__GL_DXVK_OPTIMIZATIONS=1
DXVK_ASYNC=1
DXVK_GPLASYNCCACHE=1
Install VC 2008 Redist
Works perfectly on Linux using Lutris with a little bit of tinkering, still a great game in 2024 for a short fun campaign :)

Works Great
You have to change your browser's user agent to be able to launch the game

Had in issue with DRM - an old pre-Origin DRM window popped up after the game was launched "We could not activate Battlefield 3 on this computer using the EA Account you provided ERROR". None of the options presented in the window are still working. Found a solution online (props to rostigernagel4266):
You need to set hidden files visible, then go to: C: > ProgramData > Electronic Arts > EA Services > License Move or delete the file 71067.dlf or 71069.dlf or both or all visible .dlf files. Start the EA app and then Battlefield 3. During the start, the EA app generate a new License file. Worked for me.
The browser doesn't show pings, but the same issue could be encountered in Windows as well.

Works great through EA App running in Bottles. You have to switch your web browser's user agent to Windows.
Some servers might kick you out for outdated PunkBuster. You can update it manually by following instructions here: https://help.ea.com/en/help/battlefield/punkbuster-bans-kicks-troubleshooting/ After that the experience should be flawless.
At first the game was failing installation for some reason. I had to delete the prefix and reinstall EA App again, then the game installed fine.


Nothing works.
Tried all methods listed on report, used Proton 7.0, Proton Experimental, GE, tried switching, using both native and flatpak Steam version. Nothing works. EA only installs on Proton 7.0, but only works on 8.0+. The game won't open in any Proton version, maximum i could get was achieving a port 3216 connection error.

Stuttering
Update Punkbuster manually, set User Agent of web browser to Firefox>Windows 10.

punkbuster needs to be updated via windows exe from their site
Need to update punkbuster manually via windows punkbuster installer and install user agent switcher to firefox
THE GAME WORKS FINE BUT...
You need some work. Set proton version to 7.0-6 and launch the game (first run installs punkbuster, ms vc, origin, blah blah. Login to origin. The game will start but it will crash. Download punkbuster for windows https://evenbalance.com/pbsetup.php and add pbsetup.exe to your library as a nonsteam game. Set proton 7.0-6 for pbsetup.exe too. After instalation you you will have punkbuster client window. Search for updates, add BF3 (NOTE: pb will not show folders starting with ".", so you can paste this path: "Z:\home<username>.steam\steam\steamapps\common\Battlefield 3" (without " ofc). It should end on "Battlefield 3", not "bf3.exe". After adding the game wait some time to let pb install updates. After that once again check for updates by clicking on upper bar. After that you can close pb by clicking "Quit" button on the bar. Now you will need firefox (install it if you don't have). I used this https://addons.mozilla.org/pl/firefox/addon/uaswitcher/ and it works well. Set your user agent to "Windows / Firefox". Now go to https://battlelog.battlefield.com/bf3/ using firefox and log in. That's all. REMEMBER: Every time you gonna launch the game, LAUNCH THE GAME FIRST! Then copy link from browser (if it started on firefox - don't do anything) to firefox, select the server and press play. The game will start minimized, just click on it on your bar or use ALT + TAB.

STEAM_COMPAT_DATA_PATH="/home/<username>/.steam/steam/steamapps/compatdata/<EA app ID>" %command%
Multiplayer needs a little tweak get windows punkbuster https://www.evenbalance.com/pbsetup.php run it from terminal INEPREFIX=/home/user/.steam/steam/steamapps/compatdata/appid/pfx/ /home/user/.steam/steam/compatibilitytools.d/GE-Proton8-11/files/bin/wine64 "/home/user/.steam/steam/steamapps/compatdata/appid/pfx/drive_c/Program Files/EA Games/Battlefield 3/pbsetup.exe" after it loads add game can close after it finishes run BF3 from steam EA App opens browser loads join game works with librewolf,firefox without a plugin
Work same as on windows

User-Agent Switcher extension works for Battlelog. New EA app broke something and now the game can't launch due to a key registration error.
User-Agent Switcher extension for Firefox to get Battlelog working
There are workarounds for the key issue on Windows, but nothing for Linux/Proton yet as far as I can tell.
DXVK_ASYNC=1 DXVK_FRAME_RATE=144 gamemoderun %command%
Punkbuster anti-cheat, but to be honest I don't care because I got the game due to the Campaign mode
First, enter dekstop mode. Search the Punkbuster site on firefox and download the exe for windows, add it as a non-Steam game, force Proton compatibility (use the latest version available) and update the BF3 exe. This is essential, otherwise when you try to join a server, the game will kick you out. After that, download the "User Agent Switcher" Firefox extension. (I recommend looking for the "PC Gaming.it" video relating to Battlefield 3 on Youtube, since in the description of the video there are both programs you will need.) Now add FireFox as a non-Steam game, this will be very important for playing . Now the final part: enter game mode, start firefox and log into the battlelog, select what you want (campaign, multiplayer) but don't click on it, start Battlefield 3 but don't close Firefox and wait for it to send you back to the game's internal browser ( the one that asks you to use the touch to be clear) once you get to the battlelog page, go back to firefox and select what you want from there. Done, now the game launches without problems. The game has controller support, but it doesn't have aim assist, so in multiplayer you will struggle a bit at first, but once you get used to it there will be no escape for anyone lol

Here is a detailed guide for anyone struggling to get multiplayer working:
Avoiding performance issues (frame dropping and stuttering in combat):
- Install BF3 from the EA app via Lutris (this is the easy part, as you can find tons of tutorials on YouTube)
- In case you want to download multiple games through the EA app, I recommend you duplicate it inside Lutris to avoid conflicting configurations (e.g. I was unable to run both BF3 and BF4 in the same EA app due to different DirectX installations)
- In Lutris, select your BF3 EA app and click the arrow up ▴ beside the "Play" button, go to "Configure" -> "Runner options" tab
- Change the "Wine version" from the default lutris wine to "lutris-GE-Proton7-35-x86_64" (I find Proton GE is way more optimised for both BF3 and BF4)
Updating punkbuster client (avoid getting kicked from multiplayer):
- Punkbuster needs to be updated for this game, you can just do a quick search for "punkbuster update" on google and download it from the first link (Select "For All Windows Games" version)
- Extract the downloaded .exe to your BF3 root folder
- Go back to Lutris, select your BF3 EA app, click the arrow up ▴ beside the Wine button and select "Run EXE inside Wine prefix" (you might need to have "Winetricks" installed for this)
- Navigate to your BF3 folder and double-click pbsetup.exe
- After installing punkbuster, you should see BF3 listed. Just click the update button to make sure it's all good
Installing DirectX (fixes Origin launch error message):
- You have to install the right DirectX version for BF3. You can just go back to Lutris and click "Run EXE inside Wine prefix" again for your BF3 EA app.
- Navigate to your BF3 folder -> __Installer -> directx -> redist -> double click "DXSETUP.exe"
- Wait for the installation to finish
Installing a user agent switcher extension to your browser (Battlelog only launches the game from Windows):
- Download a "User-agent switcher" extension to your default browser where Battlelog should open
- Open BF3 from the Lutris EA app
- Change your Battlelog tab/browser user agent to a Windows browser and refresh the page
- Select your favourite server and have fun :D

You need to install an user-agent switcher add-on in your browser and set your user-agent to Windows.
As on Windows: You need to update Punkbuster manually by downloading https://www.evenbalance.com/pbsetup.php, extracting pbsetup.zip and installing it with the command: WINEPREFIX=$HOME/.steam/steam/steamapps/compatdata/1238820/pfx wine pbsetup.exe and adding Battlefield 3.

You need to install an user-agent switcher add-on in your browser and set your user-agent to Windows.
As on Windows: You need to update Punkbuster manually by downloading https://www.evenbalance.com/pbsetup.php, extracting pbsetup.zip and installing it with the command: WINEPREFIX=$HOME/.steam/steam/steamapps/compatdata/1238820/pfx wine pbsetup.exe and adding Battlefield 3.
DXVK_ASYNC=1 DXVK_FRAME_RATE=144 gamemoderun mangohud %command%
Needs a Punkbuster update, described below.
NOTE: I'm using Steam Native Runtime, haven't checked if it works with a regular Steam client.
Singleplayer works perfect. Frame-pacing is buttery smooth, better than on Windows.
Multiplayer requires two tweaks to get it working:
Use User Agent Switching in your web browser, required for Battlelog to work. I've set my Firefox to Windows 10, and Battlelog let me join servers.
Punkbuster needs to be manually updated. You can download the update tool from this link (choose All Windows Games): https://www.evenbalance.com/pbsetup.php Then you need to run the "pbsetup.exe" tool inside of the BF3 Proton prefix. Most likely you can do this with Protontricks, however I just used a terminal to do so (assuming you use Proton-GE):
WINEPREFIX=/path/to/steam/steamapps/compatdata/1238820/pfx
/path/to/steam/compatibilitytools.d/GE-Proton7-xx/files/bin/wine64
/path/to/pbsetup.exe
Once it launches, you have to choose "Add game" and select Battlefield 3 from the list. It should automatically detect your BF3 installation (mine was on the Z:\ drive), and once you select "OK" it should update the AC. Once it's done you can close it, close your terminal and launch the game.
Launch procedure is long, but it's as following:
- Steam launches EA App
- EA App opens a web browser with Battlelog
- Battlelog website launches BF3.exe (make sure your web browser can access localhost aka. 127.0.0.1)
If done correctly, Battlefield 3 will launch minimised on your taskbar, Alt+Tab into it and you're good to go! :)
TIP: If you use Surround setup make sure it's set to 5.1 mode. Battlefield 3 and 4 don't support 7.1 layouts.
It seems like they had to rewrite the web launcher code to move BF3 to their new app and this also fixed BF3 for Linux! Remember to update punkbuster manually not to get kicked from some servers.
gamemoderun %command%
Only when V-Sync was on
use gamemode and turn of compositor

Install Origin through Lutris https://lutris.net/games/origin/
When game starts it starts in a black window and nothing is happening after that. I had to minimize the windows and then restore it. After that it runs full screen. I have to do it every time.
Install Battlefield 3 through Origin
Install a browser extension to switch your user agent to Windows and Internet Explorer 11, such as: https://addons.mozilla.org/en-US/firefox/addon/ua-switcher
Next we need to update Punkbuster because Battlefield ships with an outdated version of punkbuster Download the official punkbuster setup: pbsvc https://www.evenbalance.com/downloads.php
Save it in origin/drive_c/Program Files (x86)/Origin Games/Battlefield 3 In Lutris,
Select Origin Wine options > Run EXE inside Wine Prefix Run origin/drive_c/Program Files (x86)/Origin Games/Battlefield 3/pbsetup.exe Select BF3 and click Update PunkBuster
I've copied text from other user's report, his username is "PurpleMillipede". The thing is it is working for me too, so why change something that is working.
Steam copy multiplayer with Proton is a pipe dream.. for now. If you got the Origin copy then have fun with Proton I guess!
Install the Windows version of Steam with its own Wine prifix for ease of deletion, install the game through there, Manual PunkBuster update in the games originthinclient files, Browser user agent switcher.
Muliplayer with Proton on the Steam copy of the game is just not feasible at the moment. You can "run" it with Wine in the way that I have but it moreso walks rather than runs. Filepathing to get to the correct Originthinclient folder can and will take you a lot of time. Sorry that I forgot and deleted games files otherwise I would provide the filepath. EA's Origin could fix multiplayer with Proton by simply allowing for the game to be downloaded through Origin when purchased on Steam so that the Lutris script can start working, or for Dice to go back and add a server browser to the game and ship the latest PunkBuster while they are at it.
The problem is with the steam containerization system (pressure-vessel).
Tried various different proton versions ranging from the nomal one to GE5 GE6 GE7
This game is not working with Proton and that's because we can't use the ICMP (ping) fix.
setcap
command has no affect on the Proton prefix, it's required because EA had to use a browser to launch a game…
The command works with Wine and it's used for BF3 to allow the game and a browser to communicate, without it it's not possible to get the game running.
So it's borked… at least until someone figures out how to either disable containerization for this specific game (not really recommended) or get just this one communication stream through it.
Trying to install the game trough Origin failed
I've received an error "Origin is not able to download Battlefield 3™ to C:\Battlefield 3\Battlefield 3\Support\readme\L‚eme.txt." every time i try to install Battlefield 3 trough Origin via proton.

Install Origin through Lutris https://lutris.net/games/origin/
Install Battlefield 3 through Origin
Install a browser extension to switch your user agent to Windows and Internet Explorer 11, such as: https://addons.mozilla.org/en-US/firefox/addon/ua-switcher
Next we need to update Punkbuster because Battlefield ships with an outdated version of punkbuster Download the official punkbuster setup: pbsvc https://www.evenbalance.com/downloads.php
Save it in origin/drive_c/Program Files (x86)/Origin Games/Battlefield 3 In Lutris,
- Select Origin
- Wine options > Run EXE inside Wine Prefix
- Run origin/drive_c/Program Files (x86)/Origin Games/Battlefield 3/pbsetup.exe
- Select BF3 and click Update PunkBuster
The game also ran better in windowed mode, sometimes had a black screen in full screen mode
Now play the game from: https://battlelog.battlefield.com/bf3/servers
Black screen in full screen, windowed was fine
Punkbuster

Cannot launch it as my browser doesn't detect Origin
Battlefield 3 uses an online version of Battlelog, it doesn't have a built-in menu. As it cannot reach Origin/BF Helper, I can't launch it.

Il gioco si installa. Parte il setup di origin, ma quando è il momento di avviare il gioco non parte.
Manjaro gnome (wayland) + rx 6800 xt
Battlelog opens but when you try to click on "Quick match" following message appears: "Unable to launch the game from this device"

Origin doesn't work, so it's impossible to start the game even in single player mode.
Somehow Origin just works for me in Battlefield 4 bottle, but doesn't work at all in Battlefield 3 bottle with "Something went wrong, during loading this page, Orgin App got problem. Try to load this page again or try again later." error message, therefore changing game properties isn't possible, so it's impossible to start it even in single player mode. I tried Proton 5.0/5.13/5.21-GE (I deleted the bottle after each version switch) but neither works.

Open Origin. Select server with Battlelog, game should load as on Windows. Used lutris script to set everything up (lutris 5.7)
In-game stutters. I suspect slow HDD & slow Internet connection during shader compilation. Will update review after playing more.
punkbuster
During the flying mission in a jet, the clouds didn't appear white, but where black. You still can see everything, but the clouds are black and will throw you off somewhat, but jets are still easily detectable
After about an hour of playing the game crashed for me which resulted in me needing to close Origin and restart the game from Steam for it to launch properly.
You need to install the game and let Origin do it's thing to install stuff and once Origin is done, open Origin and select Battlefield 3 (steam icon on the thumbnail) and set the launch arguments in the advanced settings to "singleplayer" (without the quotes) to make the game start up only in singleplayer. Battle.net requires 32-bit browser and you need to mess around with spoofing the user-agent to make it try to even launch the game and I haven't gotten so far yet.
But so far, quite enjoyable singleplayer experience

There is the Origin launch option "singleplayer" which makes the game start without the Battlelog in the web browser (of course only the campaign is playable). This should make the campaign playable with Proton.
To get the multiplayer to work, you could try the steps descript by Lutris https://lutris.net/games/battlefield-3/ (installing a User Agent switcher in your web browser etc).
able to install the game, origin launches, launches the battlelog in chrome, game never opens when trying to open it with battle log.

Origin installs, BF3 + DLC all install, but battlelog never launches the game when attempting to play.
This game runs fine with lutris, so it is likely able to run with proton. Main issue is battlelog fails to launch the game when it's launched through steam for some reason. Unplayable for now :/