DJing Hardware under Linux
As a DJ mixing from notebook I've decided that decent external USB card is necessary for serious DJing with external mixer. You definitely need 2 independent stereo outputs for quality beatmatching (one for cue and one for out). Unfortunatally, those 2 outputs must be on same soundcard - the problem is synchronization - every soundcard's crystal clock is a little bit different (even in the same type of soundcard). This info is not from my head - read the Mixxx mailinglist if you don't trust me.
I've purchased two USB soundcards from leading vendors on amateur and semi-professional market:
Creative Labs Extigy
First of all, do not buy this piece of crap! And I do mean it. The biggest problem with this card is the fact, that no one knows how to play through other channels than stereo under Linux (some proprietary codec is used for this). The only possibility is to feed the card with AC3 stream (!), which is totally unusable - we need lowest latency as possible and encoding to AC3 is definitely not the right way to achieve this. Second problem is the fact that (as most of new Creative cards) the card is able to play 48kHz only. Most of your MP3s are 44kHz, so somebody must do the resampling to 48kHz. As you probably already guessed, it isn't your soundcard (as everybody expected) but your CPU and your DJing software!
If you need working Linux drivers (with all the limits mentioned above), please go to exaudio driver page (even for infrared control).
I've lost €160 because this piece of crap and realized that the card is unusable for DJing even under M$W (MixVibes didn't work at all), so the next logical choice was my precious:
Audiotrak Maya EX
This excellent piece of hardware works out of a box. Just compile
Creative Soundblaster Live 5.1
Just for convenience... For probably best possible setup of SBLive5.1 under Linux, please see the Misc stuff section and download my shell script.