I'm not surprised. My own experiences with Linux have been flaky at best.
However, I will say that a linux system can be decent on the following provisions:
1. Your hardware has good compatibility
2. You lock down the install, and resist the urge to try to 'upgrade' things needlessly.
3. You have a decent grasp of Unix command line tools. (trust me, if anything much at all goes wrong, you'll need it. It's cute to pretend otherwise, but I've never had a single linux install that didn't run into things that can only be done with command line stuff).
I prefer BSD anyway, given a choice, but... that has most of the same issues, though it trades the flakiness of linux (point 2) for considerably worse hardware compatibility. (point 1). Point 3 is the same either way.
(the way BSD handles software installs and upgrades makes it considerably more robust and reliable when you start tinkering with things... - As long as it actually works in the first place. Hardware support is truly awful on BSD)
Oh, and X-windows. Seriously, Linux and BSD share this... POS UI system...
It's rotten to it's very foundations.
Both Linux and BSD are decent, fairly solid OSes at heart (linux trades stability for faster iteration and better hardware support), but they then have this layer of pure, solid crap dumped on top of them that is the X window GUI system...
All that aside though, you're making the inherent problems of linux a lot worse than it already is if you're trying to play games on it.
Graphics drivers have all kinds of issues. (proprietary 3d drivers that go against the spirit of what linux is about, or open source drivers that work terribly) There's a huge swathe of games with no linux ports in the first place.
The end effect is that getting games to work on linux can be a real mess, and... Well, I mean, good luck changing that, because it's a chicken and egg kind of problem.
It won't get better until linux is taken more seriously as a desktop/gaming OS, and that won't happen unless people start taking it more seriously and put the effort in to improve it.