One of the most vexing problems in the Linux world is the lack of hardware support. Fortunately, this isn't as big a problem as it once was. Good hardware that is well supported is amazingly inexpensive. Of course, you should check your distribution's hardware compatibility list.
NVIDIA cards are usually considered the best, though ATI cards are also considered to be handy. Both have their admirers, though for ease of setup the NVIDIA are currently in the lead. Generally, if you ask "I have Linux, I want to do some gaming, what video card should I get?" you will receive the answer, "NVIDIA".
My personal favorite, and the one that many recommend, though their drivers are encumbered by not being GPL, but generally they work well enough. Low end cards can be had for as little as $50, and the low end cards are more than enough for good gaming. The drivers are included on their website, and include full directions on how to install them. Several distributions of Linux have specific packages of the drivers available as well. Website: http://www.nvidia.com/
ATI is the other main contender for "best" video card. Unfortunately, I have little experience with these. ATI cards are a little more expensive than NVIDIA, and Full install directions and drivers are available on the ATI website. http://www.ati.com/
Most sound cards are supported directly. (Certainly anything Soundblaster will work.) Intrex and other local retailers sell supported sound cards for ~$18. Many people really like the (now very inexpensive) SBLive cards.
Network is useful if you are planning on ruling the roost on network games. Many network cards will work, and can easily be had for ~$15