Application Details:
Version: | Steam |
License: | Retail |
URL: | http://www.eagames.com/officia... |
Votes: | 0 |
Latest Rating: | Gold |
Latest Wine Version Tested: | 7.18-staging |
Maintainers: About Maintainership
What works
Game launches, single player works, in-game menu browsing works. High graphics settings works too.
What does not
Had to enable "emulate virtual desktop" in winecfg.
Workarounds
Enable "emulate virtual desktop" in winecfg.
What was not tested
Multiplayer.
Hardware tested
Graphics:
Additional Comments
Game version is 1.5.3153-802.0. I used a clean 64-bit WINEPREFIX.
$ lshw -short | egrep -v '(volume|disk|bus)'
H/W path Device Class Description ====================================================================== system ROG Strix G733QR_G733QR /0/0 memory 64KiB BIOS /0/b memory 64GiB System Memory /0/b/0 memory 32GiB SODIMM DDR4 Synchronous Unbuffered (Unregistered) 3200 MHz (0.3 ns) /0/b/1 memory 32GiB SODIMM DDR4 Synchronous Unbuffered (Unregistered) 3200 MHz (0.3 ns) /0/d memory 512KiB L1 cache /0/e memory 4MiB L2 cache /0/f memory 16MiB L3 cache /0/10 processor AMD Ryzen 9 5900HX with Radeon Graphics /0/100 bridge Renoir/Cezanne Root Complex /0/100/0.2 generic Renoir/Cezanne IOMMU /0/100/1.1 bridge Renoir PCIe GPP Bridge /0/100/2.1 bridge Renoir/Cezanne PCIe GPP Bridge /0/100/2.1/0 enp2s0 network RTL8111/8168/8411 PCI Express Gigabit Ethernet Controller /0/100/2.2 bridge Renoir/Cezanne PCIe GPP Bridge /0/100/2.2/0 /dev/fb0 network MT7921 802.11ax PCI Express Wireless Network Adapter /0/100/2.3 bridge Renoir/Cezanne PCIe GPP Bridge /0/100/2.3/0 /dev/nvme0 storage Samsung SSD 970 EVO 1TB /0/100/2.4 bridge Renoir/Cezanne PCIe GPP Bridge /0/100/2.4/0 /dev/nvme1 storage INTEL SSDPEKNU010TZ /0/100/8.1 bridge Renoir Internal PCIe GPP Bridge to Bus /0/100/8.1/0 display Cezanne /0/100/8.1/0.1 multimedia Renoir Radeon High Definition Audio Controller /0/100/8.1/0.2 generic Family 17h (Models 10h-1fh) Platform Security Processor /0/100/8.1/0.3/0/1 generic Pixel 5 /0/100/8.1/0.3/0/2 generic 802.11ac WLAN Adapter /0/100/8.1/0.3/0/3 input N-KEY Device /0/100/8.1/0.3/0/4 input N-KEY Device /0/100/8.1/0.4/0/1 input USB Device /0/100/8.1/0.4/0/4 communication Wireless_Device /0/100/8.1/0.4/1/2 scsi0 storage USB to ATA/ATAPI Bridge /0/100/8.1/0.5 multimedia ACP/ACP3X/ACP6x Audio Coprocessor /0/100/8.1/0.6 multimedia Family 17h/19h HD Audio Controller /0/100/14.3 bridge FCH LPC Bridge /0/101 bridge Renoir PCIe Dummy Host Bridge /0/102 bridge Renoir PCIe Dummy Host Bridge /0/103 bridge Renoir PCIe Dummy Host Bridge /0/104 bridge Cezanne Data Fabric; Function 0 /0/105 bridge Cezanne Data Fabric; Function 1 /0/106 bridge Cezanne Data Fabric; Function 2 /0/107 bridge Cezanne Data Fabric; Function 3 /0/108 bridge Cezanne Data Fabric; Function 4 /0/109 bridge Cezanne Data Fabric; Function 5 /0/10a bridge Cezanne Data Fabric; Function 6 /0/10b bridge Cezanne Data Fabric; Function 7 /0/1 system PnP device PNP0c01 /0/2 system PnP device PNP0b00 /0/3 generic PnP device ATK3001 /0/4 system PnP device PNP0c02 /1 wlp6s0f3u2 network Wireless interface
$ glxinfo -B
name of display: :0 display: :0 screen: 0 direct rendering: Yes Extended renderer info (GLX_MESA_query_renderer): Vendor: AMD (0x1002) Device: AMD RENOIR (LLVM 14.0.0, DRM 3.47, 5.19.16-200.fc36.x86_64) (0x1638) Version: 22.1.7 Accelerated: yes Video memory: 512MB Unified memory: no Preferred profile: core (0x1) Max core profile version: 4.6 Max compat profile version: 4.6 Max GLES1 profile version: 1.1 Max GLES[23] profile version: 3.2 Memory info (GL_ATI_meminfo): VBO free memory - total: 65 MB, largest block: 65 MB VBO free aux. memory - total: 31302 MB, largest block: 31302 MB Texture free memory - total: 65 MB, largest block: 65 MB Texture free aux. memory - total: 31302 MB, largest block: 31302 MB Renderbuffer free memory - total: 65 MB, largest block: 65 MB Renderbuffer free aux. memory - total: 31302 MB, largest block: 31302 MB Memory info (GL_NVX_gpu_memory_info): Dedicated video memory: 512 MB Total available memory: 32372 MB Currently available dedicated video memory: 65 MB OpenGL vendor string: AMD OpenGL renderer string: AMD RENOIR (LLVM 14.0.0, DRM 3.47, 5.19.16-200.fc36.x86_64) OpenGL core profile version string: 4.6 (Core Profile) Mesa 22.1.7 OpenGL core profile shading language version string: 4.60 OpenGL core profile context flags: (none) OpenGL core profile profile mask: core profile OpenGL version string: 4.6 (Compatibility Profile) Mesa 22.1.7 OpenGL shading language version string: 4.60 OpenGL context flags: (none) OpenGL profile mask: compatibility profile OpenGL ES profile version string: OpenGL ES 3.2 Mesa 22.1.7 OpenGL ES profile shading language version string: OpenGL ES GLSL ES 3.20
Operating system | Test date | Wine version | Installs? | Runs? | Used Workaround? | Rating | Submitter | ||
Current | Fedora 36 x86_64 | Oct 23 2022 | 7.18-staging | Yes | Yes | Yes | Gold | John Doe | |
Show | Gentoo Linux x86_64 | Sep 05 2017 | 2.15-staging | No, but has workaround | Yes | Yes | Silver | Rob | |
Show | Gentoo Linux x86_64 | Nov 13 2015 | 1.7.54-staging | Yes | Yes | Yes | Gold | Rob | |
Show | Gentoo Linux x86_64 | Apr 03 2014 | 1.7.15 | Yes | Yes | Yes | Gold | Rob | |
Show | Mac OS X 10.7 "Lion" | Jul 02 2012 | 1.4 | Yes | Yes | No | Silver | Mac Porter Joe |
Bug # | Description | Status | Resolution | Other apps affected |
6351 | Battlefield 2 graphics problems | CLOSED | FIXED | View |
8854 | Unable to get keyboard / mouse input in multiple games | CLOSED | FIXED | View |
17402 | Battlefield 2 runs unplayably slow (and mission loading takes longer) on ATi with GLSL | CLOSED | FIXED | View |
29868 | Battlefield 2 can't change controls | CLOSED | DUPLICATE | View |
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 |
These notes were last updated: 04 September 2019
Follow these guidelines to avoid embarrassment when your Test Submission is immediately rejected!!
These guidelines ensure your submitted test results are actually relevant to other users of Wine and WineHQ.
1 The console version of the lshw utility is your friend. This command will dump your System hardware specification in a clean format. Post command and output in the Extra Comments section:
sudo lshw -short | egrep -v '(volume|disk|bus)'
2 glxinfo can be used to display your OpenGL and graphics driver versions. Post the command and output in the Extra Comments section:
glxinfo -B
cd "${WINEPREFIX}/drive_c/Program Files/Steam/SteamApps/common/Battlefield 2" rm -rf directx/ PunkBuster/ redist/
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):
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) BF2Hub
Pros
Cons
Getting Started
Guide to Installing the BF2 Hub Launcher
Download the BF2 Hub Launcher installer.
Then simply set the BF2 Hub Launcher up in a Wineprefix - which has an existing Battlefield 2 installation:
wine bf2hub-client-setup.exe
Then to run the BF2 Hub Launcher (32-bit Wineprefix):
wine start 'C:\Program Files\BF2Hub Client\bf2hub.exe'
The BF2 Hub Client will automatically read your EA Account Details/CD key. So you should be able to play Battlefield 2 online straightaway!
The BF2 Hub Launcher uses a system tray icon. This results in a known system tray bug affecting Battlefield 2, when Wine is used in the Virtual Desktop mode. See bug: 40828.
(2) Battlelog Servers
Update: the Battelog/Revive crew were served a takedown notice by EA. So this only remaining solution, to full online play for Battlefield 2, is no longer available...
Pros
Cons
Getting Started
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 -i'!lib/*'
Then to run the Revive Launcher:
cd "${WINEPREFIX}/drive_c/Battlelog.co/lib/net45" wine start 'Revive-Launcher.exe'
If using Steam then you may need to fix the install the Steam Library install path that the Revive Launcher tries to use for BF2:
export STEAM_WPATH="$( wine reg QUERY 'HKEY_LOCAL_MACHINE\Software\Valve\Steam' /v 'InstallPath' 2>/dev/null | awk '{if (sub("InstallPath","",$1) && sub("REG_SZ","",$2)) { sub("^[[:blank:]]+|[[:blank:]]+$",""); printf("%s\0", $0); exit 0 } }' )" export STEAM_UPATH="$( winepath -u "${STEAM_WPATH}" 2>/dev/null | dos2unix )" export BF2_PATH="$( find "${STEAM_UPATH}" -type d -iname "Battlefield 2" -print0 | xargs -0 winepath -w 2>/dev/null )" export APPLICATION_DATA="$( wine reg.exe query 'HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\Shell Folders' /v 'AppData' | awk '{if (sub("AppData","",$1) && sub("REG_SZ","",$2)) { sub("^[[:blank:]]+|[[:blank:]]+$",""); printf("%s\0", $0); exit 0 } }' | xargs -0 winepath -u 2>/dev/null | dos2unix )" export DIRS_BF2="$( find "${APPLICATION_DATA}" -type f -ipath '*bf2battlelog/dirs_bf2.json' )" sed -i -e 's|{"gameDir":"[^"]*|{"gameDir":"'"${BF2_PATH//\\/\\\\\\\\}"'|' "${DIRS_BF2}"
NB: this will only work if your Steam Library directory, for BF2, is stored below the main Steam directory.
The Revive Launcher largely works:
Tested with Wine Staging - version 2.15.
The Revive Launcher is much less stable with earlier versions of Wine Staging. The Revive Launcher not work with any Wine Stable or Wine Development release (at present).
Revive Game CD Keys
It may be 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).
wine regedit
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"
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"
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). Combining these 2 Mods allows you to achieve a good offline, single-player experience. As your stock BF2 data files are not affected, you can still play online, without being kicked by Punkbuster!
Setup an account on Battlefield SinglePlayer Forum and login into this account (this is necessary to unlock download links used in this section).
Download BF2 SPX archive - version 1.2
cd ~/Downloads wget -c "http://www.battlefieldsingleplayer.com/dnamro/files/BF2/BF2_SPX_1_2.zip" cd "${WINEPREFIX:-${HOME}/.wine}/drive_c/Program Files/Steam/steamapps/common/Battlefield 2/mods" mkdir BF2_SPX cd BF2_SPX unzip ~/Downloads/BF2_SPX_1_2.zip
Download shaders client (fixed) archive
(based on texture map files from the Forgotten Hope BF2 mod).
cd "${WINEPREFIX:-${HOME}/.wine}/drive_c/Program Files/Steam/steamapps/common/Battlefield 2/mods/BF2_SPX" cp "BP_Shaders_client.zip" "BP_Shaders_client.bak.zip" cp ~/Downloads/Shaders_Client_Fix.zip "BP_Shaders_client.zip"
Uncomment these 2 lines to put the stock menu movies back into the SPX mod... But why??!!
# cd "${WINEPREFIX:-${HOME}/.wine}/drive_c/Program Files/Steam/steamapps/common/Battlefield 2/mods" # rsync -achv bf2/Movies/{Intro,menu,menu_loggedin}.bik BF2_SPX/Movies/
+modPath 'mods\BF2_SPX' +menu 1 +fullscreen 1 +szx 1920 +szy 1080
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.
cd ~/Downloads/ unzip bf2-sp-bot-changer-21.zip wine 'BF2 SP Bot Change v2.1.exe'
If you find yourself getting kicked from online multiplayer Servers... Then try refreshing your Punkbuster installation. Otherwise it's probably best not to touch it!
Ensure you are using a 32-bit WINEPREFIX (Punkbuster will not work in a 64-bit WINEPREFIX).
Note: using a 64-bit WINEPREFIX appeared not to be an issue, during online testing on 26 November 2018. Testing multiplayer, on a BF2Hub-enabled BF2 Server (with Punkbuster enabled). YMMV.
Steps to refresh your current Punkbuster files:
Download and extract the final Punkbuster files supporting BF2: bf2_win32.zip:
wget -O ~/Downloads/bf2_win32.zip -c "http://fizweb.elte.hu/battlefield/Battlefield-2/BF2-PunkBuster/bf2_win32.zip" export PB_DIRECTORY="$(find "${WINEPREFIX}" -type d -iname "pb")" mv "${PB_DIRECTORY}" "${PB_DIRECTORY}.bak" unzip ~/Downloads/bf2_win32.zip -d "$(dirname "${PB_DIRECTORY}")"
NB you'll have to do this process manually - if BF2 is not installed within your current WINEPREFIX.
Now update the Punkbuster service with the Punkbuster service utility: pbsvc.exe:
wget -O ~/Downloads/pbsvc.exe -c "http://www.evenbalance.com/downloads/pbsvc/pbsvc.exe" wine start /unix ~/Downloads/pbsvc.exe
Note: for older AMD (<5xxx)/Nvidia GPU's (<8xxx) and Intel GPU's it is recommended to set:
The currently supported maximum in-game Video Settings (without the Shader mesh fix - detailed on this page) are:
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 26.11.2018 Wine-Staging 3.21, Nvidia Geforce GTX 970M, Nvidia Driver 396.54.09 (Gentoo GNU/Linux)
BF2 Commandline Options
Refer to Battlefield 2 Tweak Guide: 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:
wine start 'BF2.exe' ... +playerName "name" +password "⚫⚫⚫⚫"
wine start 'BF2.exe' ... +menu 1 +fullscreen 1 +szx 1920 +szy 1080
wine start 'BF2.exe' ... +modPath mods/BF2_SPX +ignoreAsserts 1
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.