tl;dr download openitg compiled for 64bit debian/ubuntu/archlinux here. should work with the right versions of packages installed and libraries symlinked, which it’ll probably complain about when you try running it.

Couple extra things you might want to do for general quality of life, off of a stock SM3.95 install:

  • In openitg/Data/Stepmania.ini set inputdebounce to 0.050000.
  • Disable vocalize: in openitg/Themes/Simply\ Love/Vocalize/Vocalize.xml ctrl-f “defaults” and set it to vocalize = { 'None' , 'None' } -- defaults
  • Disable pad input to menus: in openitg/Data/Stepmania.ini, set ‘OnlyDedicatedMenuButtons=1’.

Background

We run an Arch Linux SM5 PC inside the U of I dedicab, which is a clone of a setup by Dan Guzek (dguzek) and David Nelson (mute).

For our twice-yearly tournaments, we have some community members (Nick Psyhogios (WinDEU) and Ryan Uchima (Spooty)) who create never-before-seen content for “sight read tournaments”, but they do so for a dated version of the software, SM3.95.

So, we need to reboot a decade-old pc and use a shitty caching mechanism in order to load new files onto the cabinet. Which takes 5-15m, depending on how the machine’s feeling.

I figured it’d be faster to just compile SM3.95/OpenITG for our 64-bit Linux. This was surprisingly a lot less painful than I thought it was going to be.

Why am I supporting decade-old, dead software?

Because couples charts are insanely fun, and I’d like to be able to play them without swapping back to the old hardware permanently. By far, my favorite gamemode. Also, I think it’ll pay to smooth out tournaments a bit, chopping off <= 30m of setup time when switching machine hardware.

Compiling

This was painless, thanks to HeySora, who was kind enough to share these instructions.

If you just want a functional OpenITG for 64-bit Linux, you probably won’t need to do this, rather, you can just download the already-compiled executable.

Steps

  1. Get a fresh Ubuntu version booted and running. I used 16.04.
  2. Open a terminal (you can copy-paste every block of commands on this page into the same terminal until you’re done). Install dependencies: sudo apt-get install git zip unzip tar autoconf automake build-essential manpages-dev freeglut3 libgl1-mesa-dev libglew-dev libsdl2-dev libsdl2-image-dev libglm-dev libfreetype6-dev libjpeg-dev liblua50* liblualib50* libvorbis-dev libmad0-dev libusb-dev libusb++-dev libsdl1.2-dev libgtk2.0* libsndfile1* libsamplerate0* libresample1 libluabind* -y

  3. Download OpenITG’s source code:
    mkdir ~/oitg # make a folder
    cd ~/oitg    # go into it
    git clone git://github.com/openitg/openitg.git
    
  4. Download a missing dependency, compile:
    cd openitg/src
    wget https://github.com/ianklatzco/dance-games/raw/master/openitg/GtkModule.so
    cd ..
    ./build-home.sh
    
  5. Create a zipfile containing everything. ./generate-home-release.sh

  6. Copy the zipfile into a new directory, unzip it:
    mkdir ~/oitg-release
    cd ~/oitg-release
    mv ~/oitg/openitg/home-tmp.zip ./
    unzip home-tmp.zip
    
  7. Run the program: ./openitg

You can copy the zip file over to an Arch Linux install, but you’ll probably need to install all the necessary dependencies. When I tried running it for the first time, it complained about not finding the right version of libpng and libusb, so I ran sudo pacman -S libpng12 libusb-compat and OpenITG ran fine after that.