Some errors are really annoying and fiddly with Linux. I've even had to change m/b just to get Linux to run (MSI RS480 has so many ACPI and double speed clock problems), but I'd say if you are deadly serious about Linux as a full time desktop, then at your next upgrade you should look at Linux-compatible upgrades. It certainly made my life easier and although you certain bleeding edge hardware isn't available (X-FI, Ati X1xxx series), you still can get a very high quality system which works pretty well. Research is the key but can be very time consuming.
I also don't like how people say Linux can't be a desktop enviroment. It's like saying Windows 2k3 server can't be used as a server enviroment because it has a desktop. GNOME, KDE, Fluxbox, XFCE, E17, etc.. are all perfectly fine and work great. Linux has everything I need for uni, I can still play some games (Quake 4, UT2k4, Quake 3, RTCW:ET) and I still have access to DVDs, movies and my music collection. Why should I pay for software when their is a cheaper and in some cases better supported application? I understand this isn't the case with most users, but there are tens of thousands of linux desktop users who would never go back to Windows (or Mac OSX however if I had the choice between Windows and OS X, I'd go OS X due to the BSD base and the terminal it provides). We are the proof that a Linux system is a viable system if it meets your needs as an operating system.