Upcoming Events
VIEW Conference 2009
11/4 - 11/7 @ Turin, Italy

Project Horseshoe
11/5 - 11/8 @ Burnet, TX

Independent Game Conference West
11/5 - 11/6 @ Los Angeles, CA

IGDA Leadership Forum
11/12 - 11/13 @ San Francisco, CA

More events...


Quick Stats
6435 people currently visiting GDNet.
2337 articles in the reference section.

Help us fight cancer!
Join SETI Team GDNet!



Link to us

Link to us

  search:   

Linux Game Development Part 4
Testing


Ok, so now you’ve built a game executable that can run on any distribution, and you’ve created an installer to deliver your game. How do you test it? What are some of the pitfalls and issues to watch out for?

Testing on Multiple Distributions

As we’ve already seen, there are literally hundreds of Linux distributions, and each distribution is different. They all use different versions of the Linux kernel, different desktop environments, different system configurations, different directory structures, and on and on it goes. So how do you test your game in such a diversified environment?

That’s simple. You don’t.

Let me explain. There are so many distributions that you can’t possibly hope to test them all. Moreover, many distributions tend to release significant version upgrades 2-3 times per year. You can’t keep up with them. So don’t try.

Here’s what someone recommended to me, and I’ve found great wisdom in it. Part of what makes Linux so great is the community of users. It is literally an army of collaborative volunteers that love their operating system. Use that to your advantage. Recruit some beta testers that use other distributions than you. Linux users are hungry for new games, so you probably won’t have any trouble finding volunteers. Of course, part of the whole “community” concept is that you give something back in return. Opening your source code is one way to give back, but there are others. You can donate some time or resources to open source games, either by testing or helping improve their code. You can make monetary donations to those who maintain core game libraries like SDL. You can write articles like these to share what you learn and help other developers get started.

The best thing you, as the developer, can do is make sure your game doesn’t depend on any distribution-specific stuff, try to conform to standards like the LSB, and make your program as compatible as possible. Then test the game yourself on a few of the more popular distributions, like Red Hat (Fedora), SUSE (OpenSUSE), Linspire (Freespire), Ubuntu, or Debian. At that point, let your beta testers take over and do the rest for you. If there’s a problem, you’ll find out about it quick enough, and then you can address it. This strategy worked for my friend who told me about it, and it seems to be working for me too.

Once you’ve released your first Linux game, you’ll know what you need to do to ensure compatibility in your future games. And you probably won’t encounter too many distribution-specific problems after that.

Here are a few issues that I encountered that you will want to watch out for.



Hardware Accelerated Video Drivers

Contents
  Testing on Multiple Distributions
  Hardware Accelerated Video Drivers
  SELinux & 64-Bit Linux

  Printable version
  Discuss this article

The Series
  Part 1: Introduction
  Part 2: Distributable Binaries
  Part 3: Installers
  Part 4: Testing
  Part 5: Marketing and Distribution