Some people buy game consoles at launch only to take them apart immediately and post pictures of the insides on the internet. Web pages, wikis, and forums are devoted to putting Linux on game consoles even before they have been released. Recently released videos feature Windows XP successfully booting on a Sony PlayStation 3 via Linux/QEMU and another running emulators using a Gamecube Action Replay exploit on the Nintendo Wii. Why bother? Why reverse engineer a console? Why void your warranty? Aren’t the games and provided content enough?
It’s part of the ideology of the hacker: take it apart, fiddle with it, and make it do what you want.
Illegal home brew development has existed for years: shady individuals authored and sold bootleg Atari cartridges back in the ’80s, followed by 100-in-1 Nintendo Entertainment System cartridges, and so on. However, hobbyists have found better (and more legitimate) ways to explore and extend their hardware: home brew software. If a program doesn’t exist (or it does exist and you don’t like the way it was done), do it yourself. If there’s a barrier like Digital Rights Management, find a way around it.
An excellent example of this sort of home brew is the Xbox Media Center. Why have a DVD player, a computer for watching videos or playing music, and a console for playing games, when you can combine all three into one unit? Unhindered by corporate interests, DRM restrictions or marketing concerns, a geographically distributed development team has built an incredible piece of software. XBMC is an extremely versatile video and audio player with network streaming, RSS feed readers, live Weather reports, access to YouTube and Google video, and much more. Bill Gates was even impressed by its capabilities.
Another area of constant development is Linux. Why stop at developing software just for one console when you can use platform independent software? Over the years, Linux has found its way onto many common consoles.
Dreamcast Linux, the veritable granddaddy of console Linux, has been around since at least 2001, and there’s still interest today.
Gamecube Linux is still under semi-active development, and will probably find much more interest now that the Wii is out. Already, people are trying to find ways to get GC Linux to run on the Wii, in addition to the fledgling Wii Linux projects such as Wii-Linux and Wiili.
The Sony PlayStation 3 includes Linux support out of the box with their Open Platform. The Sony-sponsored Yellow Dog Linux, released on November 27, 2006, was written specifically for the PS3. Other distributions such as Fedora Core 5 and Gentoo have been successfully installed.
You have to admit, there’s a certain amount of “because I can” mentality with Linux. However, there are many uses for a game console running Linux, including game console emulators, routing, or serving web pages.
Emulation allows programs to run on a platform other than what was originally intended. Common examples include MAME (Multiple Arcade Machine Emulator) and cartridge dumps of older consoles, such as the Atari 2600, NES, or Sega Genesis. At this point, virtually every cartridge-based console has been emulated in one form or another. For example, armed with a ROM (software image of the contents of the game media) and an emulator, you could play the Nintendo game Super Mario Brothers 3 on an Xbox.
However, this brings legality into question; if you don’t own the game, even though the product isn’t being sold, do you have the right to copy that game? Nintendo has recognized the market potential with their Virtual Console, allowing consumers to easily purchase older games from different consoles from a growing library of titles.
I heard a story of a Student Association web server running on an Xbox with Linux and Apache until the new manager, not knowing what it was, took it home for his kids to play with. In essence, a tool was mistaken for a toy, and that’s part of the paradigm shift one needs to recognize when dealing with these consoles: they’re not just children’s toys anymore.