Building OpenITG for 64bit Linux
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 tovocalize = { '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
- Get a fresh Ubuntu version booted and running. I used 16.04.
-
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
- Download OpenITG’s source code:
mkdir ~/oitg # make a folder cd ~/oitg # go into it git clone git://github.com/openitg/openitg.git
- Download a missing dependency, compile:
cd openitg/src wget https://github.com/ianklatzco/dance-games/raw/master/openitg/GtkModule.so cd .. ./build-home.sh
-
Create a zipfile containing everything.
./generate-home-release.sh
- 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
- 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.