Battlefield 2 & Patches Guide

Since many of us can't afford the $60 price tag of Battlefield 4, but we can still try Battlefield 2 in Linux for almost nothing. Specially if you already own it.

I will walk you through this Step-by-Step guide on how to install and configure Battlefield 2 in order to run it with the optimum settings like you could in Windows.

battlefield93.png


battlefield81.png


Tips & Specs:

To learn more about PlayOnLinux and Wine configuration, see the online manual: PlayOnLinux Explained

Mint 17 64-bit
PlayOnLinux: 4.2.5
Wine: 1.7.31

Wine Installation

Click Tools
Select "Manage Wine Versions"
wine01.png


Look for the Wine Version: 1.7.31
Note: Try using stable Wine 1.8 and 1.8-staging

Select it
Click the arrow pointing to the right
wine02.png


Click Next

Downloading Wine
wine04.png


Extracting

Downloading Gecko
wine05.png


Installed
wine06.png


Wine 1.7.31 is installed and you can close this window

Initial Setup

If you have the retail edition with 5 CD ROMs, each disk needs to be copied to a folder on the desktop.
When asked to over-write a file, just click Skip.
This way we can install the entired game right from the desktop

PlayOnLinux Setup

Launch PlayOnLinux
click Install
battlefield01.png


Click "Install a non-listed program"
battlefield02.png


Click Next

Select "Install a program in a new vritual drive"
Click Next
battlefield04.png


Name the virtual drive: battlefield2
Click Next
battlefield05.png


Check all three options:
  • Use another version of Wine
  • Configure wine
  • Install some libraries
Click Next
battlefield06.png


Select Wine 1.7.31
Click Next
battlefield07.png


Select "32 bits windows installation"
Click Next
battlefield08.png


Wine Configuration

Applications Tab
Windows Version: Windows 7
Click Apply
battlefield09.png


Graphics Tab
Check "Automatically capture the mouse in full-screen windows"
Check "Emulate a virtual drive"
Desktop size: 1024x768
Click OK
battlefield10.png


Installing Packages (Components, DLL's, Libraries)

Check the following:
  • POL_Install_corefonts
  • POL_Install_d3dx9
  • POL_Install_tahoma

Click Next
battlefield11.png


Note: All packages will automatically download and install

Installing Battlefield 2

Click Browse
battlefield12.png


Navigate to your desktop where you copied all of the CD ROM files
Select "Setup.exe"
Click Open
battlefield13.png


Click Next again

Click OK

Warning "this game has only been tested in WinXP(32bit)"
Click OK

Click Next

Enter Key for Battlefield 2
Click Next

Enter Key for Battlefield 2: Special Forces
Click Next

Click Next

Click Next

Click Next

Select "I accept the terms..."
Click Next

Select "I accept the terms..." again
Click Next again

Click Install

BattleCommo
Click Save settings

Program Error
You might get an error with the BattleCommo
Just Click "Close"
battlefield28.png


Check "No, install GameSpy Arcade later"
Click Next
battlefield29.png


Click "Register Later"
battlefield30.png


Uncheck "View the README file"
Uncheck "Create desktop shortcuts"
Click Finish
battlefield31.png


PlayOnLinux Shortcut

Select "BF2.exe"
Click Next
battlefield32.png


Name your shortcut: Battlefield 2
Click Next
battlefield33.png


Click Next again...

PlayOnLinux Configure

Back to PlayOnLinux
Select Battlefield 2
Click Configure
battlefield34.png


General Tab
Wine verions: 1.7.31
battlefield36.png

Note: Click the + to download other versions of wine. Click the down-arrow to select other versions of Wine.

Important
At this point, Battlefield 2 is ready to play, but you will need to keep the Play Disk in the drive. If you patch up the game you not only get a CD ROM free game, but you also get the rest of the expansion packs.

Battlefield 2 1.41 patch

Download the 1.41 patch and save to your desktop

Miscellaneous Tab
Click "Run a .exe file in this virtual drive"
battlefield37.png


Navigate to you Desktop
Select "BF2_Patch_1.41.exe"
Click Open
battlefield38.png


Select Language
Click Next

Click Next

Click Install

Installation Complete
Click OK

Click Finish

Battlefield 2 1.5 patch

Download the 1.5 patch and save to your Desktop

Miscellaneous Tab
Click "Run a .exe file in this virtual drive"
battlefield37.png


Navigate to you Desktop
Select "BF2_Patch_1.5.exe"
Click Open
battlefield46.png


Select Language
Click Next

Click Next

Click Install

Installation Complete
Click Finish

Launching Battlefield 2

Select Battlefield 2
Click Run
battlefield51.png


Note: Click debug to see errors and bugs

Please be patient, it may take up to 3 minutes for the EA logo to appear.
It isn't crashing, but certainly taking a long time to launch.

Optimization

Click Options
Click Video

Select a resolution to match your Linux desktop

Note: The game will play fullscreen when you set the resolution to match the Linux desktop resollution. If you change the Linux desktop resolution later, Battlefield 2 will crash. You will need to set the resolution in the Video.con located in your /home Battlefield 2/Profiles
If you have folders default, 0001 and 0002, just set the resolution in all three Video.con files.


Select a Quality preset, or adjust settings to your liking...

The game will require a restart after you adjust video settings. When you load a level after making video changes, it will have to optimize shaders and it takes an extra 10 minutes or so.
This is typical in Windows as well.

I also had problems with resolution crashing the game. The virtual desktop is critical but the resolution of it isn't. Just make sure the game has the proper resolution to match your Linux desktop, if not, follow the previous instructions to manually set the Battlefield 2 resolutions.

Rule of thumb:
High settings = More detail, lower frame rates
Low settings = Less detail, higher frame rates

Conclusion:
The only bugs I experienced is some flickering black spots on the ground and the resolution crash. both are absolutely tolerable because Battlefield 2 runs beautifully. You will no longer be able to play online because the EA servers do not exist, but you can play LAN parties and offline cooperative.

The flickering black shader bug is now fixed!

Download updated shader ".fx" files
  1. Download a new "shaders_client.zip"
  2. Navigate to the mods directory C:\Program Files\EA GAMES\Battlefield 2\mods\bf2\
  3. Rename shaders_client.zip (or delete at your own risk)
  4. Copy new shaders_client.zip to the same directory
  5. Delete the Battlefield 2 cache folder: Documents\Battlefield 2\mods\bf2
  6. Launch Battlefield 2 and run a simple singleplayer level to recompile shaders


Gameplay Video:

Screenshots:
battlefield80.png


battlefield82.png


battlefield83.png


battlefield84.png


battlefield85.png


battlefield86.png


battlefield87.png


battlefield89.png


battlefield90.png


battlefield91.png


battlefield92.png
 
Last edited:
I get plain Battlefield 2 to work fine with PlayOnLinux. But, when I try to run a mod it only runs for a short while then crashes. Do mods need more options, tools, packages, or whatever installed to run properly? Or special options?
I'm using Linuxmint 17 32-bit , POL ver 4.2.10 and WINE ver 1.9.11 under POL. Installed following this guide. (the reason why I'm running a 32-bit Linux is I have been using the BF2 Linux server kit for LAN games)
I would really like to get mods working as a client in POL as the BF2 Linux server runs mods just fine. The mods have 64 player sized COOP maps and I have had over One Hundred bots going from a Linux BF2 server on a LAN. (back then I was running the BF2 client under WinXP.)
 
Wow, you have quite the setup with 100 bots. What mod are you using?
Sound like the Assault Mod (Which I LOVE!) or Project Reality.

I'm sure you already know that the Dedicated Server runs natively in Linux, but if you are wanting to run the Windows Server with your mod, then I have no experience with that. I can still help you troubleshoot it...
Please post, in detail, all of your problems/symptoms/errors in our PlayOnLinux forum:
http://www.gamersonlinux.com/forum/forums/playonlinux.9/
 
I didn't explain the server part very well. Yes, it is the Linux Dedicated Server (the kit is: bf2-linuxded-1.1.2965-797.0-installer.sh). With a few changes the Linux Dedicated Server can run large numbers of bots. But, the only way to have fun with large numbers of bots is to run mods because mods are the only ones with the large 64-player COOP maps. (I have run 120 bots but server got a little slow. It's not too bad with 105 bots but I usually run 95-100 when I am playing by myself and drop it down to 88-92 when running a LAN with a few friends.)
The mods I have played are: Hard Justice v1.3 and AIX 2.0. Hard Justice has a Linux installer kit but AIX doesn't. To get AIX 2.0 going I had copy the folder from a Windows system after the AIX 2.0 kit was installed on it.

EDIT
Forgot to mention that before the AIX 2 mod would run properly I had to run the lowercase utility (it's in the Linux Server kit) to change all the file names to lower case. The Linux installer kit for the Hard Justice v1.3 mod already had all the file names set properly for the Linux Server.
 
Last edited:
That is awesome! I never tried using mods on the Linux dedicated server. In fact, I never thought it would work. I loved the Assault mod with 64 player maps. Honestly, I have been running Battlefield 2 as a Listenserver in Windows 7 during my offline LAN Parties. It runs really well.
I have Linux Mint installed on all of my machines, but I'm still not ready to do LAN parties completely in Linux yet. I will one day.
 
Updated the Battlefield 2 Guide with the Flickering Black Shader fix:

Download updated shader ".fx" files
  1. Sign up on the battlefieldsingleplayer.com Forum
  2. Download a new "shaders_client.zip" (attached at the bottom of the post)
  3. Navigate to the mods directory C:\Program Files\EA GAMES\Battlefield 2\mods\bf2\
  4. Rename shaders_client.zip (or delete at your own risk)
  5. Copy new shaders_client.zip to the same directory
  6. Delete the Battlefield 2 cache folder: %USERPROFILE%\Documents\Battlefield 2\mods\bf2
  7. Launch Battlefield 2 and run a simple singleplayer level to recompile shaders
 
So followed directions here. and when I try to run game at my Display settings of 1440x900. It runs but doesn't come up on my screen. When I alt-tab I can see it running there.. But like I said it doesn't show up. Now if I place it back to 1024x768. It shows up on my desktop. Any kind of ideas?

Running linux Mint 18.3
Play On Linux - Wine 3.12 Staging
Nvidia 390.77
Emulate Desktop is checked
 
Yes, this is a common issue with older games.
Sometimes I have to Alt+Tab several times before it open full-screen
Are you using the Virtual Desktop?

In the past I used the Wine Virtual Desktop for every game, but a Mint update broke it and I haven't used it since. So if you are using it, try disabling it.
Also, set the resolution to match your Linux Desktop.

If you can't set it in-game, then try setting the config in the Battlefield Profiles
 
Yea. I tired Alt-tabbing alot and had no luck. I am using Virtual Desktop. I have tried turning it off. But then BF2 starts with a black screen and errors. But I can't see what error. Even if I alt-tab to the error to see what it is.

But when I'm using Virtual Desktop. I have that set to 1024x768. But have the game set to 1440x900. And thats when All I see is my desktop. but the games pointer and can hear the game in background. When I alt-tab I can see the game running.. Virtual Desktop works fine with other programs I run. Just can't get it to work with this one for some reason.. And BF2 is a favorite game. :(
 
Yes, I've experience the black screen, that is because BF2 is trying to launch with a different resolution than the desktop. Try to adjust the config files to match the resolution to your Linux Desktop resolution.

Select a resolution to match your Linux desktop

Note: The game will play fullscreen when you set the resolution to match the Linux desktop resollution. If you change the Linux desktop resolution later, Battlefield 2 will crash. You will need to set the resolution in the Video.con located in your
Code:
 /home/My Games/Battlefield 2/Profiles
or
Code:
Documents/My Games/Battlefield 2/Profiles
If you have folders default, 0001 and 0002, just set the resolution in all three Video.con files.
 
Yea I have done that.. But I have figured something out. I had to change what version of wine. All the way down to 1.1.42 and got it to run in full screen..
 
What??? That doesn't make sense...
Are you installing the 5.1 patch that removes DRM?

So strange, at least you got it working. The last time I played I was using Wine 3.0, but the game was already installed.
 
I have no idea. Yep.. running 1.5, Virtual desktop, Wine 1.1.42, Screen settings at 1440x900 which is desktop settings. and Game is running. When I had it running. I tried updating to new Wine and had issues.. and went back to 1.1.42. Dunno. don't understand it.. Very odd. but yep. its running.. :)
 
Wow, very strange. Good troubleshooting skills.
I would have gone back to 1.8 or 1.6.2, but never that far back.
Its crazy those older versions of Wine still work!
 
Hi everyone,

following instructions, i have a problem, unable to sign up to battlefieldsingleplayer recaptcha of this website is outdated, so it is impossible to sign up!

Is there anybody who have a link to upload shaders_client.zip file?

Download updated shader ".fx" files
  1. Sign up on the battlefieldsingleplayer.com Forum
  2. Download a new "shaders_client.zip" (attached at the bottom of the post)
  3. Navigate to the mods directory C:\Program Files\EA GAMES\Battlefield 2\mods\bf2\
  4. Rename shaders_client.zip (or delete at your own risk)
  5. Copy new shaders_client.zip to the same directory
  6. Delete the Battlefield 2 cache folder: %USERPROFILE%\Documents\Battlefield 2\mods\bf2
  7. Launch Battlefield 2 and run a simple singleplayer level to recompile shaders
 
Strange, Have you tried with a different browser?
There is a chance the site is no longer supported. It could be archived.
I should have a copy somewhere at home.
I'll PM you and we can exchange emails
 
Back
Top