http://bugs.winehq.org/show_bug.cgi?id=35062
--- Comment #12 from Stefan Dösinger stefan@codeweavers.com --- Yes, this is fixable, but requires some effort. We can implement the necessary parts of nvapi.dll. The main challenge here is to design a proper interface between d3d9.dll and nvapi.dll. Calling from nvapi.dll to wined3d.dll is easy, but you have to get the struct wined3d_device * from the IDirect3DDevice9 * nvapi.dll receives from the application. Ideally this should work in the same way Nvidia's nvapi.dll handles this on Windows.
The other option is d3d11. D3D11 natively supports the kind of image transfer operations Nvidia hacked into d3d9 with nvapi.dll, so no third party library is needed.