View Single Post
Posts: 474 | Thanked: 283 times | Joined on Oct 2009 @ Oxford, UK
#10
You could do it at a modest speed using techniques like QEMU - code translation from x86 to ARM - combined with Wine's libraries.

As a rough estimate, QEMU tends to run code about 20% of the native speed at best, but that is a rough guess especially when targetting a different CPU.

It will also use more memory than a real machine, but not hugely more.

So as a *very* rough estimate, I'll say it would be like running Windows on a PC with 120MHz Pentium/PentiumPro and 128MB RAM.

In other words, up to Windows 95/98, Windows NT4 at the speed of a PC from 14 years ago.

Windows 2000 would be a tight squeeze and slow, and XP would be very slow, if it fits in the memory at all.

The best performance would come from using QEMU (or another dynamic code translator) to provide the x86 emulation, with Wine libraries compiled natively. For some applications you might get good performance, if the heavy work is inside Windows itself (things like drawing widgets etc. with the application doing very little work). I don't think anyone has written that combination yet, though.

You could also make it work by running Wine (x86 version) using QEMU, and an X server. That would be much slower, but much easier to get it working. You might not need to write any code at all.