I'd suggest using a third-party hypervisor, rather than Hyper-V, as there are only a few cards that are supported for direct passthrough with Hyper-V, and they're all expensive. I know that VirtualBox has some support for 3d graphics processing.
UPDATE: tried playing need for speed Porsche unleashed on an XP VM. Slightly laggy but definitely playable. http://imgur.com/PMWcgA8
[–] SkepticalMartian ago (edited ago)
The problem with virtualization is that unless your hardware directly supports it, you can't dedicate physical video hardware to a virtual machine. This means that the VM will use emulation for video which is often bad from a performance perspective. This may or may not matter depending on the game. Software emulation may be fast enough depending on the title.
If your mainboard and CPU both support hardware virtualization you can install a second video card and dedicate it to the VM. Here is an example of a Linux host operating system running a windows virtual machine with hardware virtualization and two video cards, one of which is dedicated to windows while the VM is running. Performance is quite good, and both the Windows and the Linux displays can be hardware accelerated at the same time.
On intel processors, you can check if you have virtualization technology by downloading the cpu identification tool. Once installed and run, you can check under the "CPU Technologies" tab. If you see Virtualization Technology and VT-x Extended Page Tables as supported, your CPU has support. In supported mainboards, your BIOS will have a setting to toggle virtualization support. My old intel i7 920 supports this quite nicely, and many other modern CPUs in the last 5 years should too.
AMD has a similar technology called AMD-V, but you'll need a different tool to test for support. I don't have any AMDs here to test it with, but the information is definitely out there.
I've done a bit of virtual machine gaming, (Star Trek: Armada 1&2 and Return to Castle Wolfenstein). Biggest issue I've encountered with it was getting the virtual machine running correctly and even then it was a fairly simple process of just booting XP into safemode and installing the correct software. A few games I couldn't get running was Fallout3 and Fear but it was easier to get them running on my native OS than it was to mess around with trying to get them running on a virtualization of XP.
[–] 2080876? 0 points 2 points 2 points (+2|-0) ago
One thing that helps on many older games is to create a folder on your C: drive named Games and install them there instead of the Program Files folder. This is because many older games assume they can just do what they want inside their own folders but OS from Vista on protect anything in Program Files. But C:\Games is not protected and they can do what they want there. Try it and see if it helps with some of them. Just replace C:\Program Files\ in the path with C:\Games\
[–] SkepticalMartian 0 points 1 point 1 point (+1|-0) ago (edited ago)
This is entirely correct, and it's surprising this answer is not being given the love it deserves. Post Windows XP systems do in fact have reduced privileges for program files and program files(x86). This is why modern games store save data and other things inside your user directories instead of where the game resides.
Some people opt to get around this by running the games with administrator privileges, but this is a very bad idea from a security perspective. No game should ever have to run with admin. Installing to a different location is the best way to go about it.
[–] wickedsteve ago
Which games don't work?
[–] Foul_Knave ago
You can find a rig that plays XP-era games literally in a dumpster, and XP is laughably easy to crack.
[–] pangaea [S] ago
Also if I went the dual boot route I would get some really spectacular performance on modern hardware :P (see my specs in OP)
[–] pangaea [S] ago
I could probably even slap together a rig out of spare parts, perhaps with some dirt cheap ones on Ebay. Though with a VM I can play those games while doing other things on my main machine, or even copy/paste the entire system to other machines.