Ontwikkelaars compileren Chromium voor ARM-Windows 10

Het is ontwikkelaars afgelopen weekend gelukt om Googles opensource-browser Chromium te compileren voor de ARM-versie van Windows 10 en voor Windows 10 Mobile. De code komt niet online beschikbaar.

De browser opent ook snel, claimt ontwikkelaar Jeremy Sinclair, die de versie voor de ARM-variant van Windows 10 maakte. Het was volgens hem een weekend werk om de browser aan de gang te krijgen. Hij gebruikt een commit in de code om de browser te kunnen omzetten naar ARM64-architectuur, maar hoe dat precies werkt is onbekend.

Ontwikkelaar Gustave Monce kreeg de code en voerde de gecompileerde browser ook uit op een Lumia 950. Telefoons als de Lumia 930 en ouder hebben een 32bit-soc en kunnen de code daardoor niet uitvoeren. De ontwikkelaars hebben de code niet online gezet en lijken dat ook niet te gaan doen.

De ARM-versie van Windows 10 staat op enkele modellen laptops van de afgelopen jaren. Die laptops kunnen beperkt apps draaien, omdat veel Windows-toepassingen gemaakt zijn voor x86 of x64. MSPoweruser hoopt dat deze stap aantoont dat Google Chrome wil gaan uitbrengen voor de ARM-versie van Windows 10.

Update, 9:29: In het artikel stond eerst dat de code draait op Windows 10 Mobile, maar dat is niet juist. De Lumia 950 van de ontwikkelaar draait op Windows 10.

Chromium op ARM-versie Windows 10Chromium op ARM-versie Windows 10/Windows 10 Mobile

Door Arnoud Wokke

Redacteur Tweakers

08-04-2019 • 07:42

17

Reacties (17)

17
17
13
4
1
3
Wijzig sortering
Microsoft en Chromium devs werken al een tijdje aan een officiële build voor de ARM versie van Windows 10. Ze lijken nu bijna klaar voor release: https://bugs.chromium.org/p/chromium/issues/detail?id=893460

Mooie is ook dat bijv. Electron gebaseerd is op Chromium, dus apps als Slack, WhatsApp Desktop, VS Code, etc. kunnen daarmee relatief eenvoudig naar Windows 10 ARM komen. Het Electron team heeft al aangegeven dit te gaan ondersteunen zodra Chromium voor ARM beschikbaar is: https://github.com/electr...56#issuecomment-441737843
Dit artikel suggereert dat er meer moet gebeuren dan de code door de compiler trekken. Dan zie ik twee mogelijkheden. De Win32 API op ARM64 wijkt af van de AMD64 implementatie, of Chromium bevat assembly code.
Er zijn heus meer manieren waarop code niet kan werken op verschillende platformen. Het is zelden zo dat code zonder problemen compileert op een nieuw platform als het om iets gaat zo groot als een browser.

Bovendien bevat Chromium een hoop afhankelijkheden, die zeker en vast SIMD gebruiken, zoals hun software matige OpenGL implementatie. Dit hoeft niet rechtstreeks via assembly te gebeuren, maar kan wel voor platform-afhankelijke gedragsverschillen zorgen. Ook bevat Chromium vast nog stukken van Google's NaCL/PNaCL, dewelke niet-gealigneerde geheugentoegang gebruikt, iets dat kan op x86 maar niet mogelijk is op ARM zonder softwarematige emulatie.
Voor zover mijn ARM kennis, non-aligned memory is een probleem op <ARMv6, maar niet op >=ARMv7. Aangezien we over ARM64 AArch64 hebben, is dit dus ARMv8. Op dit gebied verwacht ik dus geen problemen.

Er zijn overgens gewoon AArch64 build voor Linux, dus ik verwacht niet dat de AArch64 architectuur an-sich het probleem is, maar er iets specifieks met de combinatie Windown en AArch64.
Ik wil graag die Chromium Versie van Edge voor mijn Lumia 950 XL.
Gaat niet gebeuren gok ik zo.

Vraag me overigens wel af wat er draait op die Lumia. Lijkt meer op Windows 10 voor ARM dan Windows 10 Mobile, dus ik vraag me af of de titel wel klopt.
Klopt, de 950XL in de tweet van Gustave runt inderdaad Windows on AARCH64 ipv Windows 10 Mobile.

@arnoudwokke pls fix
Auteurarnoudwokke Redacteur Tweakers @jja20008 april 2019 09:30
Verhip, jullie hebben gelijk. Update geplaatst, kop en artikel aangepast. Dank!
Windows 10 Mobile is in feite Windows 10 ARM. Mobile is slechts een SKU, een losse build van dezelfde codebase. Het is geen aparte Windows meer, of naja. Ondertussen wel omdat het
een antieke build is. De volledige Win32 API is gewoon aanwezig op Win10M.
Dat snap ik. Maar ik doelde natuurlijk op de interface. Leuk als je "Edgium" op je telefoon kan draaien, maar als je daardoor de Windows 10 voor ARM (niet mobiele) interface moet gebruiken dan heb je daar weinig aan.
Als de code compileert ligt in ieder geval de weg open om oom de mobiele gebruikersinterface te compileren.
Waarschijnlijk gewoon een Windows 10 ARM64 build. Deze draait al langer prima op Lumia 950/950XL's. Helaas wel zonder ondersteuning voor het modem, dus je krijgt een soort mini-tablet.

Maakt het natuurlijk wel een hele leuke ARM64 speeltuin.
Officieel gaat het niet gebeuren, maar als de ontwikkelaar nu een to-do list online zet is het wellicht mogelijk dit zelf te doen. Moet inderdaad wel de titel kloppen en dit ook te doen zijn voor Win Phone. Noodzakelijk ook om de Lumia 950 XL als Phone te blijven gebruiken mocht je websites willen bezoeken ermee. De huidige Edge laadt steeds meer pagina's traag of niet, dus al wil je de Lumia 950 XL na de supportdate gebruiken... waarschijnlijk is 'ie volgend jaar al snel zo kreupel dat dat niet echt gaat lukken...
Ik hoop ergens nog dat postmarketOS goed gaat draaien op deze toestellen, dat zou ze een mooi 2e leven kunnen geven. Ergens hoop ik daar zelf nog tijd in te kunnen steken maar dat gaat tegenvallen denk ik. :P
Voorlopig is nog niemand bezig met de nieuwere lumia's. Op dit moment is de enige windows-phone in het programma de Nokia 720.

Ik hoop ook op een mooie doorbraak voordat Microsoft de stekker uit Windows mobile trekt; maar ik vrees dat postmarket OS in december nog niet bedrijfszeker genoeg is om echt een alternatief te kunnen zijn.
Deze Lumia draait Windows 10 dus geen Windows 10 Mobile.
Je kan al een tijdje volledige Windows 10 versie op een 950/XL draaien.

Op dit item kan niet meer gereageerd worden.