Oxwivi
Posts: 59
Joined: Wed Oct 26, 2011 9:33 am

Re: Windows on R-Pi

Thu Dec 08, 2011 9:04 am

As the FAQ does not quite elaborate on the matter of Windows, this post is just to provide some info about why it won\'t work and, if it does work, other caveats applicable to running Windows (CE) on R-Pi.
  • Processor
    First, you need to understand that the general PCs (either desktop or laptop) uses x86-based processors manufactured by Intel or AMD. x86 is an industry standard, therefore programs made to run on x86 will run on any such processors without any restrictions.

    The situation on ARM is completely different. There are no standard to adhere to, and ARM architecture can vary wildly from one ARM processor to another. Using Android as an example, it is very much possible a program that runs on one Android device won\'t work on another - one of the reasons why some apps does not show on the Android Market of different Android devices.
  • Support
    Windows XP, Vista and 7 does not have ARM versions. Windows CE supports a few ARM architectures.

    However, given the fragmented nature of ARM, it is unlikely that CE will work on R-Pi\'s particular ARM architecture. Not to mention the drivers required for the SoC also needs to be written and made available by Microsoft.

    While it\'s possible for Windows CE to on R-Pi, it\'s unlikely the relevant requirements will be met.


    As pointed out in a reply below, CE does support ARMv6, the architecture in the Broadcom SoC going to be used in the first-gen R-Pi. Windows CE will work as long as relevant drivers for the SoC is written.
  • Software
    Now for the caveat I mentioned before - even if we do get Windows CE running, none of the gazillions of Windows software currently available will run. Nobody compiles Windows software for ARM.

    If you want to run Windows because you want to run all the Windows softwares and games, well, tough luck...
What about Windows 8?
Microsoft announced that Windows 8 will support ARM. But the issue of architecture and support arises again - we don\'t know which ARM architectures and SoCs will be supported.

Isn\'t it the same for Linux-based distributions?
Fortunately, no. It is true that x86 Linux and it\'s software won\'t work on ARM, but because it is open-source, everything can be easily compiled by anyone to run on ARM. And that\'s exactly what the supported distributions have been doing. The huge repository of softwares (looking at you, Debian) has been compiled to run on various ARM architectures, including the one on R-Pi. If you\'ve used Linux-based operating systems, you will find the same experience running it on R-Pi.

But that\'s just for the open-source things. Closed-sourced Linux programs like Flash won\'t be working out of the box. Same goes for the paid Linux games in Humble Bundle and other sources.

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

Re: Windows on R-Pi

Thu Dec 08, 2011 9:53 am

Just to pick 2 sentences at random...
However, given the fragmented nature of ARM, it is unlikely that CE will work on R-Pi\'s particular ARM architecture
Wrong. CE works perfectly \"well\" on ARMv6. Yes, those quotes are ironic.
Not to mention the drivers required for the SoC also needs to be written and made available by Microsoft.
Wrong. Those drivers would need to be written by *somebody*. That somebody could be you, me, or anyone who feels motivated enough to do it. Download tools, agree to licensing terms, develop BSP, release.

If you\'re willing to sell your soul to satan, you can even get access to the full source to the latest versions of wince. http://www.microsoft.com/resources/shar ... esslp.mspx

Simon

User avatar
daveg
Posts: 137
Joined: Thu Dec 01, 2011 9:36 am

Re: Windows on R-Pi

Thu Dec 08, 2011 9:55 am

Also the clue is in the title of the Front page of the website.
\"An ARM GNU/Linux box for $25. Take a byte!\"
It seems quite clear to me that only Linux is mentioned :D

Oxwivi
Posts: 59
Joined: Wed Oct 26, 2011 9:33 am

Re: Windows on R-Pi

Thu Dec 08, 2011 10:04 am

Quote from tufty on December 8, 2011, 09:53
CE works perfectly \"well\" on ARMv6.
Wasn\'t quite aware of that, thanks.
Quote from tufty on December 8, 2011, 09:53
Those drivers would need to be written by *somebody*. That somebody could be you, me, or anyone who feels motivated enough to do it. Download tools, agree to licensing terms, develop BSP, release.
That doesn\'t mean it will be available on installation. Is there a generic driver that will make it possible to install the proper ones? I don\'t think so.
Quote from daveg on December 8, 2011, 09:55
Also the clue is in the title of the Front page of the website.
\"An ARM GNU/Linux box for $25. Take a byte!\"
It seems quite clear to me that only Linux is mentioned :D
That\'s not stopping people posting about Windows. :(

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

Re: Windows on R-Pi

Thu Dec 08, 2011 11:21 am

Quote from Oxwivi on December 8, 2011, 10:04
Quote from tufty on December 8, 2011, 09:53
Those drivers would need to be written by *somebody*. That somebody could be you, me, or anyone who feels motivated enough to do it. Download tools, agree to licensing terms, develop BSP, release.
That doesn\'t mean it will be available on installation. Is there a generic driver that will make it possible to install the proper ones? I don\'t think so.
The thing is, there is no \"generic\" Windows CE. Being an embedded OS, it is tailored to a specific board or set of boards. As such, there is no \"install\", because nobody (as far as I know) has taken the time to develop a board support package (BSP) for the Pi. If someone were to do so, that BSP could then be used to make a tailored install for the Pi.

With the information we have at the moment, this could be done by any member of the community with a Windows development box, some time on their hands, and an urge to do so. None of it has to be done by MS. None of it is even particularly hard to do.

Admittedly, if nobody from Broadcom were involved, you would be very unlikely to get accelerated graphics, but you *would* get workable install of WinCE (for what it\'s worth). Of course, anyone wanting to use it for more than the (IIRC) 180 days \"tryout\" license MS offer would have to purchase a license, which, I suspect, would be more expensive than the device itself.

I\'m not sure what the hardware requirements for Win8 are (but I suspect they may well preclude the Pi from the get-go), or the availability of BSP development tools for Win8, but, in theory, the principle is exactly the same for Win8 as for WinCE.

Not that I\'m suggesting doing any of this would be a sensible thing to do. Frankly, anyone outside of Redmond who looks at the Pi and thinks \"needs more Windows\" wants their head checking. It might be an interesting learning exercise, but beyond that... My point really was that your original post, intended to clarify matters, was actually wrong on a number of fundamental factual matters (and yes, there were more than the original 2 I picked on).

Simon

Oxwivi
Posts: 59
Joined: Wed Oct 26, 2011 9:33 am

Re: Windows on R-Pi

Thu Dec 08, 2011 11:48 am

Quote from tufty on December 8, 2011, 11:21
[...] there were more than the original 2 I picked on.
Please point those out.

hippy
Posts: 6284
Joined: Fri Sep 09, 2011 10:34 pm
Location: UK

Re: Windows on R-Pi

Thu Dec 08, 2011 12:27 pm

Quote from daveg on December 8, 2011, 09:55
Also the clue is in the title of the Front page of the website.
\"An ARM GNU/Linux box for $25. Take a byte!\"
It seems quite clear to me that only Linux is mentioned :D
I\'ve always considered it an odd choice of tag line when the Foundation\'s goal is to provide a means to educate about programming and computer science and that in itself is platform agnostic.

It\'s a catchy line but it promotes what the R-Pi is rather than what it is for and that, at least in part, explains why the R-Pi product is often seen as a cheap Linux board rather than a tool for education.

I don\'t particularly see the R-Pi as a \"Linux box\"; sure that\'s the way many people will use it but it\'s just hardware and could run anything; Linux, RISC OS, WinCE or even bare metal programs.
Quote from tufty on December 8, 2011, 11:21
Frankly, anyone outside of Redmond who looks at the Pi and thinks \"needs more Windows\" wants their head checking. It might be an interesting learning exercise, but beyond that...
I think those who are hoping for WinCE are probably looking to be able to use their existing Windows oriented skills with the R-Pi. I would guess they don\'t particularly want to run X86 code, MS Word and whatever, but would prefer to use Visual Studio or whatever Windows tools they are more familiar with to get the job they want done. The R-Pi running WinCE is simply a potential means for letting them develop in an environment they are more familiar or comfortable with.

MobileVB allowed VB6 programmers to quickly create code for the Palm Pilot and Symbian devices without knowing anything about the devices, their OS or native tool sets and the same or similar would be great for the R-Pi. From a programmer\'s perspective the R-Pi is just a black box tool, something to run their code on; being able to write code using familiar tools is what the real desire is.

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

Re: Windows on R-Pi

Thu Dec 08, 2011 12:34 pm

OK then, let\'s go.
Quote from Oxwivi on December 8, 2011, 09:04
The situation on ARM is completely different. There are no standard to adhere to
Yes, there is. Well, \"there are\", to be absolutely pedantic. The standard you\'re looking for (it\'s the most common for software you\'ll find \"in the wild\") for is the ARM EABI, which defines the calling convention for functions. Any integer-only software adhering to this ABI and programmed for your target platform (including processor architecture, see below) will work. Floating point is a bit more tricky, but most software is compiled for the \"softfp\" floating point ABI. This will give software floating point on machines with no FPU, and adapt itself as necessary for machines which do have one (yes, there are different FPUs out there, but code compiled for softfp should work for all of them).
Quote from Oxwivi on December 8, 2011, 09:04
ARM architecture can vary wildly from one ARM processor to another.
Not that wildly. There are 3 main ARM instruction sets out there in \"current\" devices (ARM5, ARM6 and ARM7), and whilst they are not 100% backward-compatible, the main issues come with code you\'ll never touch (atomic operations, usually). If your code is compiled for \"generic\" ARM as opposed to being optimised for a particular processor, it will usually run on anything you\'re likely to hit.
Quote from Oxwivi on December 8, 2011, 09:04
Using Android as an example, it is very much possible a program that runs on one Android device won\'t work on another - one of the reasons why some apps does not show on the Android Market of different Android devices.
The reasons one Android app may not run on all Android devices is to do with hardware external to the CPU, screen sizes, and other stuff that\'s related to the Android platform itself and nothing to do with the processor.

So, in summary: software compiled for the right API (Win32, Linux, FreeBSD, etc) and using the right ABI (the default one, in most cases) will most likely run on the relevant platform.

I\'ve covered the issues of actually porting WinCE. The only thing I have to add to what I\'ve already said is my feeling that, should RasPi suddenly start making serious inroads into the education sector, an \"educationally licensed\" port of Windows of one form or another is highly likely to appear on the scene, with enthusiastic MS reps explaining how it\'s better than linux because it fits in with the rest of the infrastructure, and they\'re licensing it specially to the education system at zero cost because they care about the children.
Quote from Oxwivi on December 8, 2011, 09:04
While it\'s possible for Windows CE to on R-Pi, it\'s unlikely the relevant requirements will be met.[/s]
The base requirements for WinCE are staggeringly low; even the latest incarnation still supports ARMv5.
Quote from Oxwivi on December 8, 2011, 09:04
Isn\'t it the same for Linux-based distributions?
Fortunately, no. It is true that x86 Linux and it\'s software won\'t work on ARM, but because it is open-source, everything can be easily compiled by anyone to run on ARM.
For varying values of \"everything\", \"easily\" and \"anyone\". I should note that the same is true of any open-source WinCE applications (again, for varying values of \"everything\", \"easily\" and \"anyone\"), and with the added bonus that you\'re unlikely to be able to do so on-device. I\'m not sure about actual \"Windows\" apps. AIUI, wince supports a large subset of the Win32 system calls, so it should be relatively painless to do (varying values of \"relatively\" and \"painless\", obviously). I\'m not certain, but code written for .net should work with no porting effort at all.

Now, I may be a pedantic bastard (well, OK, let\'s be honest - I am a pedantic bastard), but I\'m no expert on Windows and even I can see the glaring holes in what you\'ve written. The situation is far more complex than you paint it.

Simon

hippy
Posts: 6284
Joined: Fri Sep 09, 2011 10:34 pm
Location: UK

Re: Windows on R-Pi

Thu Dec 08, 2011 12:59 pm

Quote from tufty on December 8, 2011, 12:34
The only thing I have to add to what I\'ve already said is my feeling that, should RasPi suddenly start making serious inroads into the education sector, an \"educationally licensed\" port of Windows of one form or another is highly likely to appear on the scene, with enthusiastic MS reps explaining how it\'s better than linux because it fits in with the rest of the infrastructure, and they\'re licensing it specially to the education system at zero cost because they care about the children.
Absolutely and the Foundation could help to encourage Microsoft to bring that about if they so desired.

Microsoft are also talking about \"Windows 8\" on very constrained non-X86 platforms. I don\'t know the exact detail or what the scope of that is but it seems that the R-Pi would fit into the category they describe. It\'s not likely to be \"Windows 8 desktop\" on such devices but it could easily be similar to NetDuino where a non-X86 processor is programmed using \'standard Windows tools\' and a familiar .Net framework.

Oxwivi
Posts: 59
Joined: Wed Oct 26, 2011 9:33 am

Re: Windows on R-Pi

Thu Dec 08, 2011 1:20 pm

Quote from tufty on December 8, 2011, 12:34
Yes, there is. Well, \"there are\", to be absolutely pedantic.
Sure there are, but my point is there\'s no standard comparable to x86 to make ARM stuff run as globally.
Quote from tufty on December 8, 2011, 12:34
Not that wildly.
Just a figure of expression.
Quote from tufty on December 8, 2011, 12:34
The reasons one Android app may not run on all Android devices is to do with hardware external to the CPU, screen sizes, and other stuff that\'s related to the Android platform itself and nothing to do with the processor.
I did say one of the reasons. :P Just an example to the general idea of incompatibility across ARM architectures.
Quote from tufty on December 8, 2011, 12:34
The base requirements for WinCE are staggeringly low; even the latest incarnation still supports ARMv5.
Excuse me for the bad wording, but I originally meant the support and driver requirement to get CE running on R-Pi.
Quote from tufty on December 8, 2011, 12:34
For varying values of \"everything\", \"easily\" and \"anyone\". I should note that the same is true of any open-source WinCE applications (again, for varying values of \"everything\", \"easily\" and \"anyone\"), and with the added bonus that you\'re unlikely to be able to do so on-device. I\'m not sure about actual \"Windows\" apps. AIUI, wince supports a large subset of the Win32 system calls, so it should be relatively painless to do (varying values of \"relatively\" and \"painless\", obviously). I\'m not certain, but code written for .net should work with no porting effort at all.
Now you\'re just nit-picking. I simply mean it\'s available for anyone to do it. Yes open-source Windows softwares can also be compiled to run on ARM, but generally the reason you want to use Windows, the software you want to run, are all closed-source (MS Office, PhotoShop, even CCleaner). As far as I know, software in general for Windows almost always tend to be closed-source.
Quote from tufty on December 8, 2011, 12:34
Now, I may be a pedantic bastard (well, OK, let\'s be honest - I am a pedantic bastard), but I\'m no expert on Windows and even I can see the glaring holes in what you\'ve written. The situation is far more complex than you paint it.
I intentionally avoided going into the details. This is just a general picture of why Windows is not supported for all those John Smiths who\'ve never heard of Linux.

Oxwivi
Posts: 59
Joined: Wed Oct 26, 2011 9:33 am

Re: Windows on R-Pi

Thu Dec 08, 2011 1:24 pm

Quote from hippy on December 8, 2011, 12:59
Microsoft are also talking about \"Windows 8\" on very constrained non-X86 platforms. I don\'t know the exact detail or what the scope of that is but it seems that the R-Pi would fit into the category they describe.
I think not. Phones are already shipping with 1 GB RAM, there\'s no need to even mention tablets. I doubt they\'d go below 1 GB.

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

Re: Windows on R-Pi

Thu Dec 08, 2011 2:01 pm

Quote from Oxwivi on December 8, 2011, 13:20
Quote from tufty on December 8, 2011, 12:34
Yes, there is. Well, \"there are\", to be absolutely pedantic.
Sure there are, but my point is there\'s no standard comparable to x86 to make ARM stuff run as globally.
ORLY?
Last time I looked, there were upwards of 10 different, totally incompatible calling conventions for x86, and AMD is not the same as x86 is not the same as x86/64, and so on. The situation is just as fragmented as for ARM, if not more so. x86 isn\'t a \"standard\", it\'s a horrible <expletive deleted> dog\'s dinner.
Quote from Oxwivi on December 8, 2011, 13:20
Quote from tufty on December 8, 2011, 12:34
The reasons one Android app may not run on all Android devices is to do with hardware external to the CPU, screen sizes, and other stuff that\'s related to the Android platform itself and nothing to do with the processor.
I did say one of the reasons. :P Just an example to the general idea of incompatibility across ARM architectures.
You did. And I\'m saying that, 99% of the time, it\'s nothing to do with ARM (or even processor family, now there\'s MIPS and intel Android devices out there) incompatibilities, because the software runs on a virtual machine, totally isolated from the underlying machine. ARM \"incompatibilities\" don\'t even come into it.
Quote from Oxwivi on December 8, 2011, 13:20
Excuse me for the bad wording, but I originally meant the support and driver requirement to get CE running on R-Pi.
Which is no higher than for any other \"other OS\", open source or not, as long as we assume you\'re willing to sell your soul to Redmond.

I\'ll say it again. There is, as far as I can tell, nothing technically stopping WinCE / Windows Embedded Compact up to and including the latest version, being able to run on the Pi. I doubt there would be much value in doing it, but if someone wanted to write a BSP for the Pi, they could.

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

Re: Windows on R-Pi

Thu Dec 08, 2011 4:03 pm

Let\'s watch the language guys, hopefully younger kids will be on this some day... though I\'ve certainly met 8 year olds who swear more in a sentence than I have in a lifetime.... :P

My only thoughts about getting Windows CE up and running is like Tufty saying, what\'s the point? I mean if you just want to do it for fun, then it\'s your choice and no one is going to stop you. If you\'re doing it, however, because you think it will give you access to Windows and all it\'s wonderful features, then it\'s going to be a let down. I don\'t think, though I might be very wrong on this, it\'s been a really long time since I used Windows CE (5/6), but I don\'t think that it even has built in access to windows networking let alone any of the windows programs (without having to buy the special for the Windows CE environment)

As for Windows 8... it might be able to run, but I imagine it would be a frustrating experience. I mean sure you can make it run on some constrained specs, but then you have to wait forever to open programs, text can\'t keep up with how fast you\'re typing... bleh, it\'s like crawling through quicksand.

So could it theoretically do it? Maybe, but would you have a solid benefit from it... :?
Dear forum: Play nice ;-)

adric22
Posts: 10
Joined: Wed Oct 19, 2011 3:24 pm

Re: Windows on R-Pi

Thu Dec 08, 2011 4:41 pm

If the R-Pi had more RAM, it might be possible to emulate X86 Windows and get Windows XP running (albeit pretty slowly)

nvoid82
Posts: 18
Joined: Tue Oct 25, 2011 3:07 pm

Re: Windows on R-Pi

Thu Dec 08, 2011 5:20 pm

Could something like Darwine work on the raspberry pi? Last time I checked, they had managed to get some windows programs working on ppc without emulation, but stopped because byte swapping would be too difficult. Since x86 and ARM are both little endian architectures (I think), would Darwine for the pi be reasonable?

sylvan
Posts: 118
Joined: Sun Nov 27, 2011 8:39 pm

Re: Windows on R-Pi

Thu Dec 08, 2011 6:38 pm

Quote from tufty on December 8, 2011, 14:01
Last time I looked, there were upwards of 10 different, totally incompatible calling conventions for x86, and AMD is not the same as x86 is not the same as x86/64, and so on. The situation is just as fragmented as for ARM, if not more so. x86 isn\'t a \"standard\"
Wow, way to totally miss the point.

Very few people, even very few developers, care about all the calling conventions. Perhaps if you are developing an OS and compiler from scratch or are trying to squeeze the last bit of performance then you would care. In which case you would also care on ARM, because calling conventions are just that -- CONVENTIONS not STANDARDS -- and they are chosen and become conventions precisely because someone cared. If ARM only has one, it is either because it is perfect for everything, or no one cares. I rather suspect no one cares.

There are a variety of OS available for x86, and those define the calling convention used for their environment, or perhaps even support a variety (windows, I\'m looking at you) if you do care. So pick your OS -- Linux, *BSD, OS X, or Windows and you pick your ABI. But you still have a huge variety of hardware to choose from, because the x86 platform is very standardized and many providers implement to that standard. (Just look at the work and effort Apple has done to keep their OS on their hardware and how soon the \'hackintosh\' community runs each new version of OS X on commodity (also known as standard) x86 hardware.)

x86 is a standard hardware platform, as defined by Microsoft and Intel. This standard does not always go down to a list of allowed devices and the interfaces to those devices, but it is extremely detailed never the less in declaring standard functionality, typical devices, and how to discover what devices are attached. I\'ve seen no standard comparable for ARM or any other processor platform. This standard is the reason a plethora of hardware exists and is mostly interchangeable without porting your desired OS and drivers individually to each manufactured variant.

As for your bit about x86 is not x86/64 and AMD is not x86, I cannot tell if you are seriously pointing out the blindingly obvious, or if you think you have discovered and revealed to the world some hidden truth.

x86/64 is a straightforward \"long mode\" extension to the x86 instruction and register set and I\'ve never met any x86/64 processor that would not run plain x86 code. If you want to use the \"long mode\" extension, you can check if it is available and use it or report an error or however you want to cope. Long mode was initially defined by AMD but has since been adopted and extended by Intel and perhaps other x86 processor providers. Of everything you mention, long mode is maybe the closest to the ARM5/6/7 levels.

Of course, instruction set extensions are nothing new for the x86 or x86/64 and are of much finer granularity, utility and variety than simple levels. Developers with more than a surface knowledge of the platform know about the SSE, MMX, virtualization, crypto, etc. extensions that have been and continue to be added, and that dealing with those is also not a big deal as the standard has been defined to detect at run time if and what extensions the processor supports and most compilers include libraries to emulate the instructions should you wish to continue with degraded performance.

The x86 platform is available as processor plus supporting circuitry, or as a SOC, and in binary and platform compatible implementations from many vendors. The platform is very standard indeed compared to the wild and woolly world for other processors.

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

Re: Windows on R-Pi

Thu Dec 08, 2011 6:56 pm

No, not missing the point at all - but I am pointing out the blindingly obvious, and for a reason - proof through absurdity if you like. The original claim was:
First, you need to understand that the general PCs (either desktop or laptop) uses x86-based processors manufactured by Intel or AMD. x86 is an industry standard, therefore programs made to run on x86 will run on any such processors without any restrictions.

The situation on ARM is completely different. There are no standard to adhere to, and ARM architecture can vary wildly from one ARM processor to another.
What I\'m trying to point out is that the \"completely different\" situation for ARM is not, in fact, completely different. If you have, for example, Linux (or any other OS) running on some variant of the x86, programs compiled for \"x86 linux\" will run because:
  • They all use the same API, as defined by the OS
  • They all use the same ABI
  • They all use a reduced, common set of instructions that are guaranteed to be available regardless of what actual processor you\'re running, or have, as you point out, emulation layers for stuff that isn\'t necessarily there.
Here\'s the massively difficult and completely different situation for ARM - WinCE (or other OS) apps will run on any supported platform because:
  • They all use the same API, as defined by the OS
  • They all use the same ABI
  • They all use a reduced, common set of instructions that are guaranteed to be available regardless of what actual processor you\'re running, or have, as you point out, emulation layers for stuff that isn\'t necessarily there.
BTW, you might want to look into the AMBA docs for an idea of how standardised hardware is on the ARM side.

sylvan
Posts: 118
Joined: Sun Nov 27, 2011 8:39 pm

Re: Windows on R-Pi

Thu Dec 08, 2011 7:05 pm

Quote from nvoid82 on December 8, 2011, 17:20
Could something like Darwine work on the raspberry pi? Last time I checked, they had managed to get some windows programs working on ppc without emulation, but stopped because byte swapping would be too difficult. Since x86 and ARM are both little endian architectures (I think), would Darwine for the pi be reasonable?
What windows programs are you interested in running in 128MB or 256MB of RAM? (Actually even less than that once you account for the overhead of the Darwine or other emulation overhead.)

And when you (or the Darwine folk) say \"without emulation\" it is somewhat disingenuous. They may not be emulating PC hardware, but obviously the PPC will not execute x86 instructions and the PPC platform and Darwine is not Windows therefore emulation is happening. They probably claim they are doing \"translation\" or something like that, but translation is merely one approach to emulation. In all actuality they are emulating an x86 windows environment, also known as providing a virtual windows environment, for the windows application. (Not a \"virtualized\" but a \"virtual\" environment. And not providing a virtual machine to run windows, but an emulated or virtual windows environment for a windows application.) Now if they have something that can process that windows application and give me a binary that I can run in the future without Darwine, and is not just bundling Darwine into the application, then I\'ll have to reevaluate.

As for running Darwine on the R-Pi, most likely it would need a complete reimplementation and I don\'t see that happening. Darwine received its death blow when desktop PPC systems were eclipsed in compute power by x86 and has had no reason to progress since Apple switched to x86.

If you did manage to get Darwine or something like it working on the R-Pi, you would be talking about the capability to run Windows software commensurate with performance circa 1998 to maybe 2002 IF YOU ARE LUCKY.

Why?

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

Re: Windows on R-Pi

Thu Dec 08, 2011 7:17 pm

Hrm. As if a 1998 computer couldn\'t run anything useful?

There are plenty of applications that people typically emulate with wine that aren\'t very big and would easily run on a 400mhz PII (my computer circa 1998)
  • Word/Excel
  • Foobar2000
  • mIRC
  • uTorrent
Now, I doubt it\'s worth it... but saying that the ability to run everything a 400Mhz PII computer wouldn\'t be useful is sort of ignorant.

nichobb
Posts: 82
Joined: Sat Nov 19, 2011 10:34 am

Re: Windows on R-Pi

Thu Dec 08, 2011 7:49 pm

Ignoring the will it won\'t it run, I think there is an argument for having some form of Windows on a future R-pi or on this one.

People may be critical of MS and it\'s obvious that MS want kids only using their stuff to help monopolise the market in future.
However, in the UK educational institutions are so short of cash, an offer of virtually free site licences for all MS software with the array of technical references, books and resources online, coupled with the fact there is a jobs market make it tempting. The last point is teachers need to teach this and many will be exposed only to MS and be comfortable with this environment. I\'m not saying this is ideal but is why.

I was impressed to see teaching material is being developed (create lesson plans and I\'m sure you\'ll have a number of takers) and hope this would help allow other languages to be developed.

kiaas
Posts: 18
Joined: Mon Nov 21, 2011 12:03 pm

Re: Windows on R-Pi

Thu Dec 08, 2011 7:49 pm

Quote from nullstring on December 8, 2011, 19:17
Hrm. As if a 1998 computer couldn\'t run anything useful?

There are plenty of applications that people typically emulate with wine that aren\'t very big and would easily run on a 400mhz PII (my computer circa 1998)
  • Word/Excel
  • Foobar2000
  • mIRC
  • uTorrent
Now, I doubt it\'s worth it... but saying that the ability to run everything a 400Mhz PII computer wouldn\'t be useful is sort of ignorant.
I imagine a 400mhz Pentium2 would do well in competition against the R.pi, if not beat it, and darwine was using qemu for x86-on-ppc last I checked, so I think it\'d be more appropriate to compare it to a Pentium MMX, in ability to run x86 software. A lot of software will run on that, but.. not much that\'s still useful that doesn\'t have a completely better alternative that can be compiled to run natively on ARM.

sharparrow
Posts: 2
Joined: Tue Dec 06, 2011 9:32 pm
Contact: Website

Re: Windows on R-Pi

Thu Dec 08, 2011 8:01 pm

If you haven\'t heard of Linux you are an idot!

sylvan
Posts: 118
Joined: Sun Nov 27, 2011 8:39 pm

Re: Windows on R-Pi

Thu Dec 08, 2011 8:01 pm

Quote from tufty on December 8, 2011, 18:56
BTW, you might want to look into the AMBA docs for an idea of how standardised hardware is on the ARM side.
BTDT. AMBA is a suggestion, primarily focused on interfaces between hardware components in a SoC not software interfaces to hardware for a standard platform, and in my experience very little hardware actually complies.

You might want to look how much code is in linux to support a handful of ARM platforms compared to the entire world of x86. A hint: it takes an order of magnitude more code to support a minute fraction of the ARM universe because ARM is not standard.

Task: write a bring up test for a generic, hitherto and as yet unseen and unknown standard ARM platform, where your binary will be programmed into a memory device such that it will be the first thing executed on the processor at power up, you\'ll have sufficient (32k? 64k?) code space around that start vector, at least 4 kbytes of RAM, and all your code has to do is initialize the first serial port to 38,400-n-8-1 and send \"hello world\\n\" out that port until receiving a newline in that port, then provide a simple memory debugger (ala DOS debug).

Do you have enough information to write a single binary for a new, hitherto unknown ARM platform? For what address will you assemble your code? Is an ARM 5 target sufficient, even if the platform is the new ARM 64 bit? Where and how do you initialize and use the first serial port? Do you expect the same binary will work on the BCM2835 and previous generation Broadcom app processors with the ARM core subservient to the GPU or will you need to impose requirements on the GPU or find out what the GPU requires of you? What if you are asked to utilize a USB keyboard if one is attached at boot?

If the task is x86 instead of ARM, no further information is needed. Everything else is well known standard. it will run on an IBM 8088 from 1981, or an AMD 386 from 1991 or a Tyan AMD Opteron G34 or a Asus Core i7 from 2011 and the x86 and x86/64 universe in between and on an Intel Ivy Bridge motherboard due out in 2012. It\'s even possible to add usb keyboard support in a generic fashion for systems from the late-1990\'s thru current.

x86 is standard. nothing else has ever or yet comes close.

sylvan
Posts: 118
Joined: Sun Nov 27, 2011 8:39 pm

Re: Windows on R-Pi

Thu Dec 08, 2011 8:12 pm

Quote from nullstring on December 8, 2011, 19:17
Hrm. As if a 1998 computer couldn\'t run anything useful?

There are plenty of applications that people typically emulate with wine that aren\'t very big and would easily run on a 400mhz PII (my computer circa 1998)
  • Word/Excel
  • Foobar2000
  • mIRC
  • uTorrent
Now, I doubt it\'s worth it... but saying that the ability to run everything a 400Mhz PII computer wouldn\'t be useful is sort of ignorant.
I don\'t recall anyone saying it wouldn\'t be useful. But now that you mention it, I can get equivalent and better functionality and performance using modern software without the emulation layers, so of what use is trying to run ancient windows software?

sylvan
Posts: 118
Joined: Sun Nov 27, 2011 8:39 pm

Re: Windows on R-Pi

Thu Dec 08, 2011 8:21 pm

Quote from nichobb on December 8, 2011, 19:49
Ignoring the will it won\'t it run, I think there is an argument for having some form of Windows on a future R-pi or on this one.

People may be critical of MS and it\'s obvious that MS want kids only using their stuff to help monopolise the market in future.
However, in the UK educational institutions are so short of cash, an offer of virtually free site licences for all MS software with the array of technical references, books and resources online, coupled with the fact there is a jobs market make it tempting. The last point is teachers need to teach this and many will be exposed only to MS and be comfortable with this environment. I\'m not saying this is ideal but is why.
If a school has (or can get a grant for) Windows equipment, the R-Pi can act as additional equipment to broaden and give additional opportunity.

If a school has no Windows equipment, I don\'t think the R-Pi should become Windows equipment. Surely if a school has no Windows equipment then the local demand for Windows skills is also slim or non-existent.

Rather than waste time and effort to provide a poor or obsolete windows experience on the R-Pi, I\'d rather the R-Pi stick with free software, free technical references, free books and resources online, and leave the windows stuff to platforms where it will give the best impression possible.

Programming skills learned on the R-Pi, along with the ability to learn and know that one can learn, will allow one to learn Windows skills alongside the R-Pi skills, or at a later date if/when equipment is available.

Return to “General discussion”