4 ms·
If porting Intel compiled binaries (dll/exe) to ARM is as easy as this article makes it look, then Microsoft has some explaining to do about Windows RT and lega
by lini 14y ago
If porting Intel compiled binaries (dll/exe) to ARM is as easy as this article makes it look, then Microsoft has some explaining to do about Windows RT and legacy apps compatibility.
- rprasad 14y agoIt's one thing to port a specific application and work out all of the kinks. It's another thing entirely to claim that millions of different applications will be able to make the transition. Even the article points this out: Winulator isn't compatible with Starcraft: Brood War yet. It's a work in progress (each game requires specialized tweaking in order to work). Microsoft is not willing to tweak every single application to make sure it works on Windows RT, and neither are the developers of most of those programs.
- lini 14y agoI agree that making a port to ARM architecture is a process and will never be perfect. What I meant was that making it possible to run legacy apps (even if it is only the top 100 most popular ones) will go a long way towards making Windows RT tablets more popular. If it is possible to make a DirectX audio/video application like SC:BW run (seemingly well) on Android, then it should not be so hard to do normal apps like archivers(winrar/7zip) or media players (VLC). Perhaps the problem is performance - the original StarCraft ran on a 100Mhz CPU with 16MB RAM.
- bri3d 14y agoYou just picked two of the more difficult apps to emulate or ahead-of-time translate as your examples of "normal" apps that should be "not so hard!" Archivers generally have highly optimized compression/decompression routines, which generally means more esoteric instructions and in some edge cases means abusing properties of the microarchitecture to make things faster. Media players have the same optimized-code issue that archivers do (via codecs), but on top of that demand very accurate audio/video synchronization and support a wide variety of output formats and hardware, which means that media players often add difficult-to-translate display and audio output pipeline hacks on top of difficult-to-translate optimization. Starcraft I ran on x86 CPUs without MMX or SSE, and I wouldn't be surprised if it didn't use x87 floating point either although I'm venturing into speculation territory there. Plus, Starcaft I used DirectDraw and what amounts to a framebuffer - the easiest possible output device to emulate.
- mtgx 14y agoI don't know how easy or hard would be to do that for Windows, but I think most x86 Linux programs work on ARM machines by default.
- a3_nm 14y agoIf they were written in a portable language like C, maybe, but you will have to recompile them. I think the point of their WCH tool is to rewrite the machine code from x86 to ARM without having the source code, so it's a much harder problem than recompiling.
- lucian1900 14y agoIf you mean by using qemu user space emulation, it doesn't work very well.
- examis 14y agoI don't think MS would deliberately throw away old apps if they could easily save it. Most probably it's too hard or not effective.
- deltasquared 14y agoWell people managed to port mips binaries (from nintendo 64 games) to x86 in 1999. I remember using UltraHLE: http://www.emulator-zone.com/doc.php/n64/ultrahle.html http://www.emulator-zone.com/doc.php/n64/ultrahle.html That was interesting because the typical PC of the time was not exactly speedy.
- illuminate 14y agoAn emulation is by its very nature not a "port".
- jcfrei 14y agoIt is similar in a sense to Wine, how it is not a port of Wine. It is currently under development. It is not an emulator in VMware/VirtualBox's sense of emulation. However it does implement small subset of Windows APIs, so it is a porting layer. Apparently winulator just translates the windows api calls to the proper (native) android function, however why wouldn't you just port wine to android then? you'd probably just need to add a few missing posix functions, according to: http://mobilepearls.com/labs/native-android-api/STABLE-APIS.html http://mobilepearls.com/labs/native-android-api/STABLE-APIS....
- lucian1900 14y agoAndroid lacks things like X11, so it would be non-trivial to port.
- barbs 14y agoAndroid lacks things like X11 ...or does it?? http://my20percent.wordpress.com/2012/02/27/android-x-server/ http://my20percent.wordpress.com/2012/02/27/android-x-server...
- dillona 14y agoBut then how does it handle running an x86 game on an ARM device?