Developing for a jailbroken Surface RT -- dare I disturb the universe?

by Michael S. Kaplan, published on 2013/02/25 07:01 -05:00, original URI: http://blogs.msdn.com/b/michkap/archive/2013/02/25/10396490.aspx


T.S Eliot's J. Alfred Prufrock once asked "Dare I disturb the universe?"

I may have started thinking along those same lines.

Perhaps I should explain why I'm asking Do I dare? Do I dare? for those reading along here who aren't in my mind...

After reading How to Jailbreak the Microsoft Surface RT and related articles chronicling the efforts of hackers to jailbreak the Surface RT, I admit to feeling somewhat torn.

The thoughts behind blogs like Still with the Itanium? and ARM port of Windows? No comment. Followed by a comment.... and 2nd amendment issues don't apply; I'm not ARMed! are in my brain.

So I start wondering.

Wondering about the two requirements I had of ARM that were being denied to me:

  1. Placing a correct architecture DLL in the System32 directory, and
  2. Adding a registry key and several values under HKLM\SYSTEM\CurrentControlSet\Control\Keyboard Layouts\ subkey, per keyboard.

Could these two things be accomplished on a jailbroken Surface RT? I mean, a jailbreak does not always allow everything, right? But maybe this one allows these two things.

Maybe there is a congregation to hear me righteously preach about Surface RT keyboards and say Amen!

Just the other day, Joshua comented in another blog of mine:

Windows ARM is as good as dead. The only thing that can save it now is to push out an update that fully unlocks the actual desktop, but Microsoft hasn't the guts.

Maybe he's right - but this jailbreak may be his Lazarus!

We do some Open Source projects at Microsoft, right? :-)

Wow! A subpage off of this one documenting ARMed desktop apps?

Could I resurrect those ad hoc SETUP.EXE, KBDUTOOL.EXE, and KBDMSI.DLL binaries I test compiled for ARM?

Could I build a new MSKLC.EXE to run on WOA, too? Maybe the one I already have would work?

Could I update the setup to add ARM and remove IA64? After all, as Dvorak pointed out, Itanium killed the computer industry, and perhaps a jailbroken Surface RT could bring it back to life!

Would you have to keep jailbreaking after every reboot to use installed keyboards? Or would doing it for installs suffice?

Where on earth could I find testing resources for this project?

Could I possibly get permission to enlist people outside of Microsoft like Marc Durdin to help out here?

How would the NDA be worded? :-)

And (most importantly) could I do all of this without getting fired, perhaps even charged and prosecuted?

Indeed, could I do any of this without getting fired, perhaps even charged and prosecuted?

Might I be fired, perhaps even charged and prosecuted, for even posting this semi-serious blog? I hope not!

The moxie of designing and building and releasing apps for jailbroken devices is leaving me a little light-headed. You?

I mean, former Softie Brian Valentine taught me that it's more productive (if not better) to beg for forgiveness than ask for permission.

But even posting this blog might see my cardkey deactivated before the week is up.

I think today would be a good day to talk to my manager (a Senior PM lead) about this.

And maybe his manager (a Principal Group Manager).

And maybe his manager (a Senior Director), too. Just for good measure....

I probably don't need to see his manager (a Corporate VP in charge of development) or his manager (a corporate VP in charge of Windowes) or her manager (the CEO).

At least not right away. :-)

I'll try my best to be constructive in my efforts to dare to disturb the universe.

And I'll also try very not to get myself fired....

Wish me luck!


David Warner on 25 Feb 2013 8:52 AM:

I'd like to be able to re-compile for WoA, but it seems the only way to get the LIBs missing from VS2012 is to own a Windows RT device and copy the DLLs.

I think an update to remove the code-signing restriction for desktop programs can only be a positive for Windows RT. Include disclaimers about performance and battery life if you like, but it seems such a waste to have gone to the effort of porting Windows only to massively restrict the APIs developers can use :)

Michael S. Kaplan on 25 Feb 2013 9:14 AM:

Thus my interest in MSKLC for ARM! :-)  

Andrew_Cunningham on 25 Feb 2013 5:03 PM:

Well at the moment, from the point of view of minority and lesser used languages and multilingual support, Windows 8 can be considered a tool, and Windows RT can be considered as a toy.

Windows RT falls into the same category as Android and iOS ... not good ...

And if jail-breaking is required to add language support, then so be it. Would be interesting to see a legal case around it, it would seem to be a deliberatively restrictive practice. And an interesting case might be able to be built for considering the Windows RT approach as distinct form the Windows 8 approach to be discriminatory.

Hopefully Cannonical and Mozilla don't make the same mistakes with their operating systems for mobile devices.

Yuhong Bao on 25 Feb 2013 6:05 PM:

AFAIK, Sinofsky has left MS.

Michael S. Kaplan on 25 Feb 2013 6:09 PM:

The Corporate VP running Windows was not Sinofsky...

Simon on 26 Feb 2013 12:24 AM:

I'd have bought a Surface RT instead of an Android tablet if I could have unlocked it to run my own or other decent software, simple things like PuTTY which could be recompiled for ARM with no trouble.  It seems a shame that it's locked down for no reason, it's not security because it could have been a UAC style interface to enable/disable running other apps but someone decided arbitrarily they will cripple it for no reason.

On the other hand I won't buy a Surface Pro because my requirements for a laptop are higher than the spec of the Pro (Ok, actually it's just a need for gigabit Ethernet, larger SSD and one more USB port but still!!).

Yuhong Bao on 2 Mar 2013 5:54 PM:

I still remember reading the tweets from twitter.com/fearthecowboy on this.

Joshua on 9 Mar 2013 8:51 AM:

I have been pondering my reply to this.

Here is my position. We develop a piece of medical software. The software takes full advantage of the desktop envioronment, but is written in such a way that I could almost certainly change out the CPU: it'd be just a matter of cross compiling it. When amd64 support came along I fixed all the architecture specific bugs in the C code, leaving only the ASM stubs and the installer left. We'd need a different installer for surface anyway.

I see your position. If you were not at Microsoft you probably wouldn't have to care, but then you probably could not accomplish it.

There are times I begin to wish that it were possible to with enough computing power to obtain the private keys because of the unconscionable madness being perpetuated by them. I actually saw some discussion about putting a key cracker for the MS's UEFI key in the Linux kernel because of some perceived abuse (whether this one is real I is not up for debate here).

The position of Windows for internationalization is unique, but desktop CPU power is now enough to abstract away the uniqueness into a common porting library. I suspect that even holds on ARM now assuming nobody does something dumb like try to port SQL server to it.


referenced by

2013/04/17 One of these days you'll want to stand back, as I am working to ARM myself with another Surface RT!

2013/04/16 Because, unlike Andrew West, *I* have a sense of history... 😄

2013/03/11 That MSKLC with a jailbroken Surface RT thing? I dared to disturb the universe, and...

go to newer or older post, or back to index or month or day