Skip to content

Play Halo PC, CE, SPV3, and others on Linux using Playonlinux, wine, and winetricks

Notifications You must be signed in to change notification settings

brainthinks/halo_pc_on_linux

Repository files navigation

Halo PC on Ubuntu/Linux Mint

This was tested on Linux Mint 18 / Ubuntu 16.04

Prerequisites

Install System Dependencies

sudo apt install -y \
    playonlinux \
    git \
    p11-kit-modules:i386

Clone this repository

It will be easiest, especially for beginners, to use a dedicated directory when running the install script. For the purposes of illustration, I will assume you have cloned this repository in ~/halo_pc_on_linux, and you have placed the files you will download below into the assets folder. Here are the commands I recommend you use:

# This will take you to your home folder aka ~
cd

# This will clone this repository, which means the source code will be downloaded to your computer
git clone "https://github.com/brainthinks/halo_pc_on_linux.git"

# This will create a folder that we'll be putting some files in
mkdir -p "halo_pc_on_linux/assets"

.NET Framework

Download the .NET Framework 4.5.1 from Microsoft:

https://www.microsoft.com/en-au/download/details.aspx?id=40779

Move the downloaded file to ~/halo_pc_on_linux/assets

Halo 1.0.10 Patch

Bungie was kind enough to not only release updates and patch Halo PC to not need the CD to be inserted, but they are kind enough to STILL host these files on their website, 14+ years later!

https://www.bungie.net/en-us/Forums/Post/64943622?page=0&sort=0&showBanned=0&path=0

The specific links you need will have the text:

  • Halo PC 1.0.10
  • Halo CE 1.0.10

but I recommend downloading all 4 files, because there's no telling how long they will actually be available. Also, if you plan on installing SPV3, you will need the CE rather than the PC patch.

Here are the direct links:

Move the downloaded files to ~/halo_pc_on_linux/assets

Halo Custom Edition

http://hce.halomaps.org/index.cfm?fid=410

Move the downloaded file to ~/halo_pc_on_linux/assets

OpenSauce

http://www.halomods.com/ips/index.php?/topic/848-opensauce-v400-release/

Move the downloaded file to ~/halo_pc_on_linux/assets

SPV3

Follow the official download instructions - https://www.reddit.com/r/halospv3/comments/6umz3f/spv31_released_all_new_install_method_11_missions/

Direct Link - http://www.mediafire.com/file/jy6nfbnrwnqhtb9/SPV3.1.0f.zip

Move the downloaded file to ~/halo_pc_on_linux/assets

Ryno UI

If you plan on playing the single player campaign in Halo CE (which is the way I recommend playing it), you will need a ui.map file that allows you to play the campaign. Ryno UI is the closest I found to stock. You are free to use your own ui.map file, but this guide assumes you are using this one.

http://hce.halomaps.org/index.cfm?fid=6382

Move the downloaded file to ~/halo_pc_on_linux/assets

Mo's Refined Campaign

Here is the original thread: http://forum.halomaps.org/index.cfm?page=topic&topicID=50277

Click the download link at the top of the first post, which will take you to a google drive folder. From here, click the dropdown icon at the end of the "Shared with me > halo ce fixed sp campaign". Choose the "Download" option. This will prompt you to download a big zip file.

Move the downloaded file to ~/halo_pc_on_linux/assets, and rename it mrc.zip

Configure Playonlinux and Wine

Get the necessary wine versions

  1. Ensure you have Playonlinux open
  2. Click the "Tools" menu
  3. Click "Manage Wine Versions"
  4. Ensure you are on the "Wine versions (x86)" tab - these are the 32 bit wine versions
  5. Highlight the latest 3.x version. At the time I wrote this, that was 3.5. This is the wine version that halo will run in.
  6. Click on the arrow in the middle that points to the right
  7. This will bring up a dialog box - click "Next"
  8. Wait for the download to complete
  9. Highlight 1.9.19-staging - we need this one to install .net dependencies
  10. Click on the arrow in the middle that points to the right
  11. This will bring up a dialog box - click "Next"
  12. Wait for the download to complete
  13. close the "Wine Versions Manager" window

Create a new virtual drive in Playonlinux

  1. Ensure you have Playonlinux open
  2. Click "Configure"
  3. Click the "New" button at the bottom left
  4. This will bring up a dialog box - click "Next"
  5. Ensure "32 bits windows installation" is highlighted, then click "Next"
  6. Find the 1.9.19-staging version of wine, click it, then click "Next"
  7. Type a name for this virtual drive - I used "halo_pc", then click "Next"
  8. The virtual drive will now go through the setup steps. You may be prompted a few times to take an action. Anytime you are prompted, choose the affirmative option. Here are a few examples:
    • "Wine Mono Installer" - click "Install"
    • "Wine Gecko Installer" - click "Install"
    • If none of those show up, that's fine, too

Prepare the Virtual Drive

  1. Copy and rename the configuration file:
    1. cp ~/halo_pc_linux/config.example.sh ~/halo_pc_linux/config.sh
  2. Open the file ~/halo_pc_linux/config.sh in a text editor, and ensure the values of the variables are correct. If you followed this guide and did not change the names of any of the files you downloaded, you shouldn't have to change anything.
  3. Ensure you have Playonlinux open, and you have selected the "halo_pc" virtual drive from the "Configuration" window
  4. Click the "Miscellaneous" tab
  5. Click "Open a shell" - This will open a terminal that is configured to use the wine version that is being managed in your "halo_pc" virtual drive
  6. From this shell/terminal:
    1. cd ~/halo_pc_on_linux
    2. ./installer.sh
  7. Choose the first option to install .net dependencies by typing "1" then pressing enter
    1. Some installation windows will open then quickly disappear - this is normal
  8. Exit by typing the number that corresponds to the exit option, then press enter
  9. Type exit in the playonlinux shell
  10. From the "playonlinux configuration" window, ensure you have selected the "halo_pc" virtual drive from the "Configuration" window
  11. Click the "General" tab
  12. Click on the "Wine version" dropdown, and choose 3.5
  13. Click the "Miscellaneous" tab
  14. Click "Open a shell" again - this will open a shell using the new wine 3.5 version
  15. From this shell/terminal:
    1. cd ~/halo_pc_on_linux
    2. ./installer.sh
  16. Choose the second option to install the rest of the dependencies by typing "2" then pressing enter

Install Halo

Once you have followed the above steps, you will have downloaded all of the necessary files, created the virtual drive, and installed the necessary dependencies. Now it's time to install Halo! There are a few choices, but you will likely at least want to install Halo CE. Once you have installed what you want, you can open the Halo manager script.

Note that you must install Halo CE prior to installing everything else, except Halo PC.

Also note that you must install both Halo CE and Halo PC before installing the Halo PC Campaign for Halo CE.

  1. Ensure you have Playonlinux open, and you have selected the "halo_pc" virtual drive from the "Configuration" window
  2. Click the "Miscellaneous" tab
  3. Click "Open a shell" - This will open a terminal that is configured to use the wine version that is being managed in your "halo_pc" virtual drive
  4. From this shell/terminal:
    1. cd ~/halo_pc_on_linux
    2. ./installer.sh
    3. Install the games you want

Configure SPV3

SPV3 has more rigid requirements for working properly, due to its custom launcher. Because of this, we cannot set the vidmode and other settings, like we do with the Halo CE and Halo PC shortcuts. You will only have to do the following steps once.

  1. Ensure you have installed SPV3
  2. Launch the SPV3 (no launcher) shortcut
  3. Create a profile by clicking on "Settings", typing a name, and clicking "OK" to save it
  4. Quit Halo CE
  5. Launch the SPV3 shortcut
  6. Click on the red text at the bottom that will allow you to enter a profile name
  7. Enter your profile name
  8. Click "Step 03: Save Profile"
  9. The launcher will close
  10. Launch the SPV3 shortcut - this time, you'll see the real menu, but don't click on anything
  11. Open ~/My Games/Halo CE/Halo_Settings.User.xml in a text editor
    1. nano ~/My Games/Halo CE/Halo_Settings.User.xml
  12. Under <Video>, you'll see false- change thatfalsetotrue`
  13. Under <Developer>, you'll see false- change thatfalsetotrue` if you want access to the console
  14. Save and close the file
    1. If you're using nano, ctrl+x then enter will save and exit
  15. Open ~/My Games/Halo CE/Chimera_Settings.User.xml in a text editor
    1. nano ~/My Games/Halo CE/Chimera_Settings.User.xml
  16. Under <Cinematic>, you'll see false- change thatfalsetotrue`
  17. Save and close the file
    1. If you're using nano, ctrl+x then enter will save and exit
  18. Go back to the SPV3 launcher that you still have open
  19. Click "Launch SPV3" to play the game!

References

@TODO

  • now that I know about playonlinux-bash, what else can be automated?
  • automate the downloads of the necessary files
  • learn how to configure chimera
  • make the screen size configurable
  • add the maw fixed(?)
  • Use bash infinity?