Homebrew Hub [Windows RT] - General Topics

Hello, Im new to the XDA forum but I would like to present a way for Windows RT jailbreakers to easily install non-MS signed ARM programs to their tablets with ease.
I have been working on a program called the Homebrew Hub which will allow users to setup repos like the popular Cydia for iphones.
The program will cache the repos and allow the user to install ARM compiled software to your Windows RT device.
I was also wondering if the creator of the actual jailbreak would be willing to incorporate this into the jailbreak itself so the install process is easy.

Related

[Q] How to create homebrew app with native code which run in emulator.

Hi Guys,
I would like to create simple app with NATIVE code which run in emulator.
It is not possible to use solution in http://forum.xda-developers.com/showthread.php?t=1299134&highlight=developer+guide because it's use some ARM code.
Do you have any idea how make things work?
Thank you,
Ch.
You actually could (msotly) use that guide, but you would need to recompile the ARM portion for x86. My guess as to the best way to do this would be to use the "Platform Builder" for CE6 or CE7, instead of using the WinMo 6.5 platform as your target. WinMo only shipped on ARM devices, so far as I know, but the underlying OS, Windows CE, is very portable and the tools for it support building on a wide variety of architectures. WP7 is built on a version of CE somewhere between CE6 and CE7.
Otherwise, the stuff about using ATL, making a COM library, using ComBridge from the WP7 app, etc. all still applies.
That all said... why would you want to do this? Do you not have an actual phone to test on? Porting between ARM and x86 isn't *that* hard, but you shouldn't just assume that it'll work in all cases, so it makes a lot more sense, if you're building native code, to build and test for the same architecture you're planning to release on.
Additionally, the emulator may be missing some of the libraries that are present on the phone.
Thanks a lot. I will try it.
This is very beginning of my school project. I want only demonstrate that is possible to run some native code on WP7. Next phase of project will be on real device which I don't have right now..
Well, good luck, but I'd tend to say you're setting yourself up for a risk of failure. I don't know what it will take to use the CE Platform Builder for something like this; I have it installed but have never tried using it.
There may also be a way to compile for x86 using the WinMo build tools; I think some of the old "emulators" for WinMo were also x86 virtual machines (much like the WP7 emulator is). I never tried, though.
Risk of failure? I don't see how. The hardest part of this is finding a way to get his .exe on the emulator device and unlocking it. If he isn't using ARM ASM in his project, "porting" to x86 (or any other processor WinCE supports) should be trivial as long as a sufficiently complete SDK is available. The main issue with x86 on newer Pocket PC-like targets is that there are no Pocket PC SDKs targeting it newer than the Pocket PC 2003 one. If you want to use newer WM5 only features like GPSAPI, you'd probably need to use a CE 6.0 SDK instead.
If he doesn't want to do real time debugging, any of the Windows CE development tools or even 3rd party tools like Bloodshed DevC++, CE gcc/MinGW or FreePascal should all suffice. Windows CE is a very backward compatible OS so even an application targeting the CE 2.11 platform/SDK should still run on WP7 when you are careful to use supported APIs.
If you don't want to install Platform Builder and generate your own custom OS to base an SDK on, there are plenty of SDKs to choose from. Of course, some are worse than others. If you are using the CE 4.2 or 5.0 STANDARD_SDKs, you might become a bit frustrated when you realize they are missing many basic things like the Windows CE SIP APIs. (something that has been available for CE since 1.01 in 1997). But if you don't care about using the latest native CE kernel features and still want to use a newer IDE like VS2005/VS2008, the CE 5.0 STANDARD_SDK should be enough if you are careful. Though, I usually install things like eMbedded Visual C++ 3.0 and 4.0 along with all the Pocket PC and Handheld PC SDKs just in case I need a header or lib file that one or the other is missing.
The following MS SDKs can target x86:
-eVC3
Pocket PC 2002
Smartphone 2002
Handheld PC 2000
-eVC4
Pocket PC 2003
Smartphone 2003
STANDARDSDK_400
STANDARDSDK_401
STANDARDSDK_420
STANDARDSDK_500
-VS2005/2008
STANDARDSDK_500
Another useful x86 SDK I've found is the one for the Allegro CE/DOS Field PC:
http://www.junipersys.com/Juniper-Systems/support/Developers/Allegro-Field-PC/Allegro-CX
Here are some download links to many of the CE SDKs and compilers that were released over the years:
Here are some links to download some of the tools I've mentioned:
http://www.hpcfactor.com/developer/
http://www.microsoft.com/download/en/search.aspx?q=embedded visual tools
You will need SP4 for eMbedded Visual C++ 4.0 if you wish to use newer SDKs with it.
http://www.microsoft.com/download/en/search.aspx?q=pocket pc sdk
Ummm... maybe you missed the part where this is WP7 forum, and the OP is trying to run native code on the WP7 emulator... I can tell from your post that you're not terribly familiar with WP7 development, so here's a few salient points:
Compiling to a .exe is a waste of time. WP7 won't run foreign EXEs, at all, unless you make some pretty low-level changes that aren't possible on the emulator (see "full-unlock" custom ROMs). You have to write a managed app (which compiles to a DLL hosted inside a low-privilege EXE that's built into the system) and a COM library and use the InteropServices ComBridge API. So far we haven't even gotten P/Invoke to work.
WP7, especially Mango, uses a limited set of native APIs and the APIs have changed somewhat in the last decade or so. They aren't supposed to be available to third-party devs at all, so any backward compatibility is basically a convenient accident. Targeting Smartphone 2003 *might* work, but then, it might not. Even a number of WinMo 6.5 APIs aren't available or don't work.
Since it appears that the OP is just going for a demo project, he or she probably is a lot less interested in getting the most powerful APIs, and is probably hoping for something closer to invoking a MessageBox from native code.
All that said, however, it's true that there are WinCE SDKs which can build native x86 code. I'd tend to suggest using the CE6 or CE7 Platform Builders, since they're the most recent (WP7 is somewhere between the two), but there are other options. You probably want to follow the guide as much as possible, including things like using ATL, as it makes writing a COM library a lot easier and that's the best way we currently know for executing native code in WP7.

[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.

start menu

Is there a way i can add the start menu on my rt, I installed pokki my desktop running windows 8,but cant seem to install on my rt.
ha, nope sorry buddy! windows RT is completely different to windows 8, RT is using a ARM processor 'tegra 3' this means the software will have to be made for an arm CPU, that's why it won't work on your rt device. this is also why there is a marketplace for downloading all of your apps....
sorry.
ssfirme said:
Is there a way i can add the start menu on my rt, I installed pokki my desktop running windows 8,but cant seem to install on my rt.
Click to expand...
Click to collapse
you can jailbreak your device using this and then run classic start menu from here. works perfectly on my surface rt
Dane, you're actually incorrect... there's a hack available (on this very site, even), commonly referred to as a "jailbreak", that allows running apps which aren't from the store, sideloaded, or from Microsoft on Windows RT. They still need to be compatible with ARM, as you say, but recent .NET apps work fine with no changes, and many C/C++ open-source apps have been recompiled.
Classic Start has been available on RT for a couple weeks now, using this method. Download the jailbreak hack, unzip it and run it, then follow the instructions. Download and install Classic Start following the instructions in the post linked from my thread, List of desktop apps for hacked RT devices, then restart Windows Explorer (or just log off and log on again) and you'll have a Start menu if you want it so badly (I don't get the fuss; on a tablet, the Start screen really is a better option IMO, but it's available).
Also, there is actually a work-in-progress hack to allow running unmodified x86 programs on RT as well, using dynamic recompilation from x86 to ARM code.
Why would you need a start menu on Rt?
You actually can... I've got 7-Zip, PuTTY, Gvim, MirandaIM, IKVM (and through it, Burp Suite and some other Java programs), Fiddler 4, Python 2.7, and some other "legacy" programs installed on my RT. I'm working on porting Chrome (it's a chrome-plated ***** of a project, if you'll excuse the terrible joke). I also temporarily install additional apps to test them out as people port them to RT. Finally, I've installed the Win86emu beta, which isn't a legacy program but is a desktop program; it's written especially for Windows RT and allows running (some) x86 legacy apps on RT directly and unmodified.
deeman said:
Why would you need a start menu on Rt?
Click to expand...
Click to collapse
more of a want than need but it's a familarity thing, i'm sure.
Can I get GOM player or any good player working on RT which can support most extensions ??
mohitgalaxy3 said:
Can I get GOM player or any good player working on RT which can support most extensions ??
Click to expand...
Click to collapse
Unrelated to this thread

Windows on x86 based android phones?

I was curious about this, if the android smartphones/tabs powered x86 intel processors can be used such that we can install desktop windows or other x86 OSes?
Unlikely as we would need to build drivers for the phone which is rather difficult when the manufacturers like to have things on lockdown most of the time, also it would probably brake some strange contract with Microsoft as most things do. Look at the Surface and Surface RT
Also the UI (Even Metro) would struggle to work on the display adapter
So in short no we can't run Windows on x86 Android phones, yet anyway
Install Android in Windows without Virtual box
I tried this product DuOS which will install Android version Jellybean in Windows 7/8/8.1 platforms. This one is very simple for use comparing with Bluestacks and has good performance for applications. Refer the link for further details and installation check the website for amiduos:good:

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.

Categories

Resources