The State of Digital Distribution on Linux

Note: This is cross-posted from the blog in my Desura account to ensure my backup system catches it.

After one of my previous posts, showing off my obsession with flowcharts and how much I overthink buying new games, it occurred to me that I can actually focus on a question other people might care about: How does one comfortably manage their games collection on Linux these days?

The only options I’ve been able to find for getting Linux games online are as follows and only the first three have package management beyond “download this installer” (though Gameolith plans to add private package repositories):

However, when most people think of digital distribution (the buzzword), we think of a unified experience that takes the hassle out of managing our games for us. (In other words, something developers have to support or else like Steam)

Obviously, nothing as comprehensive as that exists for Linux yet, but we can try to MacGyver things up for now. I’d like to hear what your approach is in the comments, but here’s the best I’ve been able to accomplish.

The State of Digital Distribution on Linux

It’s not ideal, but I tried and, since I’m already using TiddlyWiki to manage everything else, it’s quite comfortable.

The key details are:

  • The Desura button is a direct link to the client download page.
  • The PlayDeb button and the PPA links in the “Package Manager” section are direct links to the lines I’ll need to re-add to /etc/apt/sources.list if I re-install.
  • The GOG.com button is a direct link to the “your games” page.
  • The non-bracketed links in the “Package Manager” section use apt: URLs to trigger the package installer from the browser.
  • The rest are just links to the page where you choose your download type (deb, rpm, installer, etc.)

I’m still working on polishing up and streamlining everything, but I’m already making good progress on polishing up Desura as a general game launcher. Here’s what it looks like once I’ve added a few native Linux games and a few Windows games via Wine and wrapper scripts:

Results of set_icon.py

You can do this yourself, if you want, by using the set_icon.py script I wrote. It’ll even extract icons from .EXE files for you.

When I have time, I’m also planning to work on:

  • Making set_icon.py work on Windows. (The main issue is using Windows methods to find Desura and extract icons from .EXE files rather than Linux ones)
  • A script which will create a wrapper for a Wine application, extract the icon, and add it to Desura with one command.
  • A script which will sync all the games in my Linux desktop’s launcher into Desura (both additions and deletions) with one command.

CC BY-SA 4.0 The State of Digital Distribution on Linux by Stephan Sokolow is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License.

This entry was posted in Geek Stuff, Lair Improvement. Bookmark the permalink.

5 Responses to The State of Digital Distribution on Linux

  1. Kevin Beynon says:

    I started fiddling with a set of PHP pages for game management, called ‘Unplayed’. They use Markdown and other bits, created by Shaun Inman and others: http://shauninman.com/archive/2011/04/18/unplayed

    I think there’s a wider issue here about cross-platform gaming as a whole. Buying a game you already own on another platform seems wrong to me. Buy once, play anywhere should be the motto for the new wave of indie studios popping up recently.

    Thanks for the great info,

    K

    • Thanks. I’ll have to take a look at Unplayed once my vacation rolls around.

      As for buying games and getting platform portability, I definitely agree. I’m careful to only buy non-Win/Lin/Mac games when they meet the criteria I mentioned for GOG.com games. (Old enough to never get an official port and running via DOSBox, Wine, or an engine rewrite to isolate them from the system.)

      Not perfect, since running DOSBox and Wine+QEmu on architectures like ARM (Android phones, Raspberry Pi, OpenPandora) requires a much beefier chip than natively on x86, but let’s take things one step at a time.

      I’ve taken to paying less for Humble Bundles that don’t offer Desura keys and then sending e-mails to the developers saying that I’ll use the “increase your payment” link on the Humble Bundle site when they give me a Desura key with Linux support to match the Steam keys they’re so willing to give out to Windows users.

      (For example, I paid $8.75 for Botanicula and Windosill in the Humble Botanicula Debut and I’ve told the two groups of devs that it’ll rise to somewhere between $10 and $15 once Botanicula and Windosill join the Desura copies of Machinarium and Samorost 2 that I got from a much earlier Humble Bundle.)

      UPDATE: Oh, I almost forgot to mention. For keeping track of things I want to buy, I use a four-column basket in the Trinity version of BasKet Note Pads.

      The grouping, collapse/expand, and multi-column features in that tool make it ridiculously versatile. (It and TiddlyWiki are probably the two most useful personal-organization tools I’ve ever found)

  2. wantingflash says:

    I usually make a list of everything I installed from the software center and then start going through that list when I upgrade to another distro. The problem I have is finding and reinstalling the packages I get from dotdeb.com.

    • I actually do something similar for all my packages installed as .debs. However, it’s mostly for the non-game packages and I try to maintain a habit of adding to the list as I install things. (It’s on GitHub because I use it to maintain consistency between three different machines in addition to using it as a backup measure)

      In your case, if you want a list to examine by hand, it’d probably simpler to use aptitude search -F '%100p' '~i!~M' > package_list.txt to dump a list of all packages installed but not pulled in by dependencies.

      For backup purposes, though, I’d recommend installing apt-clone. Then you can run apt-clone clone FILENAME and get a compressed archive containing a list of installed packages, a list of non-default package sources to reinstall, and any apt preferences which influenced which versions were selected.

      …or, if you’re on Ubuntu and can’t sudo to install aptitude or apt-clone, you can dump just the long list of installed packages with dpkg --get-selections .

  3. wantingflash says:

    Man, that’s a good one. Thank you.

Leave a Reply

Your email address will not be published. Required fields are marked *

By submitting a comment here you grant this site a perpetual license to reproduce your words and name/web site in attribution under the same terms as the associated post.

All comments are moderated. If your comment is generic enough to apply to any post, it will be assumed to be spam. Borderline comments will have their URL field erased before being approved.