For all things DirectX 11+, you can try utilizing WineD3D, which translates DX11 calls to OpenGL. It works really well with older games, too. As I type this, the development version is currently based on the latest Wine-staging codebase, and the stable version, which supports XP, is, I believe, based on Wine 1.7 or 1.9. The site to get that from is: http://fdossena.com/?p=wined3d/index.frag
As for how it does it, it appears to be a form of a proxy-dll modification, as there's no need to modify existing software to use it. Just drop in the proper files from the archive, and go. Personally, I use it to run old beta versions of games on Win10, that would otherwise have full-screen windowing problems, or graphical glitches on my HD screen. It works great, and has very little-to-no performance degradation.