I found this guide on Youtube for a Linux/Wine installation - http://www.youtube.com/watch?v=0R7CzvYpQ7s - and used it as a basis for my own attempt.
Packages installed:
- IE8 (for the Dependencies I think)
- Wine mono
- .NET 2
- C++ 2005
- C++ 2008
- Directx9
- Directx Modern
- Firefox 3
- BFP4F plugin from the battlefield.play4free.com website (using Firefox)
Unfortunately Punkbuster doesn't work, so you get kicked from most servers.
I'm using a Macbook Pro (Retina, Mid 2012). Works on Very Low and Low graphics settings - but it crashes on Med and High (in either windowed or full-screen).
I had a complete computer grey-screen crash the first time I ran it, but subsequent runs seemed to work (or crashed without taking my whole computer down).
--
UPDATE: PUNKBUSTER SEEMS TO WORK
I tried to update Punkbuster using pbsetup.exe, but that didn't work - but manually downloading and installing the files did:
http://www.evenbalance.com/index.php?page=dl-bfp4f.php
So 'Manage Bottles', open the relevant bottle -- then browse to Progs > EA > P4F > pb. Install bottom set of files into "htm/" and pbset.htm in the "pb" folder (actually i put in "htm/" too).
Reconnect, and as far as I can tell - i don't get kicked.
BUT: I noticed my "pbsec.htm" file seemed to disappear from time-to-time (perhaps as a result of self-update by P4F). So i needed to copy it back into the "pb" folder (I keep a backup copy "pbsec-MASTER.htm" there and just duplicate it and rename it to "pbsec.htm" before playing).