Live data from Hacker News

Running decade-old games in containers

misha.brukman.net

11–20 of 57 posts

Re: Running decade-old games in containers

#11
post #4

I'm bit befuddled why the author decided to use volumes for /source and /install instead of just installing the game into the container image. That way you wouldn't need to keep the game files floating around on the host system and overall would have more self-contained container. You could even get fancy and use multi-stage container so that the installer wouldn't need to be included in the final image. The installe…

It's covered explicitly in the "goals and principles" section. They're aiming for a reusable environment for older games, not a single-purpose one.

Re: Running decade-old games in containers

#12

I've been trying to get Obsidian ( https://en.wikipedia.org/wiki/Obsidian_(1997_video_game) ) to run under emulation, but so far it's been too choppy to be playable.

How did you run it? WineHQ lists compatibility as "Gold", but report is three years old. Might be worth trying it out on latest Wine version.

Re: Running decade-old games in containers

#13

I'd really love to see a similar approach but applied to games much older, like the ones you have to pull out a DOSBOX to play, or a Win95 virtual machine. The Win95 games are going to be much more difficult to set up because the VM needs a bunch of stuffs to work properly (sound, video) while the DOSBOX does everything for you.

Though I realize it's not the same thing, as a dos-game-fan have you seen https://archive.org/details/softwarelibrary_msdos_games ?

Re: Running decade-old games in containers

#14
You can also use a GUI LXD container for this.

1. First, setup your host according to the instructions at https://blog.simos.info/how-to-easily-run-graphics-accelerat... You will be creating a LXD profile called `gui` on top of the default LXD installation.

2. Launch a container with Ubuntu 12.04, an adequately old Ubuntu version, which is still support. Command: lxc launch ubuntu:12.04 mycontainer --profile default --profile gui

3. Copy the deb package of Machinarium into the container. Command: lxc file push machinarium_20121106-ubuntu_i386.deb mycontainer/home/ubuntu/

3. Get a shell into the container. Command: lxc exec mycontainer -- sudo --user ubuntu --login

4. Install the deb package. Commands: sudo dpkg -i machinarium_20121106-ubuntu_i386.deb && sudo apt-get install -f

5. Run Machinarium. Command: /opt/machinarium/Machinarium

You can reuse the container to install more software, or dedicate a container for each game.

Re: Running decade-old games in containers

#15
post #11
post #4

I'm bit befuddled why the author decided to use volumes for /source and /install instead of just installing the game into the container image. That way you wouldn't need to keep the game files floating around on the host system and overall would have more self-contained container. You could even get fancy and use multi-stage container so that the installer wouldn't need to be included in the final image. The installe…

It's covered explicitly in the "goals and principles" section. They're aiming for a reusable environment for older games, not a single-purpose one.

They could make a base image and then an image layer that contains the game files only. Now you have a single file image per game with a consistent base.

Re: Running decade-old games in containers

#16
post #10

Machinarium and Botanicula on Steam doesn't provide native Linux versions, but at least both games have "Platinum" support on Proton. Found a native Linux copy of Machinarium from HumbleBundle. To get it running on Fedora 31 I had only to install single missing dependency: `sudo yum install libXt.i686` Well, now I'll probably have to beat the game, while I'm at it.

On of the first Humble Bundles for Linux games came with a Deb package of the game.

The game is a Linux i386 binary, which means that installing directly on your host will pull in all sorts of i386 libraries. If you host is amd64, it is quite messy.

Re: Running decade-old games in containers

#17
post #16
post #10

Machinarium and Botanicula on Steam doesn't provide native Linux versions, but at least both games have "Platinum" support on Proton. Found a native Linux copy of Machinarium from HumbleBundle. To get it running on Fedora 31 I had only to install single missing dependency: `sudo yum install libXt.i686` Well, now I'll probably have to beat the game, while I'm at it.

On of the first Humble Bundles for Linux games came with a Deb package of the game. The game is a Linux i386 binary, which means that installing directly on your host will pull in all sorts of i386 libraries. If you host is amd64, it is quite messy.

Looks like Proton does a better job than snap or rpm. I don't get why there is no Linux layer dedicated to translating x32 library calls into x64 calls. The other way around is often impossible I know.

Re: Running decade-old games in containers

#18
post #15
post #11

Earlier quoted context omitted.

It's covered explicitly in the "goals and principles" section. They're aiming for a reusable environment for older games, not a single-purpose one.

They could make a base image and then an image layer that contains the game files only. Now you have a single file image per game with a consistent base.

Sure, as a follow-up they could do that.

That's (very clearly declared to be) not the goal of the author though.

Re: Running decade-old games in containers

#19

I've been trying to get Obsidian ( https://en.wikipedia.org/wiki/Obsidian_(1997_video_game) ) to run under emulation, but so far it's been too choppy to be playable.

I'm glad someone else remembers this forgotten gem. Every couple of years or so, I try to get Obsidian running again. No luck so far. :(

Re: Running decade-old games in containers

#20
post #17
post #16

Earlier quoted context omitted.

On of the first Humble Bundles for Linux games came with a Deb package of the game. The game is a Linux i386 binary, which means that installing directly on your host will pull in all sorts of i386 libraries. If you host is amd64, it is quite messy.

Looks like Proton does a better job than snap or rpm. I don't get why there is no Linux layer dedicated to translating x32 library calls into x64 calls. The other way around is often impossible I know.

Because historically the Linux userland community has a willful disregard for binary, and often source, backwards compatibility.
Post reply on HN