WineHQ

Battlefield 2

Versions v1.00 (release) and patched versions v1.03, v1.41, v1.50 of the retail game are available.







The latest version is v1.50, which was released on September 1, 2009 and added the content of the Euro Force and Armored Fury booster packs, as well as the Highway Tampa and Operation Blue Pearl maps. This is the recommended version to use, as it:

  • removes the CD/DVD DRM check
  • is the version used by the vast majority of online servers for Multiplayer

Application Details:

Version: 1.x
License: Retail
URL: http://www.eagames.com/officia...
Votes: 45
Latest Rating: Gold
Latest Wine Version Tested: 1.9.19

Maintainers: About Maintainership

Test Results

Old test results
The test results for this version are very old, and as such they may not represent the current state of Wine. Please consider submitting a new test report.
Selected Test Results

What works

I installed BF2: Complete Collection from the CD. The base game and Special Forces Add-on work with singleplayer and community multiplayer servers from the Revive project.

What does not

EU + Armored Assault don't work for me. It might work through the battlelog installation.

What was not tested

VoIP

Installing the game from Battlelog.co

Using the Battlelg.co launcher 

Additional Comments

The How-To section of this page is outdated, there have been some changes. I installed the game from my CD and patched it to v1.5. After patching the game, I did not need to use command switches to specify my resolution, there was a working in-game option to do so.

--1. Before Playing online, make sure to patch the game to v.1.5

All files are available here: https://battlelog.co/downloads.php#tools

--2.Update your Punkbuster files:
http://fizweb.elte.hu/battlefield/Battlefield-2/BF2-PunkBuster/bf2_win32.zip

Extract the folder and replace the pb folder in your /Path_To_BF2_Installation/

Now update the Punkbuster service with this:
http://www.evenbalance.com/downloads/pbsvc/pbsvc.exe


--3. Set Up BF2 For Online Play
Go to Battlelog.co and create an account which is necessary to play online.

The Revive Launcher was updated and is no longer necessary on Linux. Instead they now simply provide their own BF2.exe file that you use to replace the original one. There is also an additional folder you have to place in /Path_To_BF2_Install/mods. Here are the Updated BF2 Revive Instructions that apply to wine users:

http://battlelog.co/post.php?id=10055#p26768

Now create a game profile for online play, as described here:
https://battlelog.co/wiki.php?article=3

Finally you must edit a registry entry to change your CD key for online play:
http://battlelog.co/post.php?id=16014

--That's it pretty much it--

--PS. I would still suggest some essential improvements. If you are experiencing black flickering shaders, check this out:
http://pcgamingwiki.com/wiki/Battlefield_2#Black_terrain_and.2For_models.2C_objects.2C_black_spots_on_map.2C_other_visual_graphics_issues

If you are experiencing connection issues because your PC loads the map too fast, here's a fix:
http://fiftytwelve.com/BF2mld/

Here's a description of Command Switches/Arguments for BF2:
https://battlelog.co/wiki.php?article=3

Here's a guide to tweaking BF2 (for example to skip the Intro and add more bots on bigger maps in singleplayer): http://www.tweakguides.com/BF2_9.html

The game works great, once you get it running. It's as fun as ever and there are still plenty of people playing online, I hope to see even more!
selected in Test Results table below
DistributionTest dateWine versionInstalls?Runs?RatingSubmitter
CurrentArch Linux x86_64Oct 29 20161.9.19Yes Yes GoldDaniel Berger 
ShowDebian GNU/Linux 8.x "Jessie" x86_64Apr 08 20161.9.6-stagingYes Yes GoldA. Kola 
ShowArch Linux x86_64Oct 29 20141.7.29Yes Yes PlatinumSvitozar Cherepii 
ShowLinux Mint 16 "Petra" x86_64Mar 14 20141.7.12Yes Yes GarbagePhilipglo Joshua Opulencia 
ShowUbuntu 13.10 "Saucy" amd64 (+ variants like Kubuntu)Dec 23 20131.7.9Yes Yes Platinuman anonymous user 

Known Bugs

Bug # Description Status Resolution Other apps affected
35371 Battlefield 2 voice setup tool crashes when "Save Settings" button is clicked (winmm.mixerGetDevCaps should also accept mixer device handles) NEW View
41925 Battlelog.co Battlefield 2/2142 Revive Launcher silently dies during installation (Squirrel installer fails) NEW View

Show all bugs

HowTo / Notes

Install Guide for BF2 (CD / DVD retail)
  1. Ensure you are using a 32-bit Wineprefix on a 64-bit OS (see Wine FAQ if unsure how to do this).
  2. Ensure your BF2 DVD is mounted within your Linux filesystem (note this includes cifs/sshfs support).
  3. Wine should map this drive to "${WINEPREFIX}/dosdevices/d\:"
    (mapped drive letter may vary depending on how many ODD's your system has).
  4. Check drive is mapped using
    winecfg
  5. Open a Terminal and launch the setup:
    wine "D:\Autorun.exe"
    (Replace D: with whatever drive letter you have your DVD/CD mapped to in winecfg)

  6. Note: if using a CD version you may experience "CD ejecting problems". When the setup comes to a Insert Next CD prompt, switch back to terminal and open a new terminal tab. Ensure the $WINEPREFIX env variable is correctly export'd in this tab!! Enter:
    wine eject
    Insert the next CD, and continue with install.
  7. When the main (disc) installer has finished do not launch the game!
  8. Update using patch BF2_Patch_1.41.exe (update patch 1.41) e.g.
    cd ~/Downloads
    wine BF2_Patch_141.exe
  9. Update using patch BF2_Patch_1.50.exe (update patch 1.50) e.g.
    cd ~/Downloads
    wine BF2_Patch_1.50.exe

BF2 should now be installed successfully (hopefully). BF2 will run without a no-CD/DVD crack (as update 1.50 removed the disc-based DRM).
However online play will not be possible until a Punkbuster update is installed (see below).

Launching Game
Set the following launch parameters for BF2.exe, using the Steam Client GUI:
+menu 1 +fullscreen 1 +szx (x-resolution) +szy (y-resolution)

... replace (x-resolution) & (y-resolution) with your native screen resolution.

Also ensure that your Battlefield 2 Video.con profile file has the correct resolution set in it (command updates all profiles):

export resolution="(x-resolution)x(y-resolution)@(frequency)Hz"
find "${WINEPREFIX}/drive_c/users/${USER}/My Documents/Battlefield 2/Profiles" -type f -name "Video.con" -printf "'%p'\n" \
    | xargs sed -i -e 's/setResolution [1-9][0-9]*x[1-9][0-9]*@[1-9][0-9]*Hz/setResolution '"${resolution}"'/g'

... replace (x-resolution) , (y-resolution) & (frequency) with your native screen resolution and frequency (respectively).

To access the Battlefield 2 launch options (Steam LIBRARY):

  • Mouse left buttonRHS mouse click on Battlefield 2 entry (in Steam LIBRARY)
  • Select Properties (context menu entry) → General (tab)
  • Select SET LAUNCH OPTIONS... button



Launching Game (Stock & Special Forces)
Ensure your WINEPREFIX variable is set correctly. Then initially try:
cd "${WINEPREFIX}/drive_c/Program Files/EA GAMES/Battlefield 2/"
wine BF2.exe +menu 1 +fullscreen 1 +szx x-resolution +szy y-resolution

 If launching the game fails with the message:

err:x11settings:X11DRV_ChangeDisplaySettingsEx No matching mode found 800x600x32 @85! (XRandR 1.2)

Then your monitor does not support a 85Hz 800x600 resolution mode (or perhaps you are using a dual monitor setup where one monitor does not support this mode). If this error occurs (or "any other xrandr mode-setting problems") then test running the game in a Virtual Desktop.

Wine Virtual Desktop

Run:

winecfg
  • select the Graphics tab
  • check Emulate a Virtual Desktop
  • set your native monitor resolution (or a suitable lower resolution) in the Desktop Settings

or add the following registry entry...

wine reg.exe ADD "HKEY_CURRENT_USER\Software\Wine\Explorer\Desktops" "/v" "Default" "/t" "REG_SZ" "/d" "1920x1080"

... replace resolution with your native screen resolution.

Update Battlefield 2 Profile

Also ensure that your Battlefield 2 Video.con profile file has the correct graphics mode set in it (this command will update all profiles):

export xresolution="1920"
export yresolution="1080"
export frequency="60"
find "${WINEPREFIX}/drive_c/users/${USER}/My Documents/Battlefield 2/Profiles" -type f -name "Video.con" -printf "'%p'\n" \
    | xargs sed -i -e 's/setResolution [1-9][0-9]*x[1-9][0-9]*@[1-9][0-9]*Hz/setResolution '"${xresolution}x${yresolution}@${frequency}"'/g'

... replace resolution & frequency with your native screen resolution and frequency (respectively).

Launching Battlefield 2 Game

Ensure that you use the same resolution (as your Virtual Desktop) when you launch the actual game, as in:

cd "${WINEPREFIX}/drive_c/Program Files/EA GAMES/Battlefield 2/"
wine BF2.exe +menu 1 +fullscreen 1 +szx 1920 +szy 1080
(run in a Virtual Wine Desktop and replace x-resolution and y-resolution as appropriate.)

Launching Battlefield 2 Special Forces Mod

If you have the Deluxe Edition of Battlefield 2...

Ensure that you use the same resolution (as your Virtual Desktop) when you launch the actual game, as in:

wine BF2.exe +menu 1 +fullscreen 1 +szx 1920 +szy 1080 +modPath mods/xpack
(run in a Virtual Wine Desktop and replace x-resolution and y-resolution as appropriate.)

Note: you are able to use High Terrain graphics setting with this mod (i.e. the map textures aren't "broken"!)

Gamespy Master Servers

Gamespy, which provided the Master Servers for many games including Battlefield 2, was officially shutdown in May 2014. See Gamespy Wikipedia for more information about this.

Various community supported efforts have sprung up to provide alternative Master Servers for the various games affected by the server shutdown.


Detailed below are installation instructions for various alternatives - to use in place of the original Gamespy Master Servers.


(1) Battlelog Servers


Pros

  • ☑ Supply reliable alternate Battlefield 2 Master Servers
  • ☑ Facility to import your rank, achievements and weapon unlocks from the original Gamespy databases.
  • ☑ Transparent/simple command line wrapper executable to your original BF2.exe
  • ☑ Works with Punkbuster
  • ☑ Many active Servers still remain online
  • ☑ There is even a Special Forces server online!!


Cons

  • ☒The Battlelog Launcher client frontend applications is a bit unstable under Wine
    (see Wine Bug 41925)



Getting Started

  1. Visit Battlelog.co Website
  2. Setup an account

Guide to Installing the Windows 7 Revive Launcher

The installer for the Revive Launcher doesn't currently work under Wine. This issue can be worked around however.

Ensure you are using a 32-bit Wineprefix on a 64-bit OS (see Wine FAQ if unsure how to do this).

Download the Revive Launcher installer.

Then manually extract the installer - to use it:

winetricks win7
winetricks 7zip dotnet452
cd "${WINEPREFIX}/drive_c"
mkdir -p Battlelog.co
cd Battlelog.co/
mv ~/Downloads/Setup.exe .
wine 'C:\Program Files\7-Zip/7z.exe' x Setup.exe
wine 'C:\Program Files\7-Zip/7z.exe' x bf2battlelog-*-full.nupkg

Then to run the Revive Launcher:

cd "${WINEPREFIX}/drive_c/Battlelog.co/lib/net45"
wine 'Revive-Launcher.exe'

The Revive Launcher largely works:

  • ☑ you can set BF2 launch options
  • ☑ you can download and install the full BF2 game (including all expansion packs)
  • ☑ Revive Network status, etc. works
  • ☒ Applying CD Keys crashes when the Revive Launcher calls: BattlelogBootstrap.exe
    See below for a manual workaround.
  • ☒ The Revive Launcher consistently crashes - when you exit it

Tested with Wine Staging - version 2.3.


Revive Game CD Keys

It is necessary to edit (specific) Registry keys, to set a special (allocated) Revive CD-key, for your BF2 install. This step will become mandatory when the Revive team enable game key verification on their Servers.

Refer to this Battlelog.co forum post: How to fix CD-Key issues (applies to both BF2 & BF2142).

  1. Enter Wine registry editor:
    wine regedit
  2. Backup existing Wine registry:
    Click on Registry (menu)
    Select Export Registry File...
    Select All checkbox
    Save backup registry file
  3. Exit regedit
  4. Visit your Revive Personal Profile page to obtain your personal Revive CD-key
  5. Insert your Revive CD-key into the (Wine) Registry for Battlefield 2:
    export REVIVE_KEY="❚❚❚❚-❚❚❚❚-❚❚❚❚-❚❚❚❚-❚❚❚❚"
    wine reg.exe ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Electronic Arts\EA Games\Battlefield 2\ergc" \
        "/v" "" "/t" "REG_SZ" "/d" "x9392${REVIVE_KEY}" "/f"
  6. Also insert your Revive CD-key into the (Wine) Registry for Battlefield 2 Special forces (if installed):
    wine reg.exe ADD "HKEY_LOCAL_MACHINE\SOFTWARE\Electronic Arts\EA Games\Battlefield 2 Special Forces\ergc" \
        "/v" "" "/t" "REG_SZ" "/d" "x9392${REVIVE_KEY}" "/f"
Single Player Support

SPX 64-Player Mod


A Single Player mod supporting SP/coop support for Special Forces maps, with SF kits, weapons, Factions and vehicles. This guide also includes a fix for flickering terrian textures (black flickering hexagons covering terrian textures)

  1. Setup an account on Battlefield SinglePlayer Forum and login into this account (this is necessary to unlock download links used in this section).

  2. Download BF2 SPX archive - version 1.2

    cd ~/Downloads
    wget -c "http://www.battlefieldsingleplayer.com/dnamro/files/BF2/BF2_SPX_1_2.zip"
    mkdir BF2_SPX
    cd BF2_SPX
    unzip ../BF2_SPX_1_2.zip
    

  3. Download shaders client (fixed) archive
    (based on texture map files from the Forgotten Hope BF2 mod).

    wget -O shaders_client_fix.zip -c "http://www.battlefieldsingleplayer.com/forum/index.php?act=attach&type=post&id=3893"
    mv shaders_client_fix.zip BP_Shaders_client.zip
    cd "${WINEPREFIX}/drive_c/Program Files/EA GAMES/Battlefield 2/mods"
    rsync -achv ~/Downloads/BF2_SPX .
    

  4. Uncomment these 2 lines to put the stock menu movies back into the SPX mod!!

    # cd "${WINEPREFIX}/drive_c/Program Files/EA GAMES/Battlefield 2/mods"
    # rsync -achv bf2/Movies/{Intro,menu,menu_loggedin}.bik BF2_SPX/Movies/
    


Single Player Bot Changer


This is a small utility, to set the maximum number of map players and the AI strength of the game bots, for any of the (currently installed) Battlefield mods.

  1. Download BF2 SP Bot Changer - version 1.2

  2. Extract & run the utility
    cd ~/Downloads/
    unzip bf2-sp-bot-changer-21.zip
    wine 'BF2 SP Bot Change v2.1.exe'
    
Recommended Video Settings

These are the currently supported, maximum, in-game Video settings (tested on a Geforce GTX 970M with Nvidia driver 352.30).

Note: for older AMD (<5xxx)/Nvidia GPU's (<8xxx) and Intel GPU's it is recommended to set:

  • LIGHTING Low
  • DYNAMIC SHADOWS Off
  • DYNAMIC LIGHT Off

  • Setting TERRAIN quality to Medium or High may lead to black hexagonal texture glitching in ground textures - this bug appears to mainly affect Nvidia GPUs.
    It has been reported that issue does not affect newer AMD fglrx drivers (?radeon). So setting the TERRAIN quality to High is worth testing on AMD cards.
  • ANTI-ALIASING set to 2x ... 16x (on). Will simply be ignored in-game.


    VIDEO OPTIONS



    DISPLAY MODE ????x????@???Hz


    OVERALL QUALITY Custom




    CUSTOM QUALITY



    TERRAIN
    Low


    EFFECTS
    High


    GEOMETRY
    High


    TEXTURE
    High


    LIGHTING
    High


    DYNAMIC SHADOWS
    High


    DYNAMIC LIGHT
    High


    ANTI-ALIASING
    Off


    TEXTURE FILTERING
    High


    VIEW DISTANCE SCALE
    100%


    ████

    Last updated 08.12.2016 Wine-Staging 1.9.23, Nvidia Geforce GTX 970M, Nvidia Driver 375.10 (Gentoo GNU/Linux)
Punkbuster Guide (required for online play)

Install Battlefield 2 fully - as per the guide above.

Note: Punkbuster will not run in a 64-bit Wineprefix.

Following the Gamespy Server shutdown EvenBalance has withdrawn official Punkbuster support for Battlefield 2 (from their newer versions of Punkbuster). The Battlelog.co servers use an older version of the Punkbuster (anti-cheat) utility - to workaround this.


Update Punkbuster

See this Battlelog.co forum thread about how to obtain the final version of Punkbuster - which still supports Battlefield 2. This archive also contains an (important) updated Punkbuster configuration file - with newer game data md5 hashes. A link for the Punkbuster service executable is also present. The Battlelog.co updated Launcher does not currently include this old Punkbuster version.

  1. Download this customised Punkbuster archive.
  2. Extract the zip archive in place (overwrite all files):
    cd "${WINEPREFIX}/drive_c/Program Files/EA GAMES/Battlefield 2"
    winetricks -q 7zip
    rsync  -achv ~/Downloads/bf2_win32.zip .
    wine 'C:\Program Files\7-Zip\7z.exe' x -y bf2_win32.zip
  3. Punkbuster game profiles are stored in a /pb folder in the main installation folder for each supported game. E.g.

    "${WINEPREFIX}/drive_c/Program Files/EA GAMES/Battlefield 2/pb"


Reinstall Punkbuster Service

Should the Punkbuster service not start correctly then you can try to update / re-install of the Punkbuster service.

  1. Download PunkBusterBF2.zip Punkbuster Service Installer from Battlelog.co
  2. Uninstall Punkbuster service:
    wine ~/Downloads/pbsvc.exe
    Click the Uninstall button.
    Exit pbsvc.exe installer
  3. Delete game profile & main Punkbuster service files:
    rm -rf "${WINEPREFIX}/drive_c/Program Files/EA GAMES/Battlefield 2/pb" \
           "${WINEPREFIX}/drive_c/windows/system32/{,drivers/}PnkBstr"*
    
  4. Enter Wine registry editor:
    wine regedit
  5. Backup existing Wine registry:
    Click on Registry (menu)
    Select Export Registry File...
    Select All checkbox
    Save backup registry file
  6. Now delete all references to Punkbuster service files in Registry:
    Press CTRL+F (or Edit / Find)
    Enter PnkBstr in search field
    Delete all registry keys which match this name
    Exit regedit
  7. Shutdown wineserver (equivalent of a Windows reboot):
    wineserver -k
  8. (Re)install Punkbuster service:
    wine ~/Downloads/pbsvc.exe
    Click the Install button.
    Press Test Services to check that everything works
    Exit pbsvc.exe installer

Still getting kicked by Punkbuster?

Should the Punkbuster service still lead to your game getting kicked from online play you could try running a keep alive BASH script. The script should keep the Punkbuster PnkBstrB service executable alive whilst PnkBstrA is running (so it will work for any game also requiring Punkbuster)...

keep_pnkbstr_alive.sh:
#! /bin/bash

SCRIPT_PATH="$0"
SCRIPT_FOLDER=$( dirname "${SCRIPT_PATH}" )

export WINEPREFIX="${SCRIPT_FOLDER%/drive_c/*}"
export WINEDEBUG=-all,+fps

cd "${SCRIPT_FOLDER}"

PID_PUNKBUSTERA=$(pgrep "PnkBstrA.exe")
while ps -p $PID_PUNKBUSTERA > /dev/null ; do
        wine "PnkBstrB.exe" &
        PID_PUNKBUSTERB=$!
        while ps -p $PID_PUNKBUSTERB > /dev/null ; do
                sleep 1
        done
done
Ensure you place the script somewhere within / on your WINEPREFIX C-drive and make it executable:
chmod +x "keep_pnkbstr_alive.sh"
Run:
cd "${WINEPREFIX}/drive_c"
./keep_pnkbstr_alive.sh

It is trival exercise to augment this script so it launches the Steam client or the BF2 game executable as a background process (before starting the Punkbuster checking loop).


(??BSD/MacOS support??)

General Tweaks

BF2 Commandline Options

Refer to BF2 Tech: Command Line Options for a comprehensive list of command line switches to use when launching the Battlefield 2 executable.

For example you can also set you client to automatically login to Revive account:

... +playerName name +password ⚫⚫⚫⚫

How you append these options will depend on whether you are using the Steam Client or if you have used a retail (DVD) copy of Battlefield 2.

Comments

The following comments are owned by whoever posted them. WineHQ is not responsible for what they say.

Linux/Wine Support for HIGH Terrian Textures - join the Battlelog.co Campaign!!
by Bob Wya on Wednesday December 7th 2016, 15:29
See:
battlelog.co/post.php?id=24351

for a thread dedicated to getting a real fix for the BF2 broken terrian shaders on Linux with WIne. Please weigh in with comments!!
Do no other Linux users care about this?!!
Wine-supported Launcher and High Quality Terrain Textures!!
by Bob Wya on Saturday August 27th 2016, 9:58
I've requested Windows XP support and fixed texture support (by using a "fixed" Terrain texture file from the Forgotten Hope mod) on the Battlelog.co forums...
battlelog.co/post.php?id=16823

I didn't really get a very helpful response. Maybe folks would like to weigh in there!!

My understanding is that native Windows graphics drivers have a dumb executable name hack fix for the texture meshes. I did try to verify that running the _stock_ game, under Windows, and just renaming the main executable would break the High Terrain textures again... Sadly the stock BF2 game is a PITA to install under Windows 10... Simply running a Single Player game would be enough...

If anyone else can verify this fact - that native Windows graphics drivers are simply suppressing the Terrain texture mesh bug... Then that would be super helpful!

I'll submit a bug against the new Battlelog.co Launcher application when I get time. It appears support for the old style launcher has now vaporised... :-(
d3dx9_24.dll & d3dx9_25.dll
by Kelppo on Saturday January 10th 2015, 8:41
I just want to add that if the game won't run then you probably need the native version of d3dx9_24.dll and d3dx9_25.dll.

At first BF2 crashes on startup on my machine, setting Wine to use a native d3dx9_25.dll seems to fix it, the game launch but then crashes every time I try to load a map in Single Player, getting the other dll seems to fix this.
PunkBuster B Maintain Bash Script
by Luna Crane on Monday November 10th 2014, 21:22
I wrote a Bash script to keep PnkBstrB.exe running in case it goes down and causes the initialization error that kicks you out of online games. I call it punkBloop:

#-----------------------START---------------------------------------

#!/bin/bash

#punkBloop keeps PnkBstrB.exe running while PnkBstrA.exe is running.
# DO NOT USE pnk="$(ps -u $USER | grep PnkBstr*)" BECAUSE IT IS NOT UPDATED!

export WINEPREFIX=/home/$USER/.wine WINEARCH=win32

while ps -u $USER | grep PnkBstrA.exe
do
if ! ps -u $USER | grep PnkBstrB.exe
then
wine "C:\windows\system32\PnkBstrB.exe"
fi
sleep 15s
done

exit 0

#-----------------------END-----------------------------------------

Modify it as needed. I'm hoping 15 seconds is enough of an interval for the checks of PnkBstrB.exe. If not, change "sleep 15s" to a shorter interval.

I just run this in a separate terminal, but you can try some sort of single command.
Punkbuster B Malfunction Fix
by Luna Crane on Tuesday November 4th 2014, 14:08
I've been getting Punkbuster B (PnkBstrB.exe) errors while playing saying that PnkBstrB.exe failed to initialize, obviously kicking me out of an online game within about 5 minutes. The thing is, this is a VERY common problem even on the latest Windose games that use Punkbuster.

The issue is caused by PnkBstrB.exe not being started when Punkbuster starts. Sometimes, PnkBstrB.exe is missing from the system altogether.

There are several solutions according to posts about the issue:

=================================================================
*1*
(Mainly use the following to fix PB: www.evenbalance.com/downloads/pbsvc/pbsvc.exe )
=================================================================

"Thank you for contacting Electronic Arts. I’m sorry for the difficulty that you are having with the game Battlefield 2.

Delete and Reinstall the Punkbuster Folder and Software
To delete and reinstall the Punkbuster folder and software:

Click on My Computer.
Click on the C: drive, or wherever you have Battlefield 2 installed.
Click on Program Files.
Click on Electronic Arts.
Click on Battlefield 2.
Right-click on the pb folder, then click Delete.
Download and run the installation software for Punkbuster, which can be found here.
www.evenbalance.com/downloads/pbsvc/pbsvc.exe
Click the Uninstall button.
Close the installer.
Click on the Start button.
Click on Run.
Type regedit in the text field and press OK.
Warning: Changes to the registry can cause your computer to operate improperly, so please follow these instructions exactly as they are written.
Follow these steps to back-up the registry so that should something go wrong, you can restore your system back to a working state:
If you are using Windows 2000/XP/Vista, click on File, and select Export. Note: If you are using Windows 95/98/ME, click on Registry
Then select Export Registry.
Select All under Export Range.
Type backup into the File name field, and click Save. You've now created a backup version of your registry.
Once you've created your backup, continue as follows.
Click the plus sign next to HKEY_LOCAL_MACHINE.
Click the plus sign next to System.
Click the plus sign next to ControlSet001.
Click the plus sign next to Services.
Look for PnkBstrA, PnkBstrB, and PnkBstrK, and if they exist, right-click on each one and select Delete.
Click the minus sign next to ControlSet001.
Repeat steps 5, 6, 7, and 8 immediately above for any other ControlSet folders you have, such as ControlSet002 or CurrentControlSet.
Close regedit.
Double-click on the My Computer icon.
Double-click on drive C:.
Double-click on windows.
Double-click on system32.
Look for PnkBstrA.exe and PnkBstrB.exe and if they exist, right-click on each one and select Delete.
Double-click on drivers.
Look for PnkBstrK.sys, and if it exists, right-click on it and select Delete.
Restart windows.
Follow the instructions here to reinstall Punkbuster.
www.evenbalance.com/index.php?page=pbsetup.php
Install/Re-Install Punkbuster with pbsvc.exe and run "Test Services" to check that everything works.
www.evenbalance.com/downloads/pbsvc/pbsvc.exe
Try to play Battlefield 2"

=================================================================
*2*
(Use *1* and add the following if *1* failed. Assures that Punkbuster B runs. Note that the New Task/Run stores prior entries, so you only have to run these once.)
=================================================================
Do fix *1* above. Then do the following (user1 is your user name; BF2RG.exe is specific for Battlelog at www.battlelog.co/ which seems to work the best; adjust resolutions to your own, 1920x1080):

export WINEPREFIX=/home/user1/.wine WINEARCH=win32; wine explorer /desktop=BF2,1920x1080 taskmgr.exe

File -> New Task (Run ...) -> Browse -> C:\windows\system32\PnkBstrB.exe

File -> New Task (Run ...) -> Browse -> C:\Program Files\EA GAMES\Battlefield 2\BF2RG.exe +menu 1 +fullscreen 1 +szx 1920 +szy 1080

=================================================================
*Other Possible Fixes Mentioned on Sites*
=================================================================
*Try typing this in chat:

/pb_security 0

*Make a link to run Battlelog in the Start Menu instead of running from the task manager. I have no idea how to make a proper .lnk, and I have yet to find a way.
Running the game on 64-bit OS with Wine 32-bit prefix
by voan on Sunday November 2nd 2014, 5:38
If you have error like:

err:winediag:wined3d_texture_init The application tried to create a DXTn texture, but the driver does not support them.

Try installing packages "libtxc-dxtn*:i386" instead 64-bit.
It helped me.

---
Sorry for my bad english.
Crowd sourcing AMD Video Settings!!
by Bob Wya on Saturday November 1st 2014, 13:45
Can anyone confirm if AMD radeon (R600) or Catalyst drivers, with a 5000+ card, can support LIGHTING=HIGH, DYNAMIC LIGHT=ON, DYNAMIC SHADOWS=ON?

I'll kindly update the Wiki if they can!!

Thanks
Robert
Popularity
by Luna Crane on Friday October 31st 2014, 14:33
According to battletracker.com/index.php?page=BF2Serverlist

Project Reality Mod Servers are actually the MOST popular servers, so it's definitely worth the Torrent, and there are plenty of torrent seeders: www.realitymod.com/downloads

Forgotten Hope 2 Mod Server is just under the Project Reality Mod Servers. Note that their special Update Launcher seems to always crash while verifying local data, so you have to use the Direct Download Full Installer links: forgottenhope.warumdarum.de/fh2_downloads.php

The normal servers are less populated than these mods.
GameSpy Master Servers Shut Down
by Luna Crane on Saturday October 25th 2014, 22:59
GameSpy has shut down, and they were the ones hosting all master servers for many many EA games:

www.gamefront.com/50-ea-titles-to-lose-online-service-due-to-gamespy-shutdown/

The strange thing is, people are still playing somehow!

www.gametracker.com/search/bf2/?sort=c_numplayers&order=DESC

How? Is there a patch to switch master servers or connect to a server without logging in?
Mic error?
by Ed Houseman Jr. on Monday December 30th 2013, 22:46
Does anyone else get an error when setting up a mic at the end of the setup?
Works with Wine 1.7.7
by Carlos Rodriguez on Wednesday December 18th 2013, 8:14
Tested on:

Wine 1.7.7 (compilado)
Nvidia Drivers 331.20 (.run package)
Linux Mint 15 KDE 32Bit - Kernel 3.8.0.26 PAE
CPU: INTEL Pentium G3220 (Nucleo Haswell a 22nm) 3.0Ghz (Dual-Core) Stock Clock
MEM: 8GB DDR3 1333 (2x4) Patriot value (128 bit dual channel: 21.3 gb/s)
GPU: Zotac Nvidia Geforce GT630 (GK208 28nm: 384 Shaders / 8 ROPS) Zone Edition Passive Cooling 2GB DDR3 1800Mhz a 64Bit (14.4Gb/s)
MAINBOARD: MSI H81M E33

www.youtube.com/watch?v=wVIxHKmaepw
Works fine in 1.7.0
by David Hubbard on Friday October 18th 2013, 15:44
Multiplayer and singleplayer work fine in Wine 1.7.0. I tested on an NVidia card and an AMD integrated APU.

1. install the app
2. install the 1.41 update
3. install the 1.50 update
4. apply the RendDX9.dll patch ZIP file.
5. run BF2.exe +szx xxxx +szy yyyy (your monitor's resolution)

forums.steampowered.com/forums/showthread.php?t=2015962 says "BF2 is know[n] to crash if you have 2 sound cards (A USB headset counts as a card) and 1 is realtek."

They aren't talking about wine, but I had this problem because my /proc/asound/cards has a Realtek and some HDMI audio outputs. The quick fix for me was to use regedit to set HKEY_CURRENT_USER\Software\Wine\Drivers\Audio to "" (nothing) which completely disables DirectSound, but the game works.

If you have this problem like I did, then your game will consistently crash the moment you click on the Audio settings button.

You can rename/delete mods/bf2/Movies/{Dice.bik,EA.bik,Intro.bik,Legal.bik} to make the game start quicker, or just add "+restart" to the command line.
BF2 with 5.1 Surround Sound
by McMaster on Thursday April 25th 2013, 15:53
I have an Audigy 2 ZS that I'd like to use for surround sound. All channels are routed properly as confirmed by "speaker-test -c 6 -t wav". However, when I play BF2, all channels are ON but it's only "triple stereo" playing (i.e., the front pair, the rear pair, and the center are all playing the same stereo signal).

I think this game uses dsound. I'm using the builtin dll for dsound.

Anyone know how to get the proper discrete channels in BF2 surround sound?
Problem when I close the game
by NickPower on Thursday April 4th 2013, 8:35
Hi,
I've got a problem: When I played on a server and then close the game I'm getting always an error:

Debug assertion failed!

Version: 1.5.3153-802.0 Build date:2009-8-10 17:8
Modul: RendDX9
File: C:\Dice\Projects\BF2Branches\Patch_1_50\Code\BF2\RENDDX9\RendDx9Init.cpp
Line: 738

Text: Direct3DDecive release unsuccesfull this must be fixed...

Current confile:


Can somebody please help me? :)
Punkbuster
by Jim on Sunday March 24th 2013, 15:13
I posted a comment on the Battlefield 2142 thread about fixing punkbuster, and it applies here as well.

-------

To fix punkbuster, download pbsetup.exe from the punkbuster site:

www.evenbalance.com/index.php?page=pbsetup.php

Run pbsetup.exe from your BF2 wineprefix, click "Add a Game" and select "Battlefield 2" from the list of games, then click "Check for Updates" and BF2's version of punkbuster will be updated.

by Andrej on Saturday April 21st 2012, 9:14
Did anyone find the way how to fix invisible tanks problem on bf2 1.5?
  • RE: by Mac Porter Joe on Monday July 2nd 2012, 12:59

by Jean A. Hough on Thursday June 30th 2011, 16:17
Hi to all,


[url]www.d3dx9.net/download-missing-d3dx9_25-dll/[/url]
You can get the d3dx9_25.dll file from the above link.
this is the source which is best for solving this sort of dll related issues.
Click the Link on this page and it will fix your problem.
Weird behavior on 1.3.21
by Linux_gamer on Thursday June 16th 2011, 9:30
So, I was having the same trouble as others with the resolution not configuring right and getting error messages on load. I used the terminal command with 1024X768 resolution, which seemed to work. But, what I additionally found is that if you say "emulate virtual desktop" and put the native res. of your monitor under "Default Settings", it works fine in fullscreen (at least for me). Change to the same settings for app. specific BF2.exe, and it fails again with the error message "has encountered a serious error and needs to close". For me, the config files to change to 1024X768@60Hz did nothing either. Seems like "Default Settings" graphics options and terminal commands are the only things that influence it.
Glitches
by Nerexis on Saturday May 28th 2011, 7:55
How to fix black glitches on ground etc.?
Can't start
by Nerexis on Saturday May 28th 2011, 6:41
I can't start BF2. Im using Linux Mint 11 64bit, GeForce 8600M GT, Intel Core 2 Duo 2x 2.5GHz.
I copied d3d9_.. dlls to wine's system32 folder.


Terminal:

wine BF2.exe +fullscreen 0

fixme:system:SystemParametersInfoW Unimplemented action: 94 (SPI_GETMOUSETRAILS)
fixme:system:SystemParametersInfoW Unimplemented action: 59 (SPI_SETSTICKYKEYS)
fixme:system:SystemParametersInfoW Unimplemented action: 53 (SPI_SETTOGGLEKEYS)
fixme:system:SystemParametersInfoW Unimplemented action: 51 (SPI_SETFILTERKEYS)
fixme:dsalsa:IDsDriverBufferImpl_SetVolumePan (0x13bf20,0x13be90): stub
err:module:import_dll Loading library d3dx9_25.dll (which is needed by L"Z:\\media\\DATA\\Battlefield2\\TextureAtlasBuilder.dll") failed (error c000007b).
err:module:import_dll Library TextureAtlasBuilder.dll (which is needed by L"Z:\\media\\DATA\\Battlefield2\\RendDX9.dll") not found
err:module:import_dll Loading library d3dx9_25.dll (which is needed by L"Z:\\media\\DATA\\Battlefield2\\RendDX9.dll") failed (error c000007b).
fixme:ntdll:NtQuerySystemInformation info_class SYSTEM_CACHE_INFORMATION
fixme:ntdll:NtSetSystemInformation (0x00000015,0x32ec98,0x00000024) stub
wine: Unhandled page fault on read access to 0x00000000 at address 0x40718e (thread 0009), starting debugger...
Text: Unknown DynamicOption value 800x600@60Hz
by Olli on Friday May 20th 2011, 19:04
I'm getting this error when I'm trying to launch BF2:
Text: Unknown DynamicOption value 800x600@60Hz

I started fresh and installed it like in the guide:
1. Install BF2
2. Install 1.41 patch
3. Install 1.50 patch

Then I started it like this:
env WINEPREFIX="/home/bf2-wine" wine bf2.exe +fullscreen 0 +szx 1024 +szy 768

I tried to install d3dx9 with winetricks afterwards without any effect. I also tried to change the VideoSettings.setResolution value from Video.con.

My software:
Dirsto: Arch Linux 64 bit
Wine: 1.3.20
Graphic card drivers: nvidia 270.41.06
My hardware:
CPU: AMD 965BE
GPU: Nvidia GTX280
Annoying (well-known?) mouse warping bug
by Matt North on Thursday November 25th 2010, 4:40
Hi all,

I've successfully installed BF2 v1.5 under Wine 1.2.1 and can run it with that and Wine 1.3.7 with almost no problems.

The one problem I've got is that the mouse cursor seems constrained to the initial window size, e.g. I can only move the mouse to turn so far before it hits the window edge and I can no longer turn in that direction. From what I gather this is a well known bug and would require a lot of work to patch it - but has anyone been able to run BF2 with no mouse issues, or has anyone got a workaround handy?

Thanks in advance.
Battlefield 2 - Wine 1.3.7 - Fedora 14 x64
by Ryan on Monday November 22nd 2010, 17:58
I managed to get Battlefield 2 running on Fedora 14 x64 last night on Wine 1.3.7 in 800x600 with all settings on high (set manually). I was unable to get punkbuster to install/run properly but I could play punkbuster free servers. I was unable to change screen res without the game crashing. To get this running I just installed from disc, and updated with patch 1.41 and 1.5. I had wine config set to run in windows 7 compatibility. Prior to doing this, I had already set the VideoMemorySize key under HKCU\wine\Direct3D, and gecko had automatically downloaded and installed. I had attempted to use winetricks to install a few other dlls etc, however winetricks doesn't work in x64. Also I had previously installed the tahoma font from a backup copy I had of some $NTSPUninstall$ folders.
No mouse or keyboard
by Ruben on Monday October 4th 2010, 1:38
Hi. I could install the game with the DVD and upgrade it without any particular issue. It starts correctly within a virtual desktop window, but I can't interact with this window. It is unpossible to click ou type anything in the virtual desktop. Does anyone know a solution to this problem?
Fix for black graphics glitches
by Nick on Monday July 5th 2010, 16:17
On 10.04 with latest Nvidia drivers as of 7/5; enable 2xAA in nvidia-settings and the game to make the glitches disappear
Can't star BF2
by Christoffer on Tuesday June 29th 2010, 4:59
Well I did everything in this toturial. But for some reason it just do not works for me. Everytime I try to start BF2 there is a window that says that "BF2.exe have encountered a problem and is forced to shut down." Any ideas?
Modelines
by Dean Hamstead on Sunday April 4th 2010, 7:19
fyi modelines can be generated for you using the 'gtf' command
ie...

gtf 1024 768 60

# 1024x768 @ 60.00 Hz (GTF) hsync: 47.70 kHz; pclk: 64.11 MHz
Modeline "1024x768_60.00" 64.11 1024 1080 1184 1344 768 769 772 795 -HSync +Vsync


also the +restart option when starting bf2 spares you enduring the movies
  • RE: Modelines by monkeyslayer56 on Sunday April 4th 2010, 13:59
Multiplayer
by Alexander on Wednesday February 17th 2010, 12:56
Anybody fixed this yet?
errrmm..
by tomi on Monday January 11th 2010, 8:51
Well yeah, well i've got just one problem. Cant find "HKEY_CURRENT_USER\Software\Wine\AppDefaults\bf2.exe\Direct3D"

Missing from the part where AppDefaults should be.
only thing that i have even reminding of Direct3D is at
"HKEY_CURRENT_USER\Software\Wine\Direct3D\"
Should i be worried ? :p
  • RE: errrmm.. by monkeyslayer56 on Monday January 11th 2010, 9:28
Fixing some bugs
by Alexander on Tuesday December 22nd 2009, 22:02
As i indicated in my tests...

Set the following to your direct3d key

DirectDrawBuffer = gdi
OffScreenRenderingMode = fbo
Back