Install Halo SPV3 in Bottles on CachyOS
Halo Custom Edition refuses to run properly in Lutris? Here's a tested Bottles installation guide that finally got Halo SPV3 working on Linux with all the essential mods: Chimera, Refined, CEnshine, DSOAL, dgVoodoo2, and ReShade.
Typically I use Lutris to install Windows games on Linux, but I've tried everything I can to get this running in Lutris without success. I found that installing it in Bottles was a better solution.
Tested environment:
- OS: CachyOS 7.2.6-1
- Bottles: 67.3
- Wine runner: soda 11.0-10
Why Bottles Over Lutris?
Bottles provides more granular control over Wine prefixes and DLL overrides out of the box. Halo Custom Edition (CE) requires several specific DLL overrides and mod file replacements that are easier to manage through Bottles' interface than Lutris' scripts.
Components
Download these files before starting:
| Component | Purpose | URL |
|---|---|---|
| Halo CE setup | Base game installer | halocesetup_en_1.00.exe |
| Patch 1.0.10 | Official patch to latest version | haloce-patch-1.0.10.exe |
| Chimera | QoL mod: frame pacing, FOV slider, bug fixes | chimera-1.0.0r1307.7z |
| Refined | Visual overhaul: textures, lighting, models | halo_refined_custom_edition_en_v5.01.7z |
| CEnshine | Shader enhancements for modern GPUs | EffectCollection_ps_2_0.enc |
| DSOAL | Restores 3D positional audio via OpenAL | dsoal-latest.7z |
| dgVoodoo2 | Translates old DirectX 9 to modern APIs | dgVoodoo2_8_2.zip |
| ReShade | Post-processing effects suite | ReShade_Setup_6.8.0.exe |
| SPV3 | Single-player campaign expansion | SPV3.3.0.zip |
| OpenSauce | Multiplayer engine for custom campaigns | AmaiSosu-v0.4.0.exe |
Note on link stability: Some links (particularly MediaFire and third-party mirrors) may expire. Consider downloading these components early and keeping local copies. The GitHub releases (Chimera, CEnshine, dgVoodoo2, OpenSauce, ReShade shaders) are more reliable long-term.
Step 1: Create Your Bottle
- Open Bottles
- Click Add, then Create a Bottle
- Name it Halo, select Gaming as the purpose, click Create
- Click Close
Install Wine Dependencies
These dependencies fix common compatibility issues with Halo CE:
- In Bottles, click your new Halo bottle
- Navigate to Options > Dependencies
- Select dotnet48 (.NET Framework 4.8, required by some mods), mfc42 (Microsoft Foundation Class library), and msxml4 (XML parser used by installers)
- Click Install Selected
- Click Close, then the Back button
Step 2: Install Halo Custom Edition
- In your Halo bottle, click Quick actions > Run Executable...
- Select halocesetup_en_1.00.exe, click Run
- Follow the installer:
- Click Install
- Enter your Product Key
- Click Next, then Install
- Click Close when done
Apply Official Patch
- In Bottles, click Quick actions > Run Executable...
- Select haloce-patch-1.0.10.exe, click Run
- Click OK to confirm the installation
Step 3: Install Mods
First, browse to your Halo installation directory:
- In Bottles, click Quick actions > Browse
- Navigate to Program Files (x86)/Microsoft Games/Halo Custom Edition/
Install Chimera
What it does: Chimera is a community-engineered mod that fixes frame pacing bugs, adds FOV sliders, enables widescreen support, and patches numerous legacy issues in the original engine.
- Find strings.dll in the Halo directory
- Right-click it, rename to strings.dll.bak (this backs up the original)
- Extract chimera-1.0.0r1307.7z contents into Halo Custom Edition
Install Refined
What it does: Refined replaces textures, lighting, and weapon models with higher-resolution alternatives, improving visual fidelity significantly.
- Find the maps folder
- Right-click maps, rename to maps.bak
- Extract halo_refined_custom_edition_en_v5.01.7z contents into Halo Custom Edition
Install CEnshine
What it does: CEnshine provides shader collection updates compatible with modern GPU architectures, enabling improved particle effects and rendering.
- Navigate to shaders/ folder
- Find EffectCollection_ps_2_0.enc
- Rename it to EffectCollection_ps_2_0.enc.bak
- Copy CEnshine's EffectCollection_ps_2_0.enc into the shaders folder
Install DSOAL
What it does: DSOAL (DirectSound OpenAL) restores proper 3D positional audio that was lost when original SoundBlaster hardware became obsolete.
- Extract dsoal-latest.7z contents directly into Halo Custom Edition
Install dgVoodoo2
What it does: dgVoodoo2 translates legacy DirectX 9 calls to modern Vulkan/DirectX 11/12, preventing graphical glitches and black screens on current hardware.
- Extract dgVoodoo2_8_2.zip
- Copy MS/x86/D3D9.dll to Halo Custom Edition
- Copy dgVoodoo.conf to Halo Custom Edition
- Copy dgVoodooCpl.exe to Halo Custom Edition (for configuration adjustments)
Install ReShade
What it does: ReShade adds post-processing effects like ambient occlusion, color grading, and depth of field.
- In Bottles, click Quick actions > Run Executable...
- Select ReShade_Setup_6.8.0.exe, click Run
- In the ReShade installer:
- Click Browse...
- Navigate to Program Files (x86)/Microsoft Games/Halo Custom Edition/
- Select haloce.exe, click Open
- Click Next
- Select Microsoft DirectX 10/11/12, click Next
- Select Standard effects and SweetFX by CeeJay.dk, click Next
- Click Finish
- Back in the Halo directory:
- Find dxgi.dll, rename to D3D11.dll (this makes ReShade load correctly with dgVoodoo2)
- Edit ReShade.ini:
- Under
[GENERAL], add:PresetPath=.\ReShadePreset.ini
- Under
- Edit ReShadePreset.ini:
- Add:
[email protected],[email protected](enables anti-aliasing presets)
- Add:
Set DLL Overrides
This step ensures Wine uses the modded DLLs instead of Wine's built-in implementations.
- In Bottles, navigate to Options > Settings
- Click Compatibility > DLL Overrides
- Add each of the following, clicking Apply after each:
- D3D9.dll (uses dgVoodoo2 version)
- D3D11.dll (uses ReShade version)
- dsoal-aldrv.dll (uses DSOAL audio driver)
- dsound.dll (direct sound interface)
- strings.dll (uses Chimera version)
- Click Close, then Back
Step 4: Install SPV3 Campaign
What it does: SPV3 is a full single-player campaign expansion created by the Halo CE community, essentially a "Halo 3-like" experience built on the CE engine.
Important: Extract the SPV3 archive somewhere inside your bottle's filesystem before running the installer.
- Extract SPV3.3.0.zip into a folder within your bottle (e.g., under Documents or a temp directory)
- In Bottles, click Quick actions > Run Executable...
- Navigate to the extracted folder and select spv3.exe, click Run
- In the SPV3 installer:
- Click Install SPV3
- Click Install
- When prompted for installation location:
- Click Browse
- Navigate to Documents > My Games > Halo SPV3
- Select haloce.exe, click Open
- When prompted: Click Install OpenSauce (this integrates multiplayer engine support)
- Click Close
Update OpenSauce
What it does: OpenSauce is the underlying engine for custom campaigns and multiplayer mods. The v0.4.0 update provides stability improvements and compatibility fixes.
- In Bottles, click Quick actions > Run Executable...
- Select AmaiSosu-v0.4.0.exe, click Run
- Click Browse
- Navigate to Documents > My Games > Halo SPV3
- Select haloce.exe, click Open
- Click click here to install opensauce!
- Click Close
Final DLL Override for OpenSauce
- In Bottles, navigate to Options > Settings > Compatibility > DLL Overrides
- Add: dinput8.dll (handles DirectInput for controllers and keyboard/mouse)
- Click Apply, then Close, then Back
Install SPV3
You must extract spv3.3.0.zip somewhere in the bottle before running spv3.exe.
- In Bottles, click Quick actions > Run Executable...
- Select spv3.3.0/spv3.exe, click Run
- Click Install SPV3
- Click Install
- Click OK
- Click Browse
- Navigate to Documents > My Games > Halo SPV3
- Select haloce.exe, click Open
- Click Install OpenSauce
- Click the Close button
- Click the Close button
Update OpenSauce
- In Bottles, click Quick actions > Run Executable...
- Select AmaiSosu-v0.4.0.exe, click Run
- Click browse
- Navigate to Documents > My Games > Halo SPV3
- Select haloce.exe, click Open
- Click click here to install opensauce!
- Click the Close button
DLL Overrides
- In Bottles, click Options > Settings
- Click Compatibility > DLL Overrides
- Type dinput8.dll, click Apply
- Click the Close button
- Click the Back button
Troubleshooting
| Issue | Likely Cause | Solution |
|---|---|---|
| Black screen on launch | dgVoodoo configuration mismatch | Run dgVoodooCpl.exe, ensure D3D9 output is set to DirectX 11/12 |
| Game crashes immediately | Missing DLL override | Verify all five DLL overrides are applied in Bottles settings |
| Audio crackling or no sound | DSOAL conflict | Ensure dsoal-aldrv.dll override is active; try disabling ReShade temporarily |
| Controller not detected | Input layer conflict | The dinput8.dll override may need to be removed for native controller support |
| Modded textures appear broken | Refined map folder not renamed properly | Confirm maps.bak exists and new maps folder contains extracted Refined files |
| ReShade overlay won't show | dxgi.dll rename issue | Verify dxgi.dll was renamed to D3D11.dll, not deleted |
Running the Game
- In Bottles, your Halo bottle should now show haloce.exe as a launchable executable
- If SPV3 installed successfully, also look for a dedicated SPV3 launcher in your Documents folder
- Launch the game and verify mods are loaded (Chimera displays version info on startup)
Notes and Caveats
- This guide targets offline single-player only.
Multiplayer functionality is experimental and may require additional configuration. - Save your work frequently. Modded installations can corrupt save files more easily than vanilla.
- If something breaks, restoring from your .bak backup files is the fastest recovery method.
SPV3 Campaign
As noted below in detail, loading a new level, playing firefight, or changing profiles will cause you to lose your checkpoint and therefore any Cross-Map Unlocks you've come across.
- Cross-Map Unlocks are a gameplay feature introduced in SPV3.1. They offer optional aids to the player, in opposition to Skulls, as Cross-Map Unlocks serve only to aid the player, whereas Skulls offer unique detriments to make the game harder.
- Cross-Map Unlocks are special unlocks which can change aspects of the game to aid the player in certain levels. They consist of switches that can be pressed or rewards for completing optional challenges during gameplay. It should be noted that the unlocks will only apply on a straight, uninterrupted play through of the campaign. If an unlock is enacted on a certain level that affects another, it will be negated if a different level is selected from the menu.
- Skulls are in-game modifiers present in SPV3. Much like in the official Halo games, they exist to modify aspects of gameplay, generally making it more difficult but without necessarily changing typical elements, such as enemy or player durability. Like in official games, they have the appearance of a normal human skull without the jawbone.
- SPV3's Cross-Map Unlock system is essentially the opposite of Skulls; both are optional, but Skulls impede players, whereas Cross-Map Unlocks serve only to aid players.
- Through the years, SPV3's Skulls have become notorious to players of the mod, as they arguably offer more drastic effects than the skulls in the official Halo games. Unlike other Halo games, SPV3's Skulls are available on any difficulty.