/me waves at belgand.

If you're running Linux, the driver is already built in to modern kernels. Anything 2.2.x should be good to go out of the box. The driver is known as joy-console and it actually handles rewired joysticks from quite a few other console systems. Browse /usr/src/linux/Documentation/joystick-parport.txt for the complete lowdown, including instructions on using NES or PSX controllers.

  1. You may have to recompile your kernel with joy-console support, if you don't have the driver already. A quick "find /lib/modules -name joy-console.o" will tell you if you need to recompile.
  2. Make sure your parport and parport_pc kernel modules are either getting loaded at boot or are set up for proper autoloading in /etc/modules.conf.
  3. Add the following lines to /etc/modules.conf:

    	alias joystick joy-console
    	options joy-console js_console=0,1,0,1,0,0
    
  4. Et voila. Try running any sort of joystick-based program (like jstest or, say, the libjoy.so plugin for XMMS) to confirm that things are working smoothly.

At this point, you can impress your friends by playing real SNES games (via snes9x) with real SNES controllers under Linux by turning your new Athlon into a really fast emulator of early-90's technology, you can spend all night furiously playing Bust A Move or Yoshi's Cookie or something equally addictive, or you can sacrifice the proper number of goats required to get Quake 3 Arena running with joystick support so you can learn newer and more novel ways of getting your ass kicked as you desperately try to aim the railgun with something that can only be described as more accurate than a trackball. :-P