Skip to main content

Running Hotline Miami on 64-bit Linux ("amd64")

Contents

  • On Debian (using 32-bit chroot)
  • On Gentoo (using a mix of multilib and emul-linux-x86-* packages)

I recently had trouble getting (the 32-bit binaries of) PC game Hotline Miami to run on a amd64 Debian machine. In the end I got it to work using a 32-bit chroot. That's what the post is about, mainly. If you know a non-chroot way to achieve this on amd64 Debian, please share your solution in the comment section. Thanks!

On Debian

One way is to use a 32-bit chroot built by debootstrap:

# Build 32-bit chroot
sudo debootstrap --arch i386 testing debian_testing_i386_root

# Make chroot enterable
sudo mount -o bind /dev/ debian_testing_i386_root/dev/
sudo mount -t proc PROC debian_testing_i386_root/proc/
sudo mount -t sysfs SYS debian_testing_i386_root/sys/

# Ensure that /dev/dsp exists
sudo modprobe snd_pcm_oss

# Copy .deb package into chroot
sudo cp hotline-miami_1.0.9a-0ubuntu6_i386.deb debian_testing_i386_root/root/

# Enter chroot
sudo chroot debian_testing_i386_root/ /bin/bash

# Install Hotline Miami, its dependencies and PulseAudio
dpkg -i hotline-miami_1.0.9a-0ubuntu6_i386.deb
apt-get -f install
apt-get install pulseaudio

# Add a dedicated user to not be gaming as root
adduser hotline
addgroup hotline audio  # for access to /dev/dsp

# Switch to that user
su hotline

# Start PulseAudio user process so we actually hear something
# We're using "&" over "--start" since user "hotline" might have
# the same user ID as another user running PulseAudio outside
# of the chroot already
pulseaudio --log-target=syslog &

# Launch Hotline Miami, done!
( cd /opt/hotline-miami/ && ./Hotline )

On Gentoo

Emerge these direct dependencies:

  • app-emulation/emul-linux-x86-opengl
  • app-emulation/emul-linux-x86-soundlibs
  • media-libs/fontconfig[abi_x86_32]
  • media-libs/freetype[abi_x86_32]
  • x11-libs/libX11[abi_x86_32]
  • x11-libs/libxcb[abi_x86_32]
  • x11-libs/libXext[abi_x86_32]
  • x11-libs/libXrender[abi_x86_32]
  • x11-libs/libXrandr[abi_x86_32]

.. or use my ebuild off betagarden:

sudo layman -a betagarden
sudo emerge -av games-action/hotline-miami-bin