Battlefield 2 on Linux: Notes & Tips: Difference between revisions

m
no edit summary
mNo edit summary
mNo edit summary
Line 55: Line 55:
You can easily install different versions with '''ProtonUp-Qt''', for Steam OS users, there is a flatpak version.
You can easily install different versions with '''ProtonUp-Qt''', for Steam OS users, there is a flatpak version.


===Setup Lutris Environment===
We need to create a new Wine environment to install the game into it. The mistake is usually to install every game on the same Wine prefix, is like having one machine with Windows and you just keep install everything on that same machine, this might work but also might not because every game might need a different version of Wine/Proton so is always recommended to create a separate environment for every game or software that you want to run on it.


===Setup Lutris Environment ===


Top-left + icon, then Add locally installed game, not going to use any scripts, all manual.
We need to create a new Wine environment to install the game. A common mistake is installing every game in the same Wine prefix. This is like having one Windows machine and installing everything on it — it might work, but often it doesn’t, because each game may require a different version of Wine or Proton. It is always recommended to create a separate environment for every game or software you want to run.
[[File:Lutris-add-games-to-lutris-screen1.png|none|thumb|Manually configure a game since we need to install it the traditional way]]


In Game Info is important to specify '''Wine''' as the '''Runner''', filling remaining fields are not required except for the Name.
==== 1. Click the '''+''' icon ====
[[File:Lutris-add-new-game-info-screen1.png|border|none|thumb|Select the Runner as Wine]]In Game options Wine prefix need to point to the location where Wine will create the environment (or prefix) specific for the game, is really important that you select a different folder for every game or software you use.
in the top-left corner, then select '''Add locally installed game'''. We won’t use any scripts; everything will be configured manually.[[File:Lutris-add-games-to-lutris-screen1.png|none|thumb|Manually configure a game since we need to install it the traditional way]]


The '''Executable''' and '''Arguments''' are used after you installed the game and you have the game folder ready, then you can set the bf2.exe executable to run the game, for now you can leave it empty. '''Prefix architecture''' you can keep it to Auto for this game (a 64bit prefix will be created).
==== 2. In '''Game Info''' ====
[[File:Lutris-add-new-game-options-screen1.png|thumb|none]]
specify '''Wine''' as the Runner. Filling in the remaining fields is optional, except for the Name.[[File:Lutris-add-new-game-info-screen1.png|none|thumb|Select the Runner as Wine]]


==== 3. In '''Game Options''' ====
set the Wine prefix to the folder where Wine will create the environment for this game. It is important to select a different folder for each game or software.


In '''Runner options''' you choose the Wine version, if you already downloaded the correct Wine version you can select it here. Don't choose random versions here, is always best to understand and take notes of the version you are using, check Install Wine section for my recommendation.
The '''Executable''' and '''Arguments''' fields are used after installation, when the game folder is ready. At that point, you can set '''bf2.exe''' as the executable. For now, leave these fields empty.
[[File:Lutris-runner-options-screen1.png|none|thumb]]
One important graphics setting is the '''DXVK version''', which can significantly improve your experience with the game. I am currently using version '''2.6.2'''. Keep an eye on updates for this graphics wrapper, as newer releases often enhance performance and fix graphical issues.


Below in the Runner options you find DLL overrides, for this game you can leave it empty, this is because we don't have any dll in the game folder that need to replace the counterpart in the Windows library folder.
Keep the '''Prefix architecture''' set to '''Auto''' (a 64-bit prefix will be created).[[File:Lutris-add-new-game-options-screen1.png|thumb|none]]


In the System options I add a few environment variables to help logging and performance.
==== 4. In '''Runner Options''' ====
choose the Wine version. If you have already downloaded the correct Wine build, select it here. Avoid choosing random versions — always take notes on which version you are using. See the ''Install Wine'' section for recommendations.[[File:Lutris-runner-options-screen1.png|none|thumb]]One important graphics setting is the '''DXVK version''', which can significantly improve performance. I currently use version '''2.6.2'''. Keep an eye on updates, as newer releases often enhance performance and fix graphical issues.


'''DXVK_FRAME_RATE''': limit the frame rate.
Leave '''DLL overrides''' empty for this game, since there are no DLLs in the game folder that need to replace Windows library counterparts.


'''DXVK_HUD:''' hud to check sys specs and fps counter.
==== 5. In '''System Options''' ====
 
you can add environment variables to help with logging and performance:#<code>DXVK_FRAME_RATE</code> – limits the frame rate
'''ALSOFT_LOGFILE''' and '''ALSOFT_LOGLEVEL''' are for logging the OpenAL Soft library.
#<code>DXVK_HUD</code> – displays system specs and an FPS counter
[[File:Lutris-sys-options-envvar-screen1.png|none|thumb]]
#<code>ALSOFT_LOGFILE</code> and <code>ALSOFT_LOGLEVEL</code> – enable logging for the OpenAL Soft library
After you finish just click Save and you creating the game profile, now to create the actual prefix you need to trigger the Wine executable to do the job, in order to do so you can click on the arrow icon at the bottom of the application and then click '''Wine configuration'''. After a few seconds the Wine configuration will open, no need to do anything here, just close it. The wine prefix folder has been created and you can check all the files inside. Is like having a portable Windows OS where you are going to install the game on it.
After saving, you will have created the game profile. To generate the actual Wine prefix, trigger the Wine executable by clicking the arrow icon at the bottom of the application and selecting '''Wine configuration'''. After a few seconds, the Wine configuration window will open. You don’t need to change anything here, just close it. The Wine prefix folder will now be created, containing all necessary files. Think of it as a portable Windows installation where you can install the game.
 
===Install Battlefield 2 ===
===Install Battlefield 2===
My instructions here a limited to the vanilla experience, if you want to install mods, you should be able to do it following the same steps you did to install the game.
My instructions here a limited to the vanilla experience, if you want to install mods, you should be able to do it following the same steps you did to install the game.


Line 96: Line 94:




=== Restore EAX with OpenAL Soft ===
===Restore EAX with OpenAL Soft===


Everything needs to be perfect, including audio. The game supports EAX, and to enable the audio hardware capabilities we can use the '''OpenAL Soft''' library. The setup is straightforward and works well with many games, not only ''Battlefield 2''. The first step is to determine whether the game uses the '''dsound''' or '''openal''' audio library. In the game folder, you will find a library called '''BF2OpenAL.dll'''. From the name alone, you can tell that the game supports OpenAL, so we will use OpenAL Soft to replace it and enable EAX support.
Everything needs to be perfect, including audio. The game supports EAX, and to enable the audio hardware capabilities we can use the '''OpenAL Soft''' library. The setup is straightforward and works well with many games, not only ''Battlefield 2''. The first step is to determine whether the game uses the '''dsound''' or '''openal''' audio library. In the game folder, you will find a library called '''BF2OpenAL.dll'''. From the name alone, you can tell that the game supports OpenAL, so we will use OpenAL Soft to replace it and enable EAX support.
Line 102: Line 100:
Download OpenAL Soft from the [https://github.com/kcat/openal-soft/releases/tag/1.23.1 GitHub release page]. The version I currently use for this game is '''1.23.1''', which I recommend for this tutorial. After extracting the archive, you will need two files:
Download OpenAL Soft from the [https://github.com/kcat/openal-soft/releases/tag/1.23.1 GitHub release page]. The version I currently use for this game is '''1.23.1''', which I recommend for this tutorial. After extracting the archive, you will need two files:


* From the '''router/Win32''' folder, take '''OpenAL32.dll'''. Rename this file to '''BF2OpenAL.dll''' and replace the existing one in the game folder.
*From the '''router/Win32''' folder, take '''OpenAL32.dll'''. Rename this file to '''BF2OpenAL.dll''' and replace the existing one in the game folder.
* From the '''bin/Win32''' folder, copy '''soft_oal.dll''' into the game folder.
*From the '''bin/Win32''' folder, copy '''soft_oal.dll''' into the game folder.


Next, download the [https://github.com/main-exe/UT2004-OpenAL OpenAL configuration for UT2004] from GitHub. We will use part of its content. Specifically, you need the file '''OpenAL-44100Hz.zip''', which contains '''alsoft.ini''' and a folder with HRTF profiles for 3D spatial sound. Extract the archive and place both '''alsoft.ini''' and the '''OpenAL''' folder into the '''AppData/Roaming''' directory of your prefix.
Next, download the [https://github.com/main-exe/UT2004-OpenAL OpenAL configuration for UT2004] from GitHub. We will use part of its content. Specifically, you need the file '''OpenAL-44100Hz.zip''', which contains '''alsoft.ini''' and a folder with HRTF profiles for 3D spatial sound. Extract the archive and place both '''alsoft.ini''' and the '''OpenAL''' folder into the '''AppData/Roaming''' directory of your prefix.
Line 139: Line 137:
*'''Multiplayer problems:''' Verify PunkBuster setup.
*'''Multiplayer problems:''' Verify PunkBuster setup.


== Downloads ==
==Downloads==


* [https://github.com/kcat/openal-soft/releases/tag/1.23.1 OpenAL Soft v1.23.1]
*[https://github.com/kcat/openal-soft/releases/tag/1.23.1 OpenAL Soft v1.23.1]
* [https://github.com/main-exe/UT2004-OpenAL UT2004 OpenAL configuration (OpenAL-44100Hz.zip)]
*[https://github.com/main-exe/UT2004-OpenAL UT2004 OpenAL configuration (OpenAL-44100Hz.zip)]
* [https://github.com/main-exe/UT2004-OpenAL/releases/download/2023-11-08/RightMark3DSound.zip RightMark3DSound software]
*[https://github.com/main-exe/UT2004-OpenAL/releases/download/2023-11-08/RightMark3DSound.zip RightMark3DSound software]
* [https://github.com/Kron4ek/Wine-Builds/releases/tag/proton-9.0-1 Wine Proton 9.0-1 build]
*[https://github.com/Kron4ek/Wine-Builds/releases/tag/proton-9.0-1 Wine Proton 9.0-1 build]
* [https://github.com/main-exe/UT2004-OpenAL/releases/tag/2023-11-08 UT2004 OpenAL release (2023-11-08)]
*[https://github.com/main-exe/UT2004-OpenAL/releases/tag/2023-11-08 UT2004 OpenAL release (2023-11-08)]