WineHQ
Category: Main Games 1st Person Shooter Battlefield 3 Battlefield 3: Special Edition

Battlefield 3

No Screenshot

Submit Screenshot

The "Battlefield 3: Special Edition".

Application Details:

Version: Battlefield 3: Special Edition
License: Retail
URL: http://www.battlefield.com/bat...
Votes: Marked as obsolete
Latest Rating: Garbage
Latest Wine Version Tested: 1.8-rc3

Maintainers: About Maintainership

Test Results

Old test results
The test results you have selected are very old and may not represent the current state of Wine.
Selected Test Results

What works

Please note i'am running through q4wine & also straight wine command line ,with optirun to start the q4wine or wine .

Optirun and primusrun are the switching binaries of bumblebee that enables the optimus mux head of the dGPU or Nvidia GPU in thise case,without using this the applications will not load opengl and will complain in the log console.

eg ; (1) optirun q4wine or (2) primusrun q4wine or (3) optirun wine,with optirun being the preferred in this case.

The links top the opengl libraries ( symbolic) are also requried in each wine apps directory ,you will see errors concerning opengl if these are not placed in the Battlefield 3 directory .

 Under the drive_c of your wine drive with Battlefield on it,in a console ( not wine) cd to that directory ,cd cd .wine/drive_c/Program\ Files\ \(x86\)/Origin\ Games/Battlefield\ 3/

ln -s /usr/lib/i386-linux-gnu/libGLU.so.1

ln -s /usr/lib/i386-linux-gnu/libGLU.so.1.3.1

You will see two sym links like below .

lrwxrwxrwx  libGLU.so.1 -> /usr/lib/i386-linux-gnu/libGLU.so.1
lrwxrwxrwx  libGLU.so.1.3.1 -> /usr/lib/i386-linux-gnu/libGLU.so.1.3.1

These links can be copied to other game directories such as BF4 or COD4 which also required these symlinks.

Bumblebee Install with Nvidia on Ubuntu 13.10 Saucy & this works on my system very well;

 http://bumblebee-project.org/

1 ;

sudo add-apt-repository ppa:xorg-edgers/ppa
sudo add-apt-repository ppa:bumblebee/stable
sudo apt-get update

You can take out the ppa for xorg-edgers after the install of the nvidia pkg's as updates done in auto could break the symlinks and ruin all the fun.

2;


Remove old nvidia drivers

sudo apt-get purge nvidia-yourversion nvidia-settings-yourversion

3;


Then install bumblebee and nvidia-331

purge nvidia-yourversion nvidia-settings

4;


sudo apt-get update
sudo apt-get install primus && apt-get install primus-libs
sudo apt-get install bumblebee bumblebee-nvidia primus nvidia-331 nvidia-settings-331
sudo apt-get install bumblebee-config-gtk
sudo apt-get update
sudo apt-get install virtualgl-libs libgl1-mesa-glx
sudo apt-get install libgl1-mesa-glx
sudo apt-get install libc6-dev-i386
sudo apt-get install libc6
sudo apt-get install mesa-utils
sudo apt-get install mesa-utils-extra
sudo apt-get install zlib1g
sudo apt-get install libjpeg62

4;

Cinebench results are well above normal results in windows,using this to check that wine is utilising opengl.

Cinebench32 results are at approx 54.52. points ,as per the results they have been at 59? on the 1.7 wine version i think.

http://i.imgur.com/XSlgip1.jpg

5;

The executable is loading in the system for approx 1 minute before stopping with the previous errors.

err:ole:CoGetClassObject class {4590f811-1d3a-11d0-891f-00aa004b2e24} not registered
err:ole:CoGetClassObject no class object {4590f811-1d3a-11d0-891f-00aa004b2e24} could be created for context 0x1
err:ole:CoGetClassObject class {4590f811-1d3a-11d0-891f-00aa004b2e24} not registered
err:ole:CoGetClassObject no class object {4590f811-1d3a-11d0-891f-00aa004b2e24} could be created for context 0x1
err:ole:CoGetClassObject class {4590f811-1d3a-11d0-891f-00aa004b2e24} not registered
err:ole:CoGetClassObject no class object {4590f811-1d3a-11d0-891f-00aa004b2e24} could be created for context 0x1
err:ole:CoGetClassObject class {4590f811-1d3a-11d0-891f-00aa004b2e24} not registered
err:ole:CoGetClassObject no class object {4590f811-1d3a-11d0-891f-00aa004b2e24} could be created for context 0x1
err:ole:CoGetClassObject class {4590f811-1d3a-11d0-891f-00aa004b2e24} not registered
err:ole:CoGetClassObject no class object {4590f811-1d3a-11d0-891f-00aa004b2e24} could be created for context 0x1
err:ole:CoGetClassObject class {4590f811-1d3a-11d0-891f-00aa004b2e24} not registered
err:ole:CoGetClassObject no class object {4590f811-1d3a-11d0-891f-00aa004b2e24} could be created for context 0x1
err:ole:CoGetClassObject class {4590f811-1d3a-11d0-891f-00aa004b2e24} not registered
err:ole:CoGetClassObject no class object {4590f811-1d3a-11d0-891f-00aa004b2e24} could be created for context 0x1
fixme:win:EnumDisplayDevicesW ((null),0,0x33dc38,0x00000000), stub!
fixme:heap:HeapSetInformation (nil) 1 (nil) 0
fixme:heap:HeapSetInformation (nil) 1 (nil) 0
fixme:system:SetProcessDPIAware stub!

The above errors occur with or without application configuration to disable or native /inbuilt etc,with mshtml,mmdevvapi or directx.

The PCI and Vendor Code have been added to two extra DWORDS in the registry under Direct3D ,VideoDeviceID & VideoVendorID,these can found by lspci -n in xterm or the console,although no noticable difference was made with these inclusions.

Video Configuration is still under testing but it works with COD and the other apps is as per below ;

http://i.imgur.com/h85H2ii.png





What does not

Does not work without the dGPU ( nvidia gtx) without bumblebee & your dGPU .

Workarounds

What was not tested

Directx10 or Directx 9,or directwrite.

Hardware tested

Graphics:

  • GPU:
  • Driver:

Additional Comments

selected in Test Results table below
Operating systemTest dateWine versionInstalls?Runs?Used
Workaround?
RatingSubmitter
ShowUbuntu 14.04 "Trusty" amd64 (+ variants like Kubuntu)Dec 11 20151.8-rc3Yes No NoGarbageKari Saaranen 
ShowUbuntu 14.04 "Trusty" amd64 (+ variants like Kubuntu)Mar 21 20151.7.38Yes No NoGarbageKari Saaranen 
ShowDebian GNU/Linux 8.x "Jessie" x86_64Oct 28 20141.7.29Yes No NoGarbageScott Weldon 
ShowUbuntu 13.10 "Saucy" amd64 (+ variants like Kubuntu)Jan 22 20141.7.11Yes Yes NoBronzeJeff 
CurrentUbuntu 13.10 "Saucy" i386 (+ variants like Kubuntu)Jan 02 20141.6.1Yes Yes NoBronzeJeff 

Known Bugs

Bug # Description Status Resolution Other apps affected

Show all bugs

HowTo / Notes

EULA - Warning

Keep in mind that before you can install Origin you have accept an EULA that entitles the software to crawl through your wineprefix logging everything. I highly recommend both removing the "Z" link to your / in winecfg and installing BF3 in it's own prefix.


Comments

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

Can't even install it anymore
by Sabun on Monday March 4th 2013, 9:31
Used to be able to install BF3 at least, even though it wouldn't play.

Now, Origin has really ruined things. Can't download BF3, can't install it from my discs, can't reload/refresh the game's list using a backup install from Windows.

What I get now is "Windows prevented the application from creating a download directory. Please accept the UAC prompt to begin downloading this game."

As far as I know, Wine doesn't have UAC. I tried XP and Windows 7 in winecfg, no dice.

This was all tested using Wine 1.5.25, 1.5.23, 1.5.11 and even 1.3.17 on Ubuntu 12.10 64Bit. Even tried some self-compiled versions of 1.5.25 with double buffer patch and crysis patch, just to see what might happen. So this new problem isn't Wine, it's Origin. Almost feels like EA is paying the developers to put in Anti-Linux/Anti-Wine code in their work.
RE: Can't even install it anymore-bf3 -install working
by Jeff on Wednesday January 1st 2014, 23:22
The bf3.exe now loads with Origin and via the web browser,i have PB installed and both PnkbusteA & B running ,alogn with eacoreserver,easonar,origin client service,with the option string after the bf3.exe .

To get awc.dll errors to be corrected the following string after the bf3.exe without quotes and must be used ,some of the data is only available if you have purchased the item from EA.

The following string is available via windows string information when running the game.

-webMode MP -Origin_NoAppFocus -onlineEnvironment prod -AuthCode thiscodeisperpurchasefromwindblowsinbf3startstring -requestState State_ClaimReservation -requestStateParams logintoken=thiscodeisperpurchasefromwindblowsinbf3startstring levelmode=mp personaref=thiscodeisperpurchasefromwindblowsinbf3startstring role=soldier gameid=thiscodeisperpurchasefromwindblowsinbf3startstring putinsquad=true

Wine Version wine-1.6.1
Hardware Clevo p150 ,i7 haswell & GTX765




If it complains about unable to grab the display eg:place $DISPLAY as your current display ,to show this in a normal console echo $DISPLAY

I have also disabled dx9,10 & 11 in the wineconfig application settings ( libraries).

Only Error now is :

fixme:win:EnumDisplayDevicesW ((null),0,0x33dc38,0x00000000), stub!
fixme:heap:HeapSetInformation (nil) 1 (nil) 0
fixme:heap:HeapSetInformation (nil) 1 (nil) 0
fixme:system:SetProcessDPIAware stub!

Still to test /correct is the actual screen display and play.

COD4 was misbehaving with display errors will i unplugged the external monitor (hdmi),it now plays great,this didnt fix the display errors in bf3,yet.


Any help with these errors would be appreciated.

fixme:win:EnumDisplayDevicesW ((null),0,0x33dc38,0x00000000), stub!
fixme:heap:HeapSetInformation (nil) 1 (nil) 0
fixme:heap:HeapSetInformation (nil) 1 (nil) 0
fixme:system:SetProcessDPIAware stub!
Direct3D
by Morion on Monday October 31st 2011, 17:03
The game can use 10 and 11 directx.
But when I run game, the it try to find d3d11.dll and crashes at startup. Do someone know, how I can use d3d10.dll?
RE: Direct3D
by Galym Kerimbekov on Wednesday November 2nd 2011, 1:45
winetr
RE: Direct3D
by Coxtor on Friday November 18th 2011, 8:49
Sadly this does not work - All dll's are registerd and listed in winecfg and the files are all located in system32 directory. Still I too get this message.
Any ideas why ?
RE: Direct3D
by rocko on Thursday November 24th 2011, 21:37
It looks like you can fix this by creating a symlink to one of the d3dx11_4x.dll files:

cd /drive_c/windows/system
ln -s d3dx11_43.dll d3d11.dll

But I can't test it further yet because it crashes shortly afterwards complaining that BCryptGenRandom is unimplemented, which is because none of the bcrypt functions are implemented yet in wine.
RE: Direct3D
by rocko on Thursday November 24th 2011, 21:42
Oops, I meant cd /drive_c/windows/system32.
RE: Direct3D
by rocko on Thursday November 24th 2011, 21:45
And after reading what the posting has done to my cd command (it removed the 'insert your wine folder here'), I'll try again.

If, say, your wine folder is /games/bf3/wine, then this is the command to use:

cd /games/bf3/wine/drive_c/windows/system32
ln -s d3dx11_43.dll d3d11.dll
RE: Direct3D
by teepean on Saturday February 4th 2012, 3:50
Does it work with a real bcrypt.dll from Vista/Windows 7?
RE: Direct3D
by rocko on Saturday February 4th 2012, 3:56
I have tried using both a bcrypt.dll from XP and from Win7, and neither work.
RE: Direct3D
by teepean on Saturday February 4th 2012, 4:00
What kind of error does Wine output?
RE: Direct3D
by rocko on Saturday February 4th 2012, 16:36
With bcrypt.dll from Win7:

err:module:import_dll Library API-MS-Win-Core-ProcessThreads-L1-1-0.dll (which is needed by L"C:\\windows\\system32\\bcrypt.dll") not found
err:module:import_dll Library API-MS-Win-Security-Base-L1-1-0.dll (which is needed by L"C:\\windows\\system32\\bcrypt.dll") not found
err:module:import_dll Library bcrypt.dll (which is needed by L"Z:\\bf3\\Battlefield 3\\bf3.exe") not found
RE: Direct3D
by teepean on Sunday February 5th 2012, 3:26
According to Dependency Walker both API-MS-Win-Security-Base-L1-1-0.dll and API-MS-Win-Core-ProcessThreads-L1-1-0.dll do not need any additional dlls so you can copy them from Windows without fear of getting to dll-hell.

I'll have to try this myself as well.
RE: Direct3D
by rocko on Sunday February 5th 2012, 23:08
I'm pretty sure that at the time I was trying to get it to work that I copyied these DLLs across into wine's system32 folder, but wine still couldn't load them.

If you *do* get it working, please post back because maybe I mixed up the 64 and 32 bit version of these files.
Back