That's emulation, not virtualisation. The difference is that virtualisation runs code on the processor it was designed for, so for example you might have an x86 PC running Linux, on which there was an x86 virtual machine running Windows inside. If you're just running straight user-land code (Firefox, say) it runs directly on the x86 processor as if the code were part of Linux. The only performance hit is that when the code tries to hit make operating system calls the calls get diverted to the virtualised Windows machine rather than the underlying Linux machine.

[link](virtual_machine_monitor) has a better (technical) outline of how one system works.

Another idea for VRPC on Linux... make the Windows version WINE friendly. (WINE is a program for Linux that runs Windows programs by emulating the full Windows API). If it only used Windows calls that were supported by WINE then it should run on Linux under WINE without any problems. And the same code would run quite happily on Windows by definition.