Dietmar
Posts: 361
Joined: Sun Sep 04, 2011 5:43 pm
Contact: Website

Re: *.exe files on XP compiled to Arm

Mon Oct 10, 2011 5:55 pm

Hi all,
I have a question: Microsoft shows their Windows 8, working on ARM without any simulation. For me, it is very interesting to know, if there would be two versions of MS Word, one for Windows 8 Arm and one for Windows8 x86. Or are they both the same?
In this case it could be done, that all *.exe files, that run on XP also run on a XP on Arm.
I looked everywhere, but I found nearly zero information about that Windows 8 on Arm.
Downloadable is only the Windows 8 x86 version,
nice to hear from you
Dietmar.

PS: I just see, that there is an USB 2.0 driver for NT4, so the fun will start for sure:-).

User avatar
abishur
Posts: 4477
Joined: Thu Jul 28, 2011 4:10 am
Location: USA
Contact: Website

Re: *.exe files on XP compiled to Arm

Mon Oct 10, 2011 6:09 pm

There's actually a whole thread devoted to windows 8 on ARM. It boils down to two issues. 1) The GPU driver. As I've been saying even if you managed to compile a windows OS into ARM it still would not work because it could not interface with the GPU. It's not that the r-pi is incompatible with windows, it's that windows in incompatible with the r-pi. and 2) it's headed for devices with a little more under the hood than the r-pi has to offer. Even if you shelled out the millions of dollars to get windows to develop a GPU driver, it just wouldn't have the processing power to run the device :( It's like trying to run Windows XP on a Tandy 386.
Dear forum: Play nice ;-)

User avatar
ukscone
Forum Moderator
Forum Moderator
Posts: 4279
Joined: Fri Jul 29, 2011 2:51 pm
Contact: Website

Re: *.exe files on XP compiled to Arm

Mon Oct 10, 2011 6:11 pm

as far as i know they will only support metro apps on the arm win8 so things like office and word won't run or be ported. they will probably do workalikes though

obarthelemy
Posts: 1410
Joined: Tue Aug 09, 2011 10:53 pm

Re: *.exe files on XP compiled to Arm

Mon Oct 10, 2011 6:18 pm

The Windows 8 / ARM does *NOT* have an x86 emulator, so it will *NOT* run Win 8 /x86 binaries. MS has made that very clear, and I'm sure of it.
Another issue I'm not so sure of: Win 8 will offer a "classic" (desktop UI) mode, and a "metro" (tablet UI) mode, but the differences are not only the UIs, but also some APIs that chenge or disappear. I'm not sure if Win8/ARM will have Classic mode. That would mean that a simple recompile won't be enough, but a small rewrite is needed in all cases, and some software won't run at all due to missing functionalities.

Dietmar
Posts: 361
Joined: Sun Sep 04, 2011 5:43 pm
Contact: Website

Re: *.exe files on XP compiled to Arm

Mon Oct 10, 2011 6:39 pm

@abishur
I do not understand, what you say about the needed GPU driver.
You have that thing in Linux:-), right?
So, where is a problem? Or do you not want to give out the source code for this GPU diver? Video can also been put out via USB, I make a try with the OLPC because of broken monitor,
Dietmar

PS: On their presentation, MS Word runs on ARM. And I found a comment, that the Source Code for this Word is 99 or even 100% the same than that for x86. And that all software developers do not need to worry because now two platforms:-). This sounds really good. Yes, Microsoft does not make a emulator themselves, but NVIDIA will do for example.

Svartalf
Posts: 596
Joined: Fri Jul 29, 2011 6:50 pm

Re: *.exe files on XP compiled to Arm

Mon Oct 10, 2011 7:29 pm

Heh... It's not that simple to make an emulator. If it were, IBM would've made one for Power5 machines because they'd be ahead of pretty much all other comers in the server space, in spite of the emulation. They've not done so. Same goes for the top-end Sparc silicon. Sun didn't- and neither has Oracle to date.

There should be a strong hint for you there, Dietmar.

I wish you the best of luck in your attempt at this- you're probably going to need it because FX!32 had many man-years worth of effort in it with someone that had an intimate knowledge of NT and Alpha processors.

User avatar
abishur
Posts: 4477
Joined: Thu Jul 28, 2011 4:10 am
Location: USA
Contact: Website

Re: *.exe files on XP compiled to Arm

Mon Oct 10, 2011 8:04 pm

Quote from Dietmar on October 10, 2011, 19:39
@abishur
I do not understand, what you say about the needed GPU driver.
You have that thing in Linux:-), right?
So, where is a problem? Or do you not want to give out the source code for this GPU diver? Video can also been put out via USB, I make a try with the OLPC because of broken monitor,
Dietmar

PS: On their presentation, MS Word runs on ARM. And I found a comment, that the Source Code for this Word is 99 or even 100% the same than that for x86. And that all software developers do not need to worry because now two platforms:-). This sounds really good. Yes, Microsoft does not make a emulator themselves, but NVIDIA will do for example.

Well first, MS Word was running on ARM because they made an ARM version of Word, not because they took any old MS Word and it instantly worked because it's windows.

Secondly a Linux driver won't work in Windows (or vise versa). You need a unique driver for each OS AND for each family of processors (ie x86, x64, ARM, etc). I've been saying GPU driver for simplicity, but the actual problem is a little proprietary blob that runs the GPU chip itself (or so is my understanding) it's not that the r-pi team has made it proprietary, it's that Broadcom has made it proprietary.

I'm not sure if you could circumvent this by using a USB VGA device, but that would just make things worse if you could. USB VGA devices tend to be EXTREMELY CPU heavy. Windows 8 specs already are too great for the r-pi, trying to add a USB VGA port to it would just compound your woes.

I fear you're over simplifying OSes here. It's not just "change some instruction sets" in the Dlls and bam x86 programs run on ARM processors. You're talking about creating a transparent x86 emulator. I mean, more power to you if that's something you want to / can pull off! But that's a HUGE undertaking. And with all thing emulation, you're using software to emulate hardware which equals CPU heavy programming. Such a thing would be unlikely to run smoothly on the r-pi's processor. You'd really be better off just finding alternatives to Windows and the software that runs on it :(
Dear forum: Play nice ;-)

Dietmar
Posts: 361
Joined: Sun Sep 04, 2011 5:43 pm
Contact: Website

Re: *.exe files on XP compiled to Arm

Mon Oct 17, 2011 8:35 pm

Hi, does anybody here know,
if "User space emulator" from Qemu will work on Raspberry Pi?
User space emulator does not emulate a whole other computer.
It just brings one program, written for other architectur, to work on underlying hardware.
Qemu works a little bit like Dosbox in this case,
Dietmar

Dietmar
Posts: 361
Joined: Sun Sep 04, 2011 5:43 pm
Contact: Website

Re: *.exe files on XP compiled to Arm

Mon Oct 17, 2011 8:52 pm

Waaoh, take a look at


But from where can I get qemu-i386 ???
Dietmar

EDIT: I see, it is not for Windows users :-).
Only in the compiled Qemu in a Linux environment you get
qemu-i386
and also (funny) qemu-arm which will mean, that you can run single programs, written for Arm architecture in a x86 system.

EDIT II Hm, but then must be possible: raspberry pi with arm-linux
on that qemu-i386 and on that 386wine386 and on that XP, sounds complicated but may be very fast...:-)

Remorilla
Posts: 3
Joined: Mon Oct 17, 2011 10:22 pm

Re: *.exe files on XP compiled to Arm

Mon Oct 17, 2011 11:38 pm

Quote from Dietmar on October 17, 2011, 21:52
Waaoh, take a look at


But from where can I get qemu-i386 ???
Dietmar

EDIT: I see, it is not for Windows users :-).
Only in the compiled Qemu in a Linux environment you get
qemu-i386
and also (funny) qemu-arm which will mean, that you can run single programs, written for Arm architecture in a x86 system.

EDIT II Hm, but then must be possible: raspberry pi with arm-linux
on that qemu-i386 and on that 386wine386 and on that XP, sounds complicated but may be very fast...:-)

The author of the video says that the n900 with 600MHz ARM processor achieves a pentium90 speed (thats very slow). Please consider learning to use linux, or look for other small form factor x86 platforms http://en.wikipedia.org/wiki/C.....orm_factor.

Dietmar
Posts: 361
Joined: Sun Sep 04, 2011 5:43 pm
Contact: Website

Re: *.exe files on XP compiled to Arm

Mon Oct 17, 2011 11:57 pm

Hi Remorilla,
I take the best of all:-). I get MS-DOS 6.22 in 3 sec to boot on double Qemu.
With 50MB XP in Ram or Win95 on HD I am in this moment better than Pentium 90 on double Qemu.
Just in this moment I have compiled DOS-Box, which gives me version CVN.
I can compare a lot. Good in Dos-based Systems is boot time, but stability is not good. Stability is very good I noticed in NT4. For me it is not such a big problem, to make an ARM NT, but I tested notepad.exe and this does not run on an NT4 ARM system. So, the software is really the most important problem and not wether it is Linux or NT.
And another problem will be, how the real Raspi Pi recognices harddisks. The problem, why I can not start Alpha or Mips or PPC from NT4 is, that Quemu can not start with the Bios from x86 Bios. So, the linux arm, ppc usw makes a little bit fake, because they used normal 55 AA convention for recognicing harddisks,
Dietmar

Remorilla
Posts: 3
Joined: Mon Oct 17, 2011 10:22 pm

Re: *.exe files on XP compiled to Arm

Tue Oct 18, 2011 9:13 am

Dietmar, may I ask you what do you want exactly to run on the raspi under the windows enviroment?

Dietmar
Posts: 361
Joined: Sun Sep 04, 2011 5:43 pm
Contact: Website

Re: *.exe files on XP compiled to Arm

Tue Oct 18, 2011 9:58 am

Hi Remorilla,
just all :-).
XP needs only 32 MB ram and is fast and stable as much as possible.
You can make an XP below 100MB with nearly all you want. So, the first problem is,
to make it run quick on the Raspi. And the second, major problem is the Video driver for the Broadcom videochip on top of the ARM 1176,
Dietmar

obarthelemy
Posts: 1410
Joined: Tue Aug 09, 2011 10:53 pm

Re: *.exe files on XP compiled to Arm

Tue Oct 18, 2011 10:50 am

3rd problem is the price of the XP license, and I'm not sure MS sell those anymore ? ^^

hsalonen
Posts: 19
Joined: Wed Aug 31, 2011 9:11 am
Contact: Website

Re: *.exe files on XP compiled to Arm

Tue Oct 18, 2011 11:14 am

If you are a student, you can easily get as many XP licenses you want from MSDNAA.

Still, running main operating system on emulator...

tufty
Posts: 1456
Joined: Sun Sep 11, 2011 2:32 pm

Re: *.exe files on XP compiled to Arm

Tue Oct 18, 2011 1:36 pm

The whole "running your system on an emulator" thing is the main "WTF" for me. An ARM port of ReactOS running natively on the Pi to provide a cheap 'n' cheerful Win32 programming board would seem like a reasonable thing to do if you buy into "Windows is where it's at", but I honestly don't understand why you'd want to cripple a lowish performance machine by emulating another one.

Dietmar
Posts: 361
Joined: Sun Sep 04, 2011 5:43 pm
Contact: Website

Re: *.exe files on XP compiled to Arm

Tue Oct 18, 2011 2:36 pm

Hi tufty,
do you succeed to get the Reactos ARM port running on Raspi?
I not, even not within Qemu.
It is an Windows CE clone.
At the moment I am interested, how the first 512 Byte of the real Raspi are looking.
I think, because of booting via the Broadcom videoship, it looks different from a normal MBR
Dietmar

PS: Is here somebody in the forum with a real Raspi, who tested Qemu on it?

tufty
Posts: 1456
Joined: Sun Sep 11, 2011 2:32 pm

Re: *.exe files on XP compiled to Arm

Tue Oct 18, 2011 7:19 pm

Hi Dietmar.

No, I've not tried getting ReactOS running on the Pi, or under Qemu. Nor am I likely to. I was just suggesting that it might be a more worthwhile exercise than trying to run XP under qemu on the Pi. Not that you should let that stop you from trying, of course.

As for the boot sector, the question has been answered. There is no "boot sector" as such. There is a FAT32 partition at the front of the SD card containing the GPU firmware and a (presumably specifically named) secondary binary that is started by the GPU and which boots the ARM core. That secondary binary is, in the most common case, gonna be a linux kernel. Any other formatting specifics (secondary partitions and the like) are down to what the secondary binary expects to be in place.

Ampix0
Posts: 94
Joined: Sat Oct 22, 2011 3:03 am

Re: *.exe files on XP compiled to Arm

Sun Oct 23, 2011 2:53 pm

Quote from ErvKosch on October 7, 2011, 14:20
Probably not. Anything on XP would be compile to run on an X86 processor and use Windows' API set. The RasPi has an ARM processor and will use Linux so the Linux API's will be different. There are ways to get some of the Windows' API to work on Linux (through WINE) but its not perfect.

Your best bet would be to get the source code and recompile it on an ARM 7 processor. I know some of Quake engine has been open sourced.

Is that all it takes to make programs work on ARM? Get the source and compile it using the ARM processor? (assuming the program doesn't use too much processing of course)

tufty
Posts: 1456
Joined: Sun Sep 11, 2011 2:32 pm

Re: *.exe files on XP compiled to Arm

Sun Oct 23, 2011 3:40 pm

Quote from Ampix0 on October 23, 2011, 15:53
Is that all it takes to make programs work on ARM? Get the source and compile it using the ARM processor? (assuming the program doesn't use too much processing of course)
More or less, yes.

Assuming your program uses libraries that are available under Linux, all you have to do is recompile it (and, potentially, the libraries it depends on) using a compiler that targets ARM, and install the resulting binaries on your ARM machine.

If you're talking about the source for a Windows program, though, you're likely to be SOL, because the libraries required (including those at the system level) are not all available under Linux. Same goes for OSX (if you're using the GUI stuff, at least), iOS (ditto), AmigaOS and so on. The amount of work porting a GUI app is generally related to how much work was done making it portable in the first place.

Most non-GUI programs are (almost) totally portable across Unix-alike machines, as they usually use the POSIX API / rely on libraries that use the POSIX API.

Simon

Ampix0
Posts: 94
Joined: Sat Oct 22, 2011 3:03 am

Re: *.exe files on XP compiled to Arm

Mon Oct 24, 2011 12:52 am

But like an open source linux program such as Boxee just compile on ARM and its good?

tufty
Posts: 1456
Joined: Sun Sep 11, 2011 2:32 pm

Re: *.exe files on XP compiled to Arm

Mon Oct 24, 2011 7:45 am

In most cases, yes. That doesn't mean it will necessarily work, or work properly - you may hit
"endian issues" (to do with the way different architectures store numbers, which is not always the same), issues with code that's explicitly expecting a features provided by a particular architecture, or performance issues due to architecture differences.

User avatar
Beakster
Posts: 29
Joined: Mon Oct 24, 2011 6:03 pm

Re: *.exe files on XP compiled to Arm

Tue Oct 25, 2011 3:55 pm


My question is, what is with all the programs that are written for x86 XP.
Is it possible, may be with some small modification, to make them run on that ARM XP?

Windows XP for ARM doesn't exist and never will. Even if it did you would then need some kind of emulation layer to run x86 code on ARM within it, just as Rosetta on x86 OS X runs PPC OS X programs.

If you wanted to run Windows XP x86 applications on the Raspberry Pi your options would be:

-Run Linux on the Raspberry Pi and emulate a complete x86 computer using something like QEMU, DosBox, Boschs. This would require a complete install of Windows XP and be slow.

-Run Linux on the Raspberry Pi with Wine to emulate the Windows API. People already do this to run Windows software on x86 linux. The problem would be running it on ARM linux as Windows applications are compiled for x86. Before the Mac switched to x86 there was a project to run Wine + QEMU to allow x86 Windows software to run on PPC OSX. The same setup could be used to run x86 Windows apps on ARM Linux, but WINE isn't a complete API implementation so it wouldn't give 100% compatibility.

-Run ReactOS (http://www.reactos.org) on the Raspberry PI and add QEMU or similar to perform x86 emulation within ReactOS. This would be the nicest solution, however ReactOS isn't yet complete, nor is the ARM port working well and hence no one has started looking at adding x86 emulation to it. If you are truly committed to running Windows x86 software on an ARM platform I suggest this is where you invest your efforts, by first working on developing a working build of ReactOS for the Raspberry Pi, but don't underestimate the complexity of the task. Before you start you'd need to have a good working knowledge of the C/C++ programming language, and a good understanding of your target architecture. Have a read here as a starting point: http://infocenter.arm.com/help.....07079.html

As I see it the above are all methods to make x86 Windows software run on the Raspberry Pi, but would all require a fair amount of work and would never work as well as XP running on an x86 machine. If you really want to run x86 XP software get an old x86 computer. People seem to throw anything less than 1GHz away now so you can probably get one for free. :D

nullstring
Posts: 178
Joined: Sun Oct 02, 2011 3:05 pm

Re: *.exe files on XP compiled to Arm

Tue Oct 25, 2011 5:08 pm

Quote from Ampix0 on October 24, 2011, 01:52
But like an open source linux program such as Boxee just compile on ARM and its good?

Yes, Assuming the code doesn't use take advantage of any undefined or x86-only behavior. (Which would likely be unintentional).

Bumsfallera
Posts: 16
Joined: Mon Aug 22, 2011 1:15 am

Re: *.exe files on XP compiled to Arm

Wed Nov 30, 2011 5:56 pm

http://maemo.org/packages/view/wine/

" Wine is a compatibility layer for running Windows applications on Linux.
This version of wine is built for the ARM cpu and can NOT run i386 native Windows
applications. Only ported Windows applications compiled for ARM will work."

Return to “Off topic discussion”