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.

Share

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:

ComponentPurposeURL
Halo CE setupBase game installerhalocesetup_en_1.00.exe
Patch 1.0.10Official patch to latest versionhaloce-patch-1.0.10.exe
ChimeraQoL mod: frame pacing, FOV slider, bug fixeschimera-1.0.0r1307.7z
RefinedVisual overhaul: textures, lighting, modelshalo_refined_custom_edition_en_v5.01.7z
CEnshineShader enhancements for modern GPUsEffectCollection_ps_2_0.enc
DSOALRestores 3D positional audio via OpenALdsoal-latest.7z
dgVoodoo2Translates old DirectX 9 to modern APIsdgVoodoo2_8_2.zip
ReShadePost-processing effects suiteReShade_Setup_6.8.0.exe
SPV3Single-player campaign expansionSPV3.3.0.zip
OpenSauceMultiplayer engine for custom campaignsAmaiSosu-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

  1. Open Bottles
  2. Click Add, then Create a Bottle
  3. Name it Halo, select Gaming as the purpose, click Create
  4. Click Close

Install Wine Dependencies

These dependencies fix common compatibility issues with Halo CE:

  1. In Bottles, click your new Halo bottle
  2. Navigate to Options > Dependencies
  3. Select dotnet48 (.NET Framework 4.8, required by some mods), mfc42 (Microsoft Foundation Class library), and msxml4 (XML parser used by installers)
  4. Click Install Selected
  5. Click Close, then the Back button

Step 2: Install Halo Custom Edition

  1. In your Halo bottle, click Quick actions > Run Executable...
  2. Select halocesetup_en_1.00.exe, click Run
  3. Follow the installer:
    • Click Install
    • Enter your Product Key
    • Click Next, then Install
    • Click Close when done

Apply Official Patch

  1. In Bottles, click Quick actions > Run Executable...
  2. Select haloce-patch-1.0.10.exe, click Run
  3. Click OK to confirm the installation

Step 3: Install Mods

First, browse to your Halo installation directory:

  1. In Bottles, click Quick actions > Browse
  2. 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.

  1. Find strings.dll in the Halo directory
  2. Right-click it, rename to strings.dll.bak (this backs up the original)
  3. 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.

  1. Find the maps folder
  2. Right-click maps, rename to maps.bak
  3. 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.

  1. Navigate to shaders/ folder
  2. Find EffectCollection_ps_2_0.enc
  3. Rename it to EffectCollection_ps_2_0.enc.bak
  4. 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.

  1. 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.

  1. Extract dgVoodoo2_8_2.zip
  2. Copy MS/x86/D3D9.dll to Halo Custom Edition
  3. Copy dgVoodoo.conf to Halo Custom Edition
  4. 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.

  1. In Bottles, click Quick actions > Run Executable...
  2. Select ReShade_Setup_6.8.0.exe, click Run
  3. 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
  4. Back in the Halo directory:
    • Find dxgi.dll, rename to D3D11.dll (this makes ReShade load correctly with dgVoodoo2)
  5. Edit ReShade.ini:
    • Under [GENERAL], add: PresetPath=.\ReShadePreset.ini
  6. Edit ReShadePreset.ini:

Set DLL Overrides

This step ensures Wine uses the modded DLLs instead of Wine's built-in implementations.

  1. In Bottles, navigate to Options > Settings
  2. Click Compatibility > DLL Overrides
  3. 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)
  4. 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.

  1. Extract SPV3.3.0.zip into a folder within your bottle (e.g., under Documents or a temp directory)
  2. In Bottles, click Quick actions > Run Executable...
  3. Navigate to the extracted folder and select spv3.exe, click Run
  4. 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.

  1. In Bottles, click Quick actions > Run Executable...
  2. Select AmaiSosu-v0.4.0.exe, click Run
  3. Click Browse
  4. Navigate to Documents > My Games > Halo SPV3
  5. Select haloce.exe, click Open
  6. Click click here to install opensauce!
  7. Click Close

Final DLL Override for OpenSauce

  1. In Bottles, navigate to Options > Settings > Compatibility > DLL Overrides
  2. Add: dinput8.dll (handles DirectInput for controllers and keyboard/mouse)
  3. Click Apply, then Close, then Back

Install SPV3

You must extract spv3.3.0.zip somewhere in the bottle before running spv3.exe.

  1. In Bottles, click Quick actions > Run Executable...
  2. Select spv3.3.0/spv3.exe, click Run
    1. Click Install SPV3
    2. Click Install
    3. Click OK
      1. Click Browse
      2. Navigate to Documents > My Games > Halo SPV3
      3. Select haloce.exe, click Open
      4. Click Install OpenSauce
      5. Click the Close button
    4. Click the Close button

Update OpenSauce

  1. In Bottles, click Quick actions > Run Executable...
  2. Select AmaiSosu-v0.4.0.exe, click Run
    1. Click browse
    2. Navigate to Documents > My Games > Halo SPV3
    3. Select haloce.exe, click Open
    4. Click click here to install opensauce!
    5. Click the Close button

DLL Overrides

  1. In Bottles, click Options > Settings
  2. Click Compatibility > DLL Overrides
  3. Type dinput8.dll, click Apply
  4. Click the Close button
  5. Click the Back button

Troubleshooting

IssueLikely CauseSolution
Black screen on launchdgVoodoo configuration mismatchRun dgVoodooCpl.exe, ensure D3D9 output is set to DirectX 11/12
Game crashes immediatelyMissing DLL overrideVerify all five DLL overrides are applied in Bottles settings
Audio crackling or no soundDSOAL conflictEnsure dsoal-aldrv.dll override is active; try disabling ReShade temporarily
Controller not detectedInput layer conflictThe dinput8.dll override may need to be removed for native controller support
Modded textures appear brokenRefined map folder not renamed properlyConfirm maps.bak exists and new maps folder contains extracted Refined files
ReShade overlay won't showdxgi.dll rename issueVerify dxgi.dll was renamed to D3D11.dll, not deleted

Running the Game

  1. In Bottles, your Halo bottle should now show haloce.exe as a launchable executable
  2. If SPV3 installed successfully, also look for a dedicated SPV3 launcher in your Documents folder
  3. 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.