FEX 2611 maakt x86-software op ARM sneller, maar wacht op de Linux-kernel

Er is een nieuwe versie verschenen van FEX, de softwarelaag waarmee traditionele x86- en x86_64-toepassingen op ARM-hardware onder Linux kunnen draaien. Versie 2611 brengt verschillende verbeteringen met zich mee voor de zogeheten Just-In-Time-compiler, die programmacode tijdens het uitvoeren vertaalt. Tegelijkertijd lopen de makers tegen een opvallende horde aan binnen het besturingssysteem zelf: ze wachten tot de Linux-kernel zijn omgang met specifieke ARM-registers gelijkstelt aan die van Windows en macOS.

Bij het nabootsen van instructies van Intel- en AMD-chips op een ARM-processor telt elke millimeter aan efficiëntie. In deze nieuwste uitgave is de vertaalslag van code verder aangescherpt, waardoor programma’s en games via Wine over het algemeen soepeler moeten reageren. Om echter het maximale uit de ARM-architectuur te halen, willen de ontwikkelaars gebruikmaken van een hardware-eigenschap die binnen de officiële specificaties valt. Waar Windows op ARM en macOS op Apple Silicon deze registers al volgens de standaard benaderen, wijkt de Linux-kernel daar momenteel nog van af.

In de praktijk merken bezitters van een ARM-apparaat met Linux dat bestaande programma’s dankzij de compileroptimalisaties vlotter opstarten en stabieler functioneren. Toch kan de emulator nog niet op volle kracht draaien zolang de kernel niet wordt aangepast. Pas wanneer die registerverwerking wordt rechtgetrokken, kan FEX bepaalde instructies zonder omwegen doorvoeren, wat verdere prestatiewinst moet opleveren voor zwaardere toepassingen zoals pc-games.

De ontwikkeling laat zien hoe hard er achter de schermen wordt gesleuteld aan de overgang naar ARM-systemen. FEX timmert stevig aan de weg om x86-software naadloos bruikbaar te maken, maar voor het ideale resultaat zal het Linux-ecosysteem op kernniveau nog een stapje moeten zetten.

Bron: https://www.phoronix.com/news/FEX-2611-Released