[GUIDE]Definitive guide to Windows 8 on ARM - Windows RT Development and Hacking

Collating known facts and informed opinion
There is no public pre-release of Win8 on ARM yet (and it might only ever be OEM only)
Should be a Windows 8 beta in February 2012? , but still might not be a public ARM beta
Win8 on ARM will need to be customised extensively by the OEM for their particular hardware
as it is NOT a general purpose system covering all standard components like Windows or Linux on x86 PC’s is
Needs ARM v7 cpu (but all modern tablets have a their cpu / SOC based on ARM v7)
Needs a UEFI firmware/‘bios’
and no existing Android/Thinkpad systems out there have this
http://news.softpedia.com/news/Wind...m-the-Maker-of-Instant-Boot-BIOS-205487.shtml
Will have a secure bootloader on ARM (but not on x86/x64)
http://arstechnica.com/microsoft/ne...ing-or-the-end-of-the-world-as-we-know-it.ars
Win8 tablet spec
http://www.tomshardware.com/news/Windows-8-Microsoft-Tablet-x86-ARM,14504.html
?MB RAM, 10GB storage, 1366x768 screen
Some ARM related information mentioned on http://en.wikipedia.org/wiki/Windows_8
There will be an Embedded Windows version of Win8 on ARM
http://www.windowsfordevices.com/c/a/News/Microsoft-promises-embedded-versions-of-Windows-8/
Running x86 apps on Windows ARM – not possible or v unlikely. Microsoft have not definitely confirmed that there wont be any x86 emulator, but unlikely in the limited space available
Maybe we will see a 3rd party Virtual Box or Boschs or similar to emulate x86 and some intercept dll’s to thunk the api calls to the relevant native ARM windows dll’s))
Will it run WP7 apps ? (Silverlight / processor neutral apps) – unknown, but should be easy to port
http://news.softpedia.com/news/Port-Windows-Phone-Apps-to-Windows-8-232615.shtml
There is a rumour of some internal HP testing of Win8 on Thinkpad
http://www.foxnews.com/scitech/2011/10/24/hp-testing-windows-8-on-touchpads/

The only (prototype) Windows 8 ARM tablet device seen to date, is the Qualcom one
http://www.qualcomm.com/media/relea...on-windows-8-based-prototype-pcs-previewed-mi
http://www.pcmag.com/article2/0,2817,2392930,00.asp
http://www.youtube.com/watch?v=BblNpUEp6N8
[This info copied from tbaker077's post in the HP Touchpad section, as it saved me having to look it up]
And Nvidia Tegra 3, TI OMAP4430 one
http://www.netbooknews.com/27326/nv...gon-powered-tablets-laptop-running-windows-8/
http://www.youtube.com/watch?v=kElw2byX9EE&feature=relmfu
Both video clips from the recent Microsoft Windows 8 Build conference

Next version of Windows Phone (WP8) to be based on Windows 8
(presumably Windows8 onARM)
http://arstechnica.com/microsoft/ne...s-8-kernel-and-integration-multiple-cores.ars

Windows 8 on ARM should go to [OEM] developers in February
http://news.cnet.com/8301-13924_3-5...to-developers-soon-say-sources/?tag=txt;title

Here's the latest definitive info from Microsoft
Its a very long and detailed Building Windows 8 blog posting
http://blogs.msdn.com/b/b8/archive/...ndows-for-the-arm-processor-architecture.aspx

A good write up of the latest news
http://www.zdnet.com/blog/hardware/...-on-arm-and-why-apple-should-be-worried/18071

Widows 8 Consumer Preview available today (Client and Server versions)
But Intel only
No ARM version other than via OEM's / 'testers'
Latest news on http://www.zdnet.com/blog/microsoft/its-windows-8-download-day-heres-what-we-know/12058
And no Domain or Enterprise management features on Windows on ARM !
http://arstechnica.com/microsoft/ne...-will-lack-enterprise-management-features.ars

xsoliman3 said:
And no Domain or Enterprise management features on Windows on ARM !
http://arstechnica.com/microsoft/ne...-will-lack-enterprise-management-features.ars
Click to expand...
Click to collapse
I see why MS would have decided to do this, ie split home and business tablets in to ARM and x86, and to be honest i think for the most part it would go that way anyway, but actively NOT putting one of the best features in windows on to a device is only going to reduce your customer base an i gt the feeling they are going to need all the support they can get on this one
The concept of what they are doing here is great but the implementation of it is quite frankly, terrible! but we shall just have to wait and see, nothing is set in stone yet

Microsoft Confirms Lockdown of ARM Devices Running Windows 8
http://www.xda-developers.com/feature/microsoft-confirms-lockdown-of-arm-devices-running-windows-8/

Windows RT
The official name of Windows on ARM is now announced as Windows RT
http://windowsteamblog.com/windows/.../04/16/announcing-the-windows-8-editions.aspx
Lots of disussion there about the naming

RT is OEM only, confirmed

More on managing WOA (Windows RT) in a corporate environment, even though it can't be domain joined
http://blogs.msdn.com/b/b8/archive/...quot-pcs-in-the-enterprise-including-woa.aspx

xsoliman3 said:
More on managing WOA (Windows RT) in a corporate environment, even though it can't be domain joined
http://blogs.msdn.com/b/b8/archive/...quot-pcs-in-the-enterprise-including-woa.aspx
Click to expand...
Click to collapse
I have to say im starting to understand the ARM development a bit more after reading that.
I still think x86 is the way to go for a fully functional tablet (at least for me) but if the price is right on these arm units then I think there will be some serious thought going in to buying them

dazza9075 said:
I have to say im starting to understand the ARM development a bit more after reading that.
I still think x86 is the way to go for a fully functional tablet (at least for me) but if the price is right on these arm units then I think there will be some serious thought going in to buying them
Click to expand...
Click to collapse
x86 models would def go for a higher price because you would be able to run all Windows 8 Desktop software unlike on WinRT.
The main difference will be battery life and processing juice.
Anyways, I think Microsoft should give less options for the Windows 8 tablets and provide more support for the hardware.

xsoliman3 said:
Running x86 apps on Windows ARM – not possible or v unlikely. Microsoft have not definitely confirmed that there wont be any x86 emulator, but unlikely in the limited space available
Maybe we will see a 3rd party Virtual Box or Boschs or similar to emulate x86 and some intercept dll’s to thunk the api calls to the relevant native ARM windows dll’s))
Click to expand...
Click to collapse
Not gonna happen. x86 is complex instruction set, ARM is reduced instruction set. Emulating ARM on x86 can be done with somewhat reasonable speed if you have a fast processor, but x86 on ARM is probably going to be ridiculously slow. ARM is more efficient, so clock for clock you get better speed with lower power requirements, but emulating CISC from RISC is ****ty.
As far as WINE style API hook intercepting, that is a real crapshoot because many apps do have some bits of assembly in there.
xsoliman3 said:
Will it run WP7 apps ? (Silverlight / processor neutral apps) – unknown, but should be easy to port
http://news.softpedia.com/news/Port-Windows-Phone-Apps-to-Windows-8-232615.shtml
Click to expand...
Click to collapse
Anything that runs on the .Net platform should work in win8 ARM assuming that windows 8 includes the .net framework.
dazza9075 said:
I have to say im starting to understand the ARM development a bit more after reading that.
I still think x86 is the way to go for a fully functional tablet (at least for me) but if the price is right on these arm units then I think there will be some serious thought going in to buying them
Click to expand...
Click to collapse
I disagree, ARM is far more practical for mobile applications due to it's massive energy efficiency advantage over x86.
Besides, as of yet there are no x86 based SoC's, it's all separate IC's, which reduces the energy efficiency even further. Intel has Medfield coming up, but I wouldn't count on that including a decent GPU.

Rakeesh_j said:
Anything that runs on the .Net platform should work in win8 ARM assuming that windows 8 includes the .net framework.
Click to expand...
Click to collapse
Windows Phone uses the .Net Compact Framework, special version of the Silverlight, XNA and some phone-specific assemblies. It won't start on the desktop .Net, because it uses a different set of the assemblies, not saying that it uses a different CLR (especially the garbage collector).
But microsoft can write a special "layer" which will allow to run WP7 apps, but why is it needed? There is lots of crap in the marketplace.

Rakeesh_j said:
Anything that runs on the .Net platform should work in win8 ARM assuming that windows 8 includes the .net framework.
Click to expand...
Click to collapse
You can write applications in .NET for WinRT, but they don't actually run in the CLR as we think of it today.
Best way to explain is to look at the linked image.
http://i.zdnet.com/blogs/davidburela.png
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Think of the Green as what works on WinRT that you can purchase and install. (Things in blue on WinRT, cannot be sideloaded since you can only install from the store which sells Metro apps).
What is happening is the application you write in .NET, instead of going to IL to be run in a .NET CLR, is being sent to WinRT for execution.
Better explanation here:
http://csharperimage.jeremylikness.com/2012/03/net-and-metro-windows-runtime-and-clr.html
Would it be possible for a light CLR to be written in ARM for .NET apps to execute against, probably. But at this time, your .NET appears to be executed by WinRT. This means you get a subset of .NET that can execute on Windows 8 ARM as a METRO app being interpreted by WINRT.

No sideloading of arm desktop apps
Just to re-iterate a point from the above post
As per the recent complaints by firefox etc, even if you build a standard aka desktop app and compile for ARM, you will not be able to deploy it as not signed
(and no side loading of desktop apps)
Might? be able to pursuade the Microsoft store to host it, as they will host deskop apps for Windows8, but not sure if they will allow desktop apps for WIndows 8 on ARM (Windows RT)
ALso unclear if ENterprise customers can have their own private app store for their corporate apps
Side loading of Metro apps on Windows RT is also unclear
Can get them from the store (signed) but again doesnt seem to be able to side load them ?
to be confirmed

Windows 8 diet exposes Microsoft's weak ARM
Windows 8 diet exposes Microsoft's weak ARM
http://www.theregister.co.uk/2012/04/17/windows_8_package_confusion/
Good article comparing WIndows8 on x86/x64 to Windows RT on ARM
and the enevitable confusion

xsoliman3 said:
Just to re-iterate a point from the above post
Also unclear if ENterprise customers can have their own private app store for their corporate apps
Side loading of Metro apps on Windows RT is also unclear
Can get them from the store (signed) but again doesnt seem to be able to side load them ?
to be confirmed
Click to expand...
Click to collapse
These questions are answered here:
http://blogs.msdn.com/b/windowsstor...deploying-metro-style-apps-to-businesses.aspx
To Sideload:
You need to sign an application with a cert the machine trusts. (Can be your own cert, if you add it to cert store.)
Set 'Allow all trusted apps to install' in group policy or registry
Then either use a machine that is domain joined, or activate a special product key by using a script on the target machine to enable sideloading.
This will allow you to install via a variety of methods listed in the article.
While no 'private app store' has been listed, creating your own, would just be a quick website, that drops install requests in a queue, that are then executed by sccm or another deployment agent. On x86, you could create a background process to do it if you don't have a domain and a deployment agent.

Related

[Q] what is ARM based and Intel Based Tablets

to whom is knowledgable and also like to explain like Ted mozbi in How I met Your Mother show.... please what is the defernce between ARM based tablet and Intel based tablet???? what concerns me the most is it like I can install exe. file on the intel while I can't in the ARM !?
The major difference between the two is that they typically refer to the the architecture of the cpu. This means how it was designed and how machine instructions are interpreted by cpu.
The answer is yes and no for whether you can install exe's. Yes, they will both be able to install different programs and applications. However, the application or program in question will have to be compiled for that architecture. I haven't done any windows mobile development but my guess is that most if not all apps you can download from the market place will be available for both architectures.
Hopefully that can clear things up a bit.
Wow fastest replay ever seen thanks a milion,,, it did clear out the picture clearer then before ...
To add a little more to the above, Windows on ARM (WoA) will only be able to run Metro style apps, specifically written for Windows 8. I also think that it will only be able to get these apps through the Windows Marketplace. I'm sure there'll be a jailbreak before it's even released, but I think this will still only allow metro style apps written for Windows 8, it'll just allow for them to be installed from other sources. Jailbreaking may also allow non-metro desktop style apps, it's too early to tell, but these will still have to be specially written for WoA.
Windows 8 on Intel chips will be able to run all legacy apps (which will now be called desktop mode apps to differentiate them from Metro apps), from any and all sources, just like your normal Windows PC can now. It will also be able to run Metro apps from the marketplace, and presumably from any other source as well.
See also http://forum.xda-developers.com/showthread.php?t=1466400
for the Definitive guide to Windows on ARM
stevenmu said:
To add a little more to the above, Windows on ARM (WoA) will only be able to run Metro style apps, specifically written for Windows 8. I also think that it will only be able to get these apps through the Windows Marketplace.
Click to expand...
Click to collapse
To add on, Windows on ARM is called Windows RT. Metro Style Apps is able to cross-platform on the x86, x64 and also ARM while Desktop Apps are able to run on x86 and x64. However, preinstalled Desktop Apps such as Office 15 (Microsoft Word, Excel, Powerpoint, OneNote, etc.) will be able to run on the ARM version.

x86/64 bit emulator for ARM Processor

So I was wondering if its possible for someone to create or start developing an application that can emulator x86/64 code on an arm architecture?
What x86 code, exactly, do you mean? Do you mean running native x86 code directly or do you mean taking Java or .NET code and running it?
Ultimately, pretty much *anything* is possible to emulate. However, emulating it in a way that it can run in a reasonable amount of time is unlikely to happen. There are just so many things that are limited in the RT version of the .NET Framework.
ok, im not exactly best qualified for this but ill try and explain
in short, no, you could potentially make an emulator for a given program, but to make some be all end all x86 emulator to cover everything would be massively inefficient and probably not possible
you primary obstacle is that RT uses managed code, that means MS tells you want you can and cant do, it gives you the frame work if you like and you can build what you want within that frame work but step outside it and do your own thing isn't possible (yet)
once you got over that barrier, next up would be to port every single function and call sent to the CPU to an ARM equivalent, ARM is like a tadpole compared to Blue Whale of X86 so it wont do everything on chip meaning youd need to also convert it in software to something it can do
It would be like trying to blow a golf ball through a garden hose
however, small limited programs that don't rely on many hardware functions and with limited calls outside of its own program would potentially be possible to emulate assuming you can get native code to work anyway
Surface RT - Paperweight
Surface Pro - Glorified Tablet/Notebook
Just go with the Pro, it will make life much easier. The whole emulator debacle isn't even necessary if you just go with the logical choice.
I mean the Tegra 3 is awful as an SoC--I don't know what moron said Quad A9's are better than A15's, not to mention the GPU is junk compared to an SGX.
Overall Micro$oft shot themselves in the foot.
qhdevon43 said:
So I was wondering if its possible for someone to create or start developing an application that can emulator x86/64 code on an arm architecture?
Click to expand...
Click to collapse
Actually Visual Studio 2012 could technically support building desktop applications to run on Surface RT and other RT (ARM) tablets. However, at this time, Microsoft is also allowing Microsoft signed applications. And, I heard that if you disabled that check in the registry, then you get blocked by RT. It is definitely possible that in the future, Microsoft might allow desktop applications to be recompiled for RT.
In the meantime, Remote Desktop is wonder in that I can connect to my Windows 8 laptop and use it to run any application with almost full touchscreen functionality. So, combining a Surface RT and a Windows 8 computer is ideal for me.
wrexus said:
Actually Visual Studio 2012 could technically support building desktop applications to run on Surface RT and other RT (ARM) tablets. However, at this time, Microsoft is also allowing Microsoft signed applications. And, I heard that if you disabled that check in the registry, then you get blocked by RT.
Click to expand...
Click to collapse
Add it stands, you can't even really disable UAC without breaking Metro in full Windows 8 (the UI setting to disable it doesn't really disable it). They have that thing locked down pretty well!
You can enable test-sign mode on RT, this would allow you to run your own ARM desktop apps, signed by your own cert, not with MS one. This is absolutely legal, but it can be closed by MS in some of the new hotfixes (and they'll definitely will, when this mode would be used to run cracked apps).
It is really possible to make a working x86 CPU emulator that would allow you to run x86 windows programs on RT. Just remember my port of "heroes of might and magic" 1 and 2 for Windows Mobile - it was more difficult to make it, as WM had a more limited Win32 API than Windows RT has.
I'll make a nearly universal emulator for RT when I'll buy a device, project is already started and has good results. But I'm waiting for a device that is based on quad-core Snapdragon S4. I would not recommend buying Tegra devices, 4-core Krait beats them in CPU and 3D speed. And high CPU speed would be necessary for smooth x86 emulation.
Quad A9's are better than A15. If you wasnt too busy kissing jobs ass, you would know this. Tegra line is alot better that any apple "cpu"
Ace42 said:
Surface RT - Paperweight
Surface Pro - Glorified Tablet/Notebook
Just go with the Pro, it will make life much easier. The whole emulator debacle isn't even necessary if you just go with the logical choice.
I mean the Tegra 3 is awful as an SoC--I don't know what moron said Quad A9's are better than A15's, not to mention the GPU is junk compared to an SGX.
Overall Micro$oft shot themselves in the foot.
Click to expand...
Click to collapse
@Jaxidian: Disabling UAC disables Mandatory integrity Controls, which is how the sandboxes for both IE and Metro-style apps are implemented. Metro-style apps check, when they are launched, if they are running in such a sandbox, and exit if they aren't.
Disabling UAC is, and always was, a terrible, idiotic thing to do, and I truly don't know why MS made it an available behavior. Just set it to auto-elevate without UI instead, if you really can't stand having proper principle of least privilege in your OS. This is a little more complex (you have to use the Local Security Policy editor, which can be launched by typing "secpol.msc" into Run or by going into the Administrative Tools) but is a much better solution as things which explicitly want to be run with limited permissions (sandboxing) still can be.
@dazza9075: Dosbox is an x86 emulator that is already available on other ARM platforms. It just doesn't support the (many) x86 opcodes that have been added since the 386. It certainly can't do 64-bit. However, it's fine for running old DOS programs, including games. Somebody should port it to the Windows Store if possible, or at least see about making a homebrew build of it that we can run on RT devices. This is totally not my area of expertise or I'd do it myself.
A full x86 emulator, like Microsoft's old Virtual PC for Mac (except running on ARM instead of PPC), is technically possible. It's just hard. It sounds like some people are already working on this, though.
Regarding publishing DosBox, Bochs, Qemu, ScummVM and other emulators to Windows Store - they would be unable to pass the certification. Read the requirements here http://msdn.microsoft.com/en-us/library/windows/apps/hh694083.aspx
3.9 All app logic must originate from, and reside in, your app package
Click to expand...
Click to collapse
For emulators - app logic resides in an emulated program that is typically not present in app package.
By the way, Microsoft Internet Explorer can't pass this check too - as it downloads and executes flash from web. But MS is already known for its double-standards.
The other reason why those apps may be refused:
3.5 Your app must fully support touch input, and fully support keyboard and mouse input
Click to expand...
Click to collapse
Old programs (games at least) may be unusable without keyboard or mouse. My own program was refused for this reason, because it is unusable without hardware keyboard.
It is possible (and really easy) to port Bochs or DosBox for RT as a "desktop" application (making a "metro" port would be a bit more difficult). I can do that myself when I'll get hands on a Krait-based quad-core RT device, if someone would not port them earlier.
Regarding Tegra 3 vs Krait - Krait is not directly based on A9 nor on A15.
mamaich said:
You can enable test-sign mode on RT, this would allow you to run your own ARM desktop apps, signed by your own cert, not with MS one. This is absolutely legal, but it can be closed by MS in some of the new hotfixes (and they'll definitely will, when this mode would be used to run cracked apps).
It is really possible to make a working x86 CPU emulator that would allow you to run x86 windows programs on RT. Just remember my port of "heroes of might and magic" 1 and 2 for Windows Mobile - it was more difficult to make it, as WM had a more limited Win32 API than Windows RT has.
I'll make a nearly universal emulator for RT when I'll buy a device, project is already started and has good results. But I'm waiting for a device that is based on quad-core Snapdragon S4. I would not recommend buying Tegra devices, 4-core Krait beats them in CPU and 3D speed. And high CPU speed would be necessary for smooth x86 emulation.
Click to expand...
Click to collapse
mamaich said:
Regarding publishing DosBox, Bochs, Qemu, ScummVM and other emulators to Windows Store - they would be unable to pass the certification. Read the requirements here http://msdn.microsoft.com/en-us/library/windows/apps/hh694083.aspx
For emulators - app logic resides in an emulated program that is typically not present in app package.
By the way, Microsoft Internet Explorer can't pass this check too - as it downloads and executes flash from web. But MS is already known for its double-standards.
The other reason why those apps may be refused:
Old programs (games at least) may be unusable without keyboard or mouse. My own program was refused for this reason, because it is unusable without hardware keyboard.
It is possible (and really easy) to port Bochs or DosBox for RT as a "desktop" application (making a "metro" port would be a bit more difficult). I can do that myself when I'll get hands on a Krait-based quad-core RT device, if someone would not port them earlier.
Regarding Tegra 3 vs Krait - Krait is not directly based on A9 nor on A15.
Click to expand...
Click to collapse
But its only a matter of time before we figure out a way to sideload metro apps without going through the store.

BlueStacks App player

Hi everyone.
Could anybody compile BlueStacks App Player for Windows RT?
It would be great to use this app on our tablet with Win RT
I use on my laptop (win7) and wish o use on my Surface RT
Official site
Thanx a lot
It would be a great app to have, but seeing that it's not open-source there is about zero chance of it ever getting ported by the community.
Your best bet is to just hope that they (the actual makers of the app) decide to bring it over to RT, which is possible but unlikely.
Search next time; the devs here are up to their ears in requests for closed-source applications and are pretty fed up with it. Sorry.
They've actually already stated that it's coming...
Not explicitly. They hinted at it in a Help forum post, but never confirmed or denied it. And that was months ago.
jtg007 said:
Not explicitly. They hinted at it in a Help forum post, but never confirmed or denied it. And that was months ago.
Click to expand...
Click to collapse
Actually they had listed on their site that they were working on an ARM version.but not sure if they still are. Seems unlikely MS would allow it in the store due to direct competition with the windows store.
guitar1969 said:
Actually they had listed on their site that they were working on an ARM version.but not sure if they still are. Seems unlikely MS would allow it in the store due to direct competition with the windows store.
Click to expand...
Click to collapse
MS doesn't have a whole lot of control of things outside the Store. They could side-load an app pretty easily.
The vast majority of RT devices aren't "jailbroken" for sideloading arbitrary ARM binaries. Also, remember that RT doesn't (currently) support OpenGL, which means any Android apps/games that use advanced graphics won't work unless BlueStacks write and include an openGL-via-DirectX compatibility layer.
GoodDayToDie said:
The vast majority of RT devices aren't "jailbroken" for sideloading arbitrary ARM binaries. Also, remember that RT doesn't (currently) support OpenGL, which means any Android apps/games that use advanced graphics won't work unless BlueStacks write and include an openGL-via-DirectX compatibility layer.
Click to expand...
Click to collapse
I meant side-loading a Metro app, which can be done by just about everybody.
Cant sideload metro apps without a developers certificate
Derp. Yes, of course sideloading is the obvious way to go about it. Getting the dev license is easy, and yeah BS would have to sign their app, but that's not exactly difficult and their cert doesn't have to be signed by anybody else; it just requires that the end user install the cert before the app if it doesn't already chain to a trusted authority. The appx installer script automates all of that, though.
That said, the OpenGL issue is still there. Don't count on 3D games, at a minimum, working.
Don't forget however, that all of this is pretty much irrelevant right now. The Surface lacks the power to run Bluestacks. On my 6-core 2.3 ghz 6 gigs of ram computer with a great graphics unit, Bluestacks is still relatively slow. Just imagine it on the quad-core 1.4 with 2 gigs of ram that the Surface has. Not to mention it's on ARM, which is considerably less powerful than x86 or x64.
C-Lang said:
Don't forget however, that all of this is pretty much irrelevant right now. The Surface lacks the power to run Bluestacks. On my 6-core 2.3 ghz 6 gigs of ram computer with a great graphics unit, Bluestacks is still relatively slow. Just imagine it on the quad-core 1.4 with 2 gigs of ram that the Surface has. Not to mention it's on ARM, which is considerably less powerful than x86 or x64.
Click to expand...
Click to collapse
I dont think bluestacks is a multithreaded application in which case your 6 cores would be irrelevant and it would be purely down to your 2.3ghz clockspeed, which is not high at all. 6gb of RAM would also be irrelevant as no android app requires that much RAM so it simply wont be needed. GPU, not so sure what happens there, most of the apps I try running dont seem to enable my GPU at all so I am not sure if bluestacks is using software or hardware OpenGL, but then I havent tried any 3d games or anything. It runs ok on my 3.5ghz AMD athlon 2 but its not always as perfect as lets say a nexus 7 tablet running android natively.
I'm admittedly not 100% sure on how BlueStacks works (is it a native x86 DalvikVM, or is it emulating a full ARM system?), but it should be, at least in theory, possible to get it to run as naively as it does on Android by just porting the DalvikVM to Windows RT. That should result in speeds at least similar to a lower end Android tablet (Windows is bigger and has more cruft than the linux kernel that's running the DVM). With some sort of reverse WINE scenario it should also be possible to get a degree of binary compatibility for native libraries/addons.
SixSixSevenSeven said:
I dont think bluestacks is a multithreaded application in which case your 6 cores would be irrelevant and it would be purely down to your 2.3ghz clockspeed, which is not high at all. 6gb of RAM would also be irrelevant as no android app requires that much RAM so it simply wont be needed. GPU, not so sure what happens there, most of the apps I try running dont seem to enable my GPU at all so I am not sure if bluestacks is using software or hardware OpenGL, but then I havent tried any 3d games or anything. It runs ok on my 3.5ghz AMD athlon 2 but its not always as perfect as lets say a nexus 7 tablet running android natively.
Click to expand...
Click to collapse
Sort of, yes. But still, that means the Surface would be way less powerful. Also, my RAM is EATEN by Bluestacks because it's not apps that are the problem to run, it's Android. You're basically loading an entire virtual machine onto your RAM to run, in a program shell, then running Android apps on top of that. So the power of the device does matter... however:
netham45 said:
I'm admittedly not 100% sure on how BlueStacks works (is it a native x86 DalvikVM, or is it emulating a full ARM system?), but it should be, at least in theory, possible to get it to run as naively as it does on Android by just porting the DalvikVM to Windows RT. That should result in speeds at least similar to a lower end Android tablet (Windows is bigger and has more cruft than the linux kernel that's running the DVM). With some sort of reverse WINE scenario it should also be possible to get a degree of binary compatibility for native libraries/addons.
Click to expand...
Click to collapse
Bluestacks would have to run a full emulation of ARM in order to run all apps, right? Because when you install native x86 Android, it runs very few apps from the store, because they aren't compiled for ARM.
Netham45 could be right though that we could kind of make Android run natively, though I'm highly dubious about it happening through Bluestacks. Bluestacks most likely won't make an ARM port (especially cause I doubt Microsoft would allow it in the store) and if we did have access to source code, it's still built around running on Intel processors, and would probably have to go through all sorts of unnatural emulation... So making a totally separate Android program from scratch (which would require inordinate amounts of work) would probably be the best bet.
No. I think bluestacks is actually "just" a port of the dalvik VM to run on windows.
Android apps are not compiled for a specific CPU type. They are compiled for the dalvik virtual machine which is in a way similar to the java virtual machine, in fact a dalvik applications source code is java source code hense why many people say android apps are java, in reality the dalvik VM is very different from the java VM and the 2 are not compatible.
The vast majority of apps do actually work on x86 just fine.
The main problem is that google restricts apps based on your device and often it doesn't recognise x86 devices so doesn't show results, the default app manifest files don't actually restrict platform but many devs set them to arm for some reason. With various tools to spoof what device you appear as you can still gain access to thses other apps.
The problem apps are those that use the NDK (a small minority). NDK apps do have native code, but not just for ARM. The NDK default settings are to generate binaries for ARMv7, but it can be set to x86, ARMv6, MIPS or to compile multiple binaries for a mixture of the above (causes its own issue as it includes the binaries for all platforms in one APK which loads the relevant binary at runtime, good for compatibility as one APK covers all devices but makes the final APK massive). x86 devices of course cannot run ARM compiled apps which does include a few big name apps.
I don't know if bluestacks has left it as pure dalvik VM on x86 or if it does include an ARM emulator for the NDK but it certainly isn't just running an ARM emulator and tyen android atop of it.
I don't experience the ram eating effects you mention either.
SixSixSevenSeven said:
No. I think bluestacks is actually "just" a port of the dalvik VM to run on windows.
Click to expand...
Click to collapse
That's exactly what my understanding was as well, although what I'm about to say somewhat contradicts that.
Interestingly, http://www.bluestacks.com/technology.html says that BlueStacks is "fully configurable" and that it "supports" Windows on ARM as well as x86 Chrome, even though neither of those are actually available today. So, not sure if that page is before or ahead of its time.
"BlueStacks employs a lightweight, optimized, soft hypervisor with deep enhancements to support "embedded virtualization". End consumers can enjoy the full Android environment through BlueStacks, or just install Android app icons directly on the Windows desktop."
What the page basically says is that the core virtualization that BS uses is very easily configurable to different combinations or permutations of OSs; that the technology can just as easily run Windows on Android or Android on Chrome as it can Android on Windows, which is the only current release. It also implies that BS can do BOTH a mere dalvik vm (just install apps to the Desktop) as well as a complete system emulation (full Android experience).
There may be hope for RT yet.
As far as I remember, Bluestacks is using QEMU as there base platform. So it's probably still running ARM code in emulator.
I am looking at if we can port the Dalvik VM over to Windows RT. Anybody want to join the explorations?
So far I can see the Dalvik VM has lots of generated ARM assembly code and have huge dependencies on linux.
Porting would need quite a bit of effort.
Developers from Windroy has done it for the Windows X86 platform. If they can do it for Windows RT, it'll be much easier.

Is there anyone knows how to do jailbreak and use desktop apps on windows RT 8.1?

Is there anyone knows how to do jailbreak and use desktop apps on windows RT 8.1?
No. Windows desktop applications are compiled for x86 architecture. Windows RT runs on ARM.
@jeddx21: There is not a jailbreak publicly available for Windows RT 8.1 yet.
Will there be? I've seen indication that progress has been made on that front, but it's been sparse lately. It's something that's been wanted for a while (do a search - you'll find all sorts of threads and comments about an RT 8.1 jailbreak), but it's not yet available.
@Banderburg: Desktop applications are simply Windows applications compiled for the desktop environment, not the Metro / Modern / whatever-Microsoft-is-calling-it-these-days environment. They can and do exist for Windows RT - a primary example of this is Microsoft Office; others include all of the applications that are available to run under a jailbroken RT 8.0 system, such as those in this thread.
So what should i do? should i downgrade it from 8.1 to 8 so i can use jailbreak?
Hey
That depends on your device. If it's a device that shipped with RT 8.0 when released (the original Surface RT and the Asus VivoTab RT, for example), the instructions are available elsewhere in the forum (use the search function).
If it was one that came only with RT 8.1, then there really isn't much that can be done to downgrade your device - missing drivers, signatures that are unrecognized by the device firmware, etc.
irony_delerium said:
@Banderburg: Desktop applications are simply Windows applications compiled for the desktop environment, not the Metro / Modern / whatever-Microsoft-is-calling-it-these-days environment. They can and do exist for Windows RT - a primary example of this is Microsoft Office; others include all of the applications that are available to run under a jailbroken RT 8.0 system, such as those in this thread.
Click to expand...
Click to collapse
[MENTION]@irony_delerium[/MENTION] I'm sorry - what? Desktop applications aren't compiled for an "environment". They're compiled for a specific CPU architecture and in this case, applications that run on desktop computers are compiled for x86 CPUs. Applications that run on RT are compiled for ARM CPUs.
You can't jail break a device running on ARM and expect it to run x86 applications. You would need to recompile the application and target it at the ARM CPU.
So again, to the OP's question, NO there will never be a jailbreak that allows you to run a desktop application on an ARM cpu. Period.
IF you re-compile an application to run on ARM, and IF you've modified your Surface RT to run applications that aren't digitally signed by Microsoft, then yes in that case you can run the "desktop" application.
banderberg said:
[MENTION]@irony_delerium[/MENTION] I'm sorry - what? Desktop applications aren't compiled for an "environment". They're compiled for a specific CPU architecture and in this case, applications that run on desktop computers are compiled for x86 CPUs. Applications that run on RT are compiled for ARM CPUs.
Click to expand...
Click to collapse
This doesn't change the fact that *desktop* applications exist for Windows running on ARM. Unless you mean to tell me that Audacity, SumatraPDF, or Notepad++ (for example) are not desktop applications, of course.
On Windows 8, applications are compiled both for an environment - Metro/Modern or Desktop - and a CPU architecture. Metro applications run in containers and have explicit blessing from Microsoft to run on both x86 based systems and ARM based systems. Desktop applications are locked down on ARM based systems, by default, to only those with a Microsoft signature. Applications built for either Desktop or Metro will not run in the other environment. Applications compiled for x86 will not run on ARM; applications compiled for ARM will not run on x86.
bandenberg said:
You can't jail break a device running on ARM and expect it to run x86 applications. You would need to recompile the application and target it at the ARM CPU.
So again, to the OP's question, NO there will never be a jailbreak that allows you to run a desktop application on an ARM cpu. Period.
Click to expand...
Click to collapse
This is true. I never said anything about x86 applications. I said desktop - of which, Windows on ARM has a desktop and applications for that desktop.
There are applications built to run on that desktop - even provided by Microsoft, unless you consider the applications forming the Office suite to not be desktop applications. Therefore, desktop applications are available for Windows RT.
No, of course desktop applications targetting x86 or x64 will not run in that environment.
Well put, @irony_delirium. I would expand on that a little, though.
First, not even all desktop computers are x86/x64. Windows used to run on a number of other architectures, like Alpha and PowerPC, and there were desktops (workstations, really, but recognizably desktop computers) with those architectures. Apple used to build all its desktops (and laptops) with PowerPC chips, and before that they used CPUs from the Motorola 68000 family. None of these can execute x86 instructions, but they were all desktops. Of course, the code that ran on them had to be compiled for the relevant architectures, but usually it's not that hard to port software from one 32-bit instruction set to another, unless you wrote the code in Assembly or did similarly platform-specific stuff.
Second, architecture-independent software can run on any platform that supports the intermediate language. For example, Windows RT can run .NET 4.x software, including on the desktop, just fine (though if the binary isn't signed by Microsoft, either the OS will need to be jailbroken or the method of loading the application will need some other convoluted hack). Let me make this clear, though: these are the exact same binaries, produced by Visual Studio (or the command-line C# compiler, csc.exe, that ships with all recent versions of Windows including RT), that you can run on x86 desktops. There's even a .NET program which implements the Java runtime, so you can run Java-based apps on (jailbroken) RT.
Third, it's actually possible to run code written for one instruction set architecture on a CPU with a different architecture, if you have a translation/emulation layer and are willing to take the performance hit of going through it. There's a half-finished homebrew of such a layer for Win32/x86 code on Win32/ARM (RT), but nobody has been working on it for months. It'll run some software, though - Heroes of Might and Magic 3, a closed-source commercial x86 strategy game from the 90s was one of the first apps it was shown able to run, and some other programs work as well - and while it's not fast in an absolute sense it's good enough to run old games or reasonably lightweight current programs. Hopefully, work on it will resume once there's a new jailbreak out.

Virtual Machines on Android

One of the best features of Intel based MacBooks is the support for Bootcamp: Apple's own software that allows users to install Windows on MacBooks and use it as Dual Boot machines.
Unfortunately, this is no longer supported on the non-Intel Macs that run on Apple Silicon. Even more unfortunate is that Microsoft doesn't have any plans currently to support Windows on ARM.
The solution to this problem is to use Virtual Machines (VM)! Given the increased capabilities of hardware today, virtualization is handled well without lags or other problems. Virtual Machines allow running different operating systems on top of the currently booted system.
Android devices too have very capable hardware today. Can we not have a similar solution for Android?
This would be great for the following:
1. Users can run an older Android version if they like it more.
2. Users can install and use custom ROMs without unlocking their bootloader.
3. Users can install and run original ROMs of other brands and smartphone models.
4. Users can even install iOS and use it on an Android device.
5. Users can root their virtual machines and enjoy root without unlocking their bootloader.
6. No waiting time or hassles to get bootloader unlock codes as they would no longer be needed.
7. Users can continue using banking apps and other apps/ games that won't work in bootloader unlocked phones.
8. There is no risk of losing warranty or causing any damage to their phones.
9. The Virtual Machines (VMs) can be easily copied to other Android devices and run from there without losing data or setting everything up again.
I don't see discussions on this topic. Is this not possible?
Found this article:
Can You Run a Virtual Machine on a Smartphone? How Does It Work?
With smartphones increasingly becoming capable devices, did it ever cross your mind to run a virtual machine on them? Is it even possible? How?
www.makeuseof.com
Has anyone tried this?
TheMystic said:
Is this not possible?
Click to expand...
Click to collapse
Possible but theysimply dont care
TheMystic said:
2. Users can install and use custom ROMs without unlocking their bootloader.
3. Users can install and run original ROMs of other brands and smartphone models.
4. Users can root their virtual machines and enjoy root without unlocking their bootloader.
5. No waiting time or hassles to get bootloader unlock codes as they would no longer be needed.
Click to expand...
Click to collapse
Non-sense and impractical
TheMystic said:
One of the best features of Intel based MacBooks is the support for Bootcamp: Apple's own software that allows users to install Windows on MacBooks and use it as Dual Boot machines.
Click to expand...
Click to collapse
More like one of the best features of any x86 pc , you can boot window , linux , android , chrome os or whatever . Thats why x86 is miles ahead compared to arm
Guan Yu said:
Non-sense and impractical
Click to expand...
Click to collapse
Why so?
While this sort of use is pretty niche, but so is the entire segment of rooting and custom ROMs.
If smartphone hardware is capable, there are definitely plenty of advantages and zero risk. It will totally eliminate hardware issues for users and there won't be any boot-looping issues or bricking problems.
I have edited OP to include iOS too as a potential possibility.
GSIs & treble are the closest we can get for running custom ROMs on modern Android hardware.
You can always run ARM Linux on Android with Termux,
I believe there used to be a niche project which ran Android Lollipop on Android. However, it was very slow so it was not very popular.
Even if the Android Hardware is capable the base Android running the said hardware limits the execution.
That's why a BL unlock is required to access any specific Hardware feature which is blocked by software,
Obviously you aim too high, but basic virtual machines are always possible.
A starting point: https://github.com/limboemu/limbo
karandpr said:
GSIs & treble are the closest we can get for running custom ROMs on modern Android hardware.
You can always run ARM Linux on Android with Termux,
Click to expand...
Click to collapse
These are not VMs.
karandpr said:
I believe there used to be a niche project which ran Android Lollipop on Android. However, it was very slow so it was not very popular.
Click to expand...
Click to collapse
When was this?
I don't know the technical details of how VMs work on PCs. But I have tried all sorts of operating systems like Windows 7, Windows XP, macOS, several Linux distros on my 10 year old HP laptop that runs on Windows 11. They all run surprisingly well and smooth. Only macOS is a bit laggy on the machine, but is still quite usable.
karandpr said:
Even if the Android Hardware is capable the base Android running the said hardware limits the execution.
That's why a BL unlock is required to access any specific Hardware feature which is blocked by software,
Click to expand...
Click to collapse
Does Android block VMs from using the hardware directly?
It's been a while since I played around with these things, so not quite sure if I had to make any changes in the laptop recovery to make VMs work. Is this similar to unlocking bootloader on an Android phone?
SoundDrill said:
A starting point: https://github.com/limboemu/limbo
Click to expand...
Click to collapse
It appears this project currently doesn't support Android OS.
TheMystic said:
These are not VMs
Click to expand...
Click to collapse
In the end, the "emulator" will have to run a GSI on top of the device.
TheMystic said:
When was this?
Click to expand...
Click to collapse
2019 ish
TheMystic said:
I don't know the technical details of how VMs work on PCs. But I have tried all sorts of operating systems like Windows 7, Windows XP, macOS, several Linux distros on my 10 year old HP laptop that runs on Windows 11. They all run surprisingly well and smooth. Only macOS is a bit laggy on the machine, but is still quite usable.
Click to expand...
Click to collapse
x86 is way different than ARM ,
On Android phone, you cant even install ROM of a different variant of the device model, let alone install something from different device vendor.
TheMystic said:
Does Android block VMs from using the hardware directly?
It's been a while since I played around with these things, so not quite sure if I had to make any changes in the laptop recovery to make VMs work. Is this similar to unlocking bootloader on an Android phone
Click to expand...
Click to collapse
I mean, you need to allocate resources to a VM constantly. The power manager in Android wont like that.
TheMystic said:
It appears this project currently doesn't support Android OS.
Click to expand...
Click to collapse
Limbo supports AndroidOS.
karandpr said:
In the end, the "emulator" will have to run a GSI on top of the device.
Click to expand...
Click to collapse
Like a DSU?
V0latyle said:
Like a DSU?
Click to expand...
Click to collapse
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
karandpr said:
x86 is way different than ARM ,
On Android phone, you cant even install ROM of a different variant of the device model, let alone install something from different device vendor.
Click to expand...
Click to collapse
Sorry if my questions are too basic.
Is this a limitation of the platform (architecture) or is it purely how the OEM configured it? If it is the latter, then it is simply a question of removing the software imposed restrictions (which in turn may require the bootloader to be unlocked, unfortunately).
macOS isn't supposed to run on Windows hardware. But it does because the virtualization software (Virtual Box, VMware, etc.) makes the OS believe that the hardware is what it is designed to run on. Is this not possible on Android?
karandpr said:
I mean, you need to allocate resources to a VM constantly. The power manager in Android wont like that.
Click to expand...
Click to collapse
The virtualization software (or app) would run like any other app, isn't it? I don't think these apps would be as demanding on the hardware like some of the games are (e.g. Genshin Impact).
TheMystic said:
Sorry if my questions are too basic.
Is this a limitation of the platform (architecture) or is it purely how the OEM configured it? If it is the latter, then it is simply a question of removing the software imposed restrictions (which in turn may require the bootloader to be unlocked, unfortunately).
macOS isn't supposed to run on Windows hardware. But it does because the virtualization software (Virtual Box, VMware, etc.) makes the OS believe that the hardware is what it is designed to run on. Is this not possible on Android?
Click to expand...
Click to collapse
Because macOS can run on x86. For now atleast.
Once macOS pulls the plug on x86 (M1 is arm) like they did with PowerPC, they will stop to work on Windows.
Lets talk about M1 macs. IIRC, you cannot run x86 Windows on those macs. You will the ARM versions of Windows, which don't run lot of traditional windows software.
iOS runs only on Correlium which is state of art engineering.
TheMystic said:
The virtualization software (or app) would run like any other app, isn't it? I don't think these apps would be as demanding on the hardware like some of the games are (e.g. Genshin Impact).
Click to expand...
Click to collapse
It's like running PC game on PS3. PS3 had a powerful processor. Some researchers made a supercomputer with multiple PS3s.
But it simply cannot run a PC game.
Also the reason PS3 games don't work on PS5.
karandpr said:
Because macOS can run on x86. For now atleast.
Once macOS pulls the plug on x86 (M1 is arm) like they did with PowerPC, they will stop to work on Windows.
Lets talk about M1 macs. IIRC, you cannot run x86 Windows on those macs. You will the ARM versions of Windows, which don't run lot of traditional windows software.
iOS runs only on Correlium which is state of art engineering.
It's like running PC game on PS3. PS3 had a powerful processor. Some researchers made a supercomputer with multiple PS3s.
But it simply cannot run a PC game.
Also the reason PS3 games don't work on PS5.
Click to expand...
Click to collapse
You absolutely can run ps3 games on ps5. Whether it would run well is a different matter. Don't believe me? Run linux on the ps4 and use RPCS3.

Categories

Resources