Currently I have a single PC which a dual-boot between Ubuntu and Windows 7. The only reason I boot into Windows is for playing games. I don't like having to reboot every time I want to play a game because it means that I have to close down anything I am working on in Linux and all of the services I am hosting (IMAP, file sharing, ssh) go down as well. I have toyed with the idea of building a media PC/server that would run Linux and stay on all the time. This would solve my problem of keeping hosted services alive while playing games, but I would still have the annoyance of rebooting and closing open work. Also, it would require that I spend a bunch of money on another computer.

Now I'm wondering if virtualization is a viable solution. Is there any virtualization technology that will allow me to run a Linux host and Windows 7 guest OS and get decent gaming performance from Windows? I don't know much about the details, but I know that there are certain CPU extensions that make virtualization more efficient. Is there a certain family of CPU that I need to make this work? Also, are there certain video card brands/models that are required?

If I could use virtualization, I could spend the money that I would have spent on a server machine to upgrade my current machine to be faster.