'Draaien desktop-apps op Windows RT is mogelijk'

Het draaien van eigen desktop-applicaties op Windows RT is mogelijk via een omweg, claimt een ontwikkelaar. Officieel kunnen desktopapplicaties onder Windows RT enkel draaien als ze van Microsoft afkomstig zijn, zoals Office en Internet Explorer.

Volgens ontwikkelaar C.L. Rokr verschilt Windows RT weinig van Windows 8 en is het daarom mogelijk om eigen desktopapplicaties te draaien op het besturingssysteem. Windows RT is de versie van Windows 8 voor pc's en tablets met ARM-chips aan boord. In tegenstelling tot Windows 8 beschikt Windows RT over een niet volledig functionele desktopmodus; in deze modus kan onder Windows RT enkel Microsoft-software worden gedraaid, zoals de bestandsverkenner, Office en Internet Explorer.

Volgens Rokr is dat onderscheid echter kunstmatig. "Het is een prima port van Windows 8", beweert Rokr. De enige reden dat Windows RT in de desktopmodus enkel Microsoft-software draait, is dat Microsoft daarvoor heeft gekozen. In de kernel is het minimum signing level vastgelegd. Waar dat niveau onder Windows 8 is vastgelegd op 0, wat betekent dat alle software - ook niet-ondertekende - kan draaien, ligt dat niveau onder Window RT op 8. Dat betekent dat alleen software die met een Microsoft-certificaat is ondertekend, kan worden gedraaid.

Wie het minimum signing level kan verlagen, maakt het mogelijk om alle software te draaien, mits deze specifiek voor ARM is gecompileerd. Rokr ontdekte dat dit mogelijk is door de waarde in het geheugen aan te passen. Hij presenteert geen kant-en-klare oplossing voor gebruikers die andere software willen draaien, hoewel ontwikkelaars met zijn instructies uit de voeten moeten kunnen. Op het forum van XDA-Developers meldt een gebruiker dat hij met succes de telnet- en ssh-client Putty onder Windows RT heeft weten te compileren.

De work-around heeft als beperking dat deze niet permanent is; er wordt een waarde in het geheugen gewijzigd, wat na elke boot opnieuw zou moeten gebeuren. Het minimum signing level permanent aanpassen kan niet, omdat de secure boot-functionaliteit van uefi, die moet voorkomen dat malware het besturingssysteem kaapt, Windows RT dan zou verhinderen te booten. Ook maakt de hack het niet mogelijk om applicaties met de Windows 8-interface buiten de Windows Store om te installeren; de work-around heeft enkel betrekking op 'klassieke' desktop-apps.

Door Joost Schellevis

Redacteur

07-01-2013 • 09:10

49

Reacties (49)

49
46
27
3
0
12
Wijzig sortering
Minimum signing level permanent naar 0 brengen is een kwestie van tijd of via een opstartscript elke keer na de boot-cyclus automatisch uit te laten voeren. Daar zal het probleem niet liggen. De volgende stap wordt een emulator zodat code snel omgezet kunnen worden met een emulator. Nu zijn daar al een paar Russen mee bezig (http://goo.gl/Z57uJ) dus hopelijk wordt dit open op de markt gezet. Dan heb je opeens een goedkope tablet die heel veel kan.
Ik snap de conclusie niet. Waarom heb je een "goedkope tablet die heel veel kan" als je een ding hebt dat oude binaries draait die voor een ander systeem zijn geschreven met een interface (muis en kb) die niet beschikbaar is?
Ten eerste zal een windows tablet wel niet goedkoop zijn. Niks van MS is tenslotte ooit goedkoop. Ik verwacht dat de prijs ergens tussen Android tablets en iPad in zal liggen.
Ten tweede zullen die applicaties erg traag gaan draaien. Het is tenslotte een compleet andere cpu architectuur. Het is totaal niet vergelijkbaar met bv Wine op Linux, waar de code gewoon native draait, maar vele malen trager.
Ten derde, zoals ik in het begin zei: de applicaties zijn gemaakt voor een keyboard en muis, niet voor een touchscreen. Ik denk niet dat ze makkelijk zullen gaan werken. Windows Mobile was niet voor niks geflopt: ze probeerden een desktop-interface op een klein apparaat te persen, en waren totaal vergeten dat je voor ieder apparaat een ander soort optimale interface hebt: computers (kb+muis), tablets (touchscreen), telefoons (klein touchscreen), tv's (afstandsbediening) etc hebben allemaal een ander soort bediening nodig.

Ik snap best dat iedereen bij Windows RT het idee heeft dat ze om kunnen toveren tot een desktop-achtige ervaring, maar je moet het meer zien als een soort iPad. Het enige verschil is dat je vast zit in een MS omgeving ipv een Apple omgeving.
Binary conversie kan misschien wel gewoon op gebruiker-niveau. Ik kan me voorstellen dat een i386-Win32 binary modulair genoeg is opgebouwd om de boel tot ARM-compatible te manipuleren. Zo'n bestand bevat weinig anders dan voer voor die Win32 API. Er vanuitgaande dat die hetzelfde is op ARM systemen blijven er volgens mij alleen verschillen in format over.
Niet dat ik een Win 8 RT expert ben ofzo, maar allerlei handige mogelijkheden (zoals opstartscripts) waren toch allemaal geblokkeerd!?
Ik denk dat de vraag vooral is "hoe sterk is die UEFI key?". Stel, je past de binaries aan (MSL van 8 naar 0 zetten, voor de rest blijft alles hetzelfde) en probeert dan een nieuwe key te vinden, lukt dat?
Een tijd geleden waren er steeds meer mensen die hun eigen OS voor de grafische rekenmachines van TI wilden ondertekenen. Toen er uiteindelijk genoeg belangstelling was is er een distributed computing project opgezet om die signing key botweg te kraken (brute-forcen).
Nou snap ik wel dat de keys die UEFI gebruikt sterker zijn en bedoeld om voorlopig nog wel even mee te kunnen, maar daarbij is waarschijnlijk alleen rekening gehouden met een enkele aanvaller. Zou het bestand zijn tegen "genoeg idioten" die er met zijn allen op los gaan? Met een beetje geluk hoef je het werk niet eens af te maken; zodra MS een project ziet dat groot genoeg is om binnen redelijke tijd te slagen dan kunnen ze beter zelf een update uitbrengen (in de hoop dat het project wordt afgebroken voordat de key daadwerkelijk wordt gevonden; dat zou namelijk nogal vervelende bij-effecten hebben...).

Emuleren is traag; indertijd had mijn Pentium (120 MHz geloof ik) moeite om een Z80 (6 MHz) real-time te emuleren. Tuurlijk, die Pentium stond ook andere dingen te doen (Windows draaien, een GUI tekenen, etc.) maar dan nog is het gat immens. Juist omdat meuk die RT 8 draait toch al geen snelheidswonder zal zijn zie ik het niet gebeuren dat die op een beetje acceptabel tempo x86 gaan emuleren. Schrijf dan liever een ARM emulator voor een x86 host, dan kun je evenveel, maar het zal waarschijnlijk vloeiender werken.
Ik denk dat heel veel desktop apps die er echt toe doen niet in ARP zijn gecompileerd. Wel leuk dat het kan. Maar het nadeel van na het rebooten weer opnieuw de minimum signing level instellen, werkt niet echt bevorderlijk...
Tegenwoordig zijn systemen echter steeds meer gericht op always-on (mobieltjes bijvoorbeeld) of in ieder geval in het bezit van een deftige slaapstand. Kijk alleen maar naar hoe diep de restart/sleep functies in Windows 8 weggestopt zijn. De slaapfunctie is min of meer de default en geprefereerde actie bij normaal gebruik. Met de doorontwikkeling vanaf Vista is het OS ook gewoon stabiel genoeg om dergelijk gebruik vol te kunnen houden. Ik vind dit dus niet echt een significante/relevante beperking.
wat heeft ARP hiermee te maken? Dit gaat over het verlagen van beveiliging mbt het draaien van programma's. Het heeft niets te maken met de nerwerklaag
zou dat niet gewoon een tiepvoutje zijn..ARP ipv ARM ;)
klinkt een beetje als een tetherted jailbreak voor een iOS apparaat. Het zou natuurlijk mooi zijn als dit kan maar kernel aanpassingen zijn ook niet zonder gevaar. En dan nog het bijkomende geval dat de applicatie hercompileerd/hergeprogrammeerd moet worden voor ARM.

Al met al best wat haken en ogen.
Windows RT is een gemiste kans.

Hoe mooi had het kunnen zijn om een (naar ARM) gecompileerde desktop app te draaien met muis en toetsenboard (en kleine iconen en goed scherm gebruik voor een monitor) en wanneer je de tabled inklapt en in/op de trein/auto/vliegtuig/ fiets ;-) zit je de app "omdraait" en via de metro touch interface gewoon verder kan werken met dikke vingers. Ook al zijn er bepaalde handelingen die gewoon lastig zijn met touch, dan doe je die gewoon "thuis" weer in desktop modus op een groot scherm met groot toestenboard en grote muis.

Nu is Windows RT vlees nog vis, Je kan niets met de desktop anders dan office met te grote icoonen, en the metro/ModernUI is niet af....Dus met dikke fingers op een desktop interface file managen. Windows Mobile is om dezelfde reden geflopped, Desktop + dikke vingers werkt niet net zoals Modern UI met muis en toestenboard. (En tuurlijk met wat geduld en gepruts lukt het allemnaal wel maar fijn en prettig is anders, en dat kan dus niet meer in 2013!!)

[Reactie gewijzigd door tweakerspim op 25 juli 2024 21:48]

Ben met je eens dat de klassieke explorer zich niet goed leent voor touch bediening. Ik denk echter, dat als Microsoft de Explorer ook meteen in het Modern UI jasje had gestoken, veel computergebruikers (lees: Windows gebruikers) afgeschrikt zouden worden door de volledige nieuwe interface. Oftwel, ik denk dat het een keuze is van Microsoft om de Explorer, cq klassieke omgeving in Windows 8 te behouden, om gebruikers langzaam te laten wennen aan de nieuwe interface.
Grote kans dat Windows 9 de Modern UI volledige heeft, dus in heel Windows. Er zijn al berichten dat de klassieke desktop in de komende Windows 8 update al meer "hoekiger" gaat worden.
Daarnaast, als je de klassieke desktop omgeving niet prettig vind werken met touch, zijn er een aantal apps beschikbaar in de store, waarmee je in een Modern UI omgeving de explorer omgeving kunt bedienen. Met een Surface bijv. werkt dat perfect :)
Touch is geen vervanging voor desktop met muis en toestenboard. Het is een andere manier van werken die met een apperaat met juiste form factor (telefoon, tablet) handig is. Denk aan zoomen van foto's met de pinch beweging.

Een desktop (werkblad) gebruik je om veel informatie in beeld te zetten en tegelijk te benutten, heel precies te bewerken. Iets wat niet goed werkt op een apperaat met een klein scherm.

Touch werkt niet goed op een groot scherm omdat de oppervervlakte te groot is, er te veel gedetailieerde informatie op het scherm staat en je het scherm niet vasthoud maar voor je staat op een standaard.

Modern UI is een aanvulling op WIndows doodat Microsoft voor het eerst de desktop heeft losgelaten en voor een "touch omgeving" heeft gezorgt. Hiermee kunnen ze de tablet/ phone markt op.

Steve Balmer heeft altijd "one fits all" naagestreeft. Dit heeft geresulteerd in de desktop interface op Windows Mobile, en dat werk niet en nu resulteerd het in touch op de desktop (met muis gestures en vele extra muiskilometers of een lamme arm) en dat werkt totaal niet. Windows 8 modern UI is voor mobile devices (wanneer het af is, dus alle apps met touch interface)

Het wordt tijd dat de oude garde binnen Microsoft opstapt en ze omarmen wat ze hebben; De meest gebruikte desktop omgeving en dit aanvullen met nieuwe omgevingen voor mobile touch apparaten zoals ik in het stuk hierboven aangeef. Alleen dan heeft Windows meer waarde ten opzichte van Andoid of IOS.

Als alles touch met muis emulatie moet worden is het einde Microsoft Desktop en zullen Apple en Google dit gat gaan opvullen met hun Unix kernel gebasseerde systemen. Releaseer je dat bijna alle OS die nu gebruikt worden Unix gebasseerd zijn en dat Microsoft als enige een ander type kernel gebruikt. Daar profiteren ze nu veel van maar als ze dit laten glippen door Windows 8 wanbeleid is Microsoft ten dode opgeschreven en zal het vervallen tot een "me too" bedrijf.

[Reactie gewijzigd door tweakerspim op 25 juli 2024 21:48]

Ik denk dat je het ook moet zien als case studie.. Steeds meer mensen willen een tablet. Laat MS nu een Tablet omgeving hebben gemaakt met mogelijkheden naar het desktop..

Je kan in Windows 8 Pro nog steeds de klassieke desktop functies vervullen. Echter proberen ze ontwikkelaars dezelfde apps te laten ontwikkelen voor het nieuwe startmenu. Wat zal resulteren dat je dadelijk alleen nog maar Windows Apps kan installeren en niet meer zal kopen..

Kortom. Steam doet hetzelfde met hun store... Je hoeft niet meer naar de winkel voor een pakket en ook geen moeilijk download pakket op te halen. Echter geeft wel een side effect is dat men het lastig zal vinden zich aan te passen.
Anoniem: 145867 @LCP7 januari 2013 17:44
Ik vind het ook een rare stap in Windows RT.

Desktop: Enkel paar Microsoft programma's kunnen er draaien. En dat terwijl veel daarvan ook in Modern UI beschikbaar is zoals de Browser.

Stap1:
Haal bij RT het gehele desktop gebeuren WEG.

Stap2:
Ontwikkel Office 2013 in een Modern UI jasje en andere Desktop apps zoals paint?

Resultaat:
Een beter geheel gevoel bij je tablet in plaats van 2 vage werelden waarin je zit. Daarnaast heeft de concurrentie helemaal geen goede Office met Touch UI en daar ligt een goede gat in de markt die nu nog OPEN ligt...
Nu is Windows RT vlees nog vis, Je kan niets met de desktop anders dan office met te grote icoonen, en the metro/ModernUI is niet af....Dus met dikke fingers op een desktop interface file managen.
DUS kun je niet op de desktop komen die heeft RT immers niet. En is je dikke vingers verhaal geen probleem. Als je zelf een desktop gaat draaien onder RT dan moet je ook de gevolgen accepteren en niet op windows mopperen.
mits deze specifiek voor ARM is gecompileerd
Ofwel Nee je kunt geen desktopsoftware draaien.. Zal hooguit draaien met specifiek voor windows 8 geschreven software welke al geen win32 meer aanspreken..

Ik vindt dat de betreffende ontwikkelaar nu doet voorkomen alsof windows rt ook normale windows applicaties kan draaien, maar dat is zoals ik al zei, echt niet mogelijk.. Naast het feit dat deze niet voor ARM zijn gecompileerd, worden ook een boel API's niet meer meegeleverd met Windows RT die wel nog worden meegeleverd met Windows 8.
Hangt er net vanaf hoe die applicatie gecompiled is, ze hoeven echt niet specifiek anders geschreven te worden. Daarom is een applicatie als putty al werkend gekregen, maar dat heeft dan ook te maken dat putty de source aanbied waardoor dit mogelijk is.

Tuurlijk kan je niet zomaar even een cd van SimCity ofzo pakken en dat er op zetten, maar het gaat om het principe dat software, mits voor ARM gecompiled, gewoon kan draaien.
En wie gaat z'n applicatie voor ARM compileren? Je kunt het alleen installeren met een hack. Als ik een bedrijf was zou ik nooit ARM binaries voor m'n desktop applicaties maken. De enigen die je daarmee helpt zijn degenen die alles hacken wat ze tegenkomen, en die betalen over het algemeen toch niet voor software.

Als je het beperkt tot open source software kun je beter Linux op de tablet installeren. De meeste open source software draait daar ook wel op, en dan heb je tenminste een systeem dat niet met plakband aan elkaar hangt. Windows RT is niet bedoeld als desktop OS.
Hangt er van af, er zitten inderdaad een hoop legacy API's niet meer in, maar als je redelijk bij de tijd gebleven bent met je code en al bent geswitched naar moderne "managed code", dan zou het redelijk makkelijk moeten zijn.

En vergeet niet, de Windows Runtime API is ook gewoon voor desktop apps beschikbaar, niet alleen voor Metro apps.

[Reactie gewijzigd door Dreamvoid op 25 juli 2024 21:48]

Precies, zolang ze inderdaad modern zijn en geen legacy API's gebruiken zou het naar mijn mening weinig problemen op moeten leveren.
Als dit zou kunnen is de beveiliging mooi waardeloos: als je een programma hebt dat direct na het opstarten waardes in het geheugen gaat wijzigen om beveiligingsniveaus af te zwakken, dan kan allerhande spyware dat natuurlijk ook...

Dus ik neem aan dat dit alleen kan met allerhande debugtools om direct in het geheugen te prutsen, want dit lijkt me wel degelijk door microsoft beveiligd te zijn.
Nee dat kan dus niet, omdat alles via de store gaat. Dit is echt wel iets complexer dan een stukje spyware wat een waarde aanpast. Dit kan alleen handmatig! Verder kun je het OS zelf niet aanpassen vanwege de secure-boot. Ik denk storm in een glas water!
De store heeft er in dit geval niet mee te maken, als een gebruiker er eenmaal in slaagt die wijziging te doen kan hij een zelfgeschreven tooltje dit na elke boot laten doen.

Het zal niet super eenvoudig zijn op een dedicated toestel (ik vermoed dat de developer wel een virtuele machine gebruikt zal hebben), maar zeker niet onmogelijk.
Zeker heeft de store ermee te maken. Ktf heeft het over spyware. Op WinRt krijg je dit niet zomaar juist vanwege die store. Daarom is dit een "gevaar" voor geavanceerde gebruikers, niet voor Jan Modaal. Die gaat immers niet zijn geheugen aan lopen passen, maar zal software downloaden via de store.
Ooh ja, laten we met zijn allen blind vertrouwen dat er in de gecontroleerde app stores van MS en Apple geen malware staat. Dan gaat het zeker goed komen... 8)7

Geef mij maar een systeem waarbij ik zelf kan uitmaken wat ik draai.
Dat kan je toch op alle systemen?
Ongeacht of het Windows, Linux, e.d. is?
Het blind vertrouwen op het goedkeuringsbeleid van Microsoft en Apple zal voor 95% van de gebruikers voldoende zijn.
Die willen gewoon wat draaien en als het in de store te vinden is, zijn ze blij en zeker dat het van een vertrouwde bron komt.
Het enige dat je kan wijzigen is een waarde waardoor je dus software van 3den kan laten draaien. Maat laten we eerlijk zijn onder windows, apple en linux kun je ook software van 3den laten draaien.

Om niet geoorloofde software van 3den te laten draaien c.q malware heb je een virus / malware scanner. Die virus malwarescanner zul je in de toekomst voor RT dan ook moeten hebbem.

Onveilig is RT hierdoor niet geworden. Het is uiteindelijk de gebruiker die toestaat software te installeren op rt of niet. Als die software malware heeft en je hebt geen malware/virusscanner dan heb je idd een probleem.
Windows RT zal enkel een tussen OS zijn voor budget apparaten. Over 3-4 jaar zullen alle tablets gewoon op Windows 8 draaien.

Absoluut een OS om links te laten liggen.
Ik denk eerder dat tegen Windows 9 er geen feature verschil meer overblijft tussen de x86 en ARM consumenten versies van Windows, en dat je gewoon desktop apps voor Windows kan draaien (mits recompiled of als universal binary).
Anoniem: 166774 @Dreamvoid7 januari 2013 13:00
Ik denk dat Windows 9 er alleen komt voor de x86.
Niet helemaal: RT is een stuk lichter en dus voor tablets e.d. geschikter, anders krijg je zwaardere processor, grotere accu enz.... MS heeft echt wel een beetje nagedacht over RT.
Dus jij speculeert dat ARM helemaal verdwijnt? :) Grapjas !!!!
Je kan het niet echt klassieke desktop apps noemen want je moet als nog alle apps hercompilen speciaal voor ARM om het te laten werken.
Als er stond 'originele desktop apps' dan had je zeker gelijk, maar de win32 API wordt nu eenmaal als 'klassiek' beschouwd, ongeacht de architectuur.
Dat ze dit kunstmatig blokkeren is eigenlijk ook wel jammer. Ik denk niet dat sommige ARM processoren onder doen voor een beetje instap / misschien zelf hogere klasse processoren van intel en amd.

Juist voor een zakelijke markt is het handiger als alles uniform zou kunnen draaien maar ook voor consumenten heeft het een groter voordeel.
Dat ze dit kunstmatig blokkeren is eigenlijk ook wel jammer. Ik denk niet dat sommige ARM processoren onder doen voor een beetje instap / misschien zelf hogere klasse processoren van intel en amd.
Redeneer niet alleen uit het bedrijf, maar ook vanuit de consument. Als die een desktop voor z'n neus krijgt, verwacht hij er alles mee te kunnen doen wat hij op z'n reguliere PCtje ook kan. Bij een mooi foutmelding dat de Win32 libraries niet gevonden kunnen worden (of simpeler "dit programma wordt niet ondersteund") zal jan-met-de-pet niet bij zichzelf gaan denken waar de fout ligt, maar direct het vingertje wijzen naar MS dat Windows RT maar een slecht OS is.
Juist voor een zakelijke markt is het handiger als alles uniform zou kunnen draaien maar ook voor consumenten heeft het een groter voordeel.
Voor de zakelijke markt heeft MS Windows 8 Pro voor ogen, waar ook al genoeg tablets mee draaien. Windows RT kan niet binnen een Active Directory domein gebruikt worden, en daarmee is het per definitie al een bijzonder oninteressant OS voor de zakelijke markt.
De reden is volgens mij heel eenvoudig: Windows is groot geworden dankzij compatibiliteit, het is soms bijna grappig dat een stokoud programma perfect werkt onder Windows8.
Om RT te optimaliseren heeft MS waarschijnlijk zoveel mogelijk legacy dingen verwijderd, hierdoor gaan sommige programma's (waaronder vermoedelijk ook vrij recente) niet meer werken, maar andere weer wel. Voor de gebruiker is dat niet ideaal, waardoor MS ze dan maar allemaal verbiedt.
nog genoeg te doen dus om al die gewone apps werkend te krijgen op ARM..
Kon ook niet anders, ik vroeg me al af waarom de windows installatie op dat ding 16 GB groot is.

Op dit item kan niet meer gereageerd worden.