Oudere 32-bit Windows-spellen draaien straks soepeler in Wine dankzij nieuwe OpenGL-optimalisatie

Ontwikkelaars van de compatibiliteitslaag Wine hebben een belangrijke optimalisatie doorgevoerd voor het draaien van oudere 32-bit Windows-programma’s en games op Linux. Dankzij een nieuwe integratie met grafische bibliotheek Mesa kunnen 32-bit toepassingen die gebruikmaken van OpenGL voortaan veel directer communiceren met moderne 64-bit stuurprogramma’s. Hierdoor draaien klassieke software en games soepeler en stabieler, zonder dat je als gebruiker nog afhankelijk bent van verouderde 32-bit systeembestanden op je Linux-computer.

Het initiatief is afkomstig van ontwikkelaar CodeWeavers en richt zich op de zogeheten WoW64-laag van Wine. Deze laag zorgt ervoor dat 32-bit Windows-applicaties vlekkeloos functioneren op een modern 64-bit systeem. Dat klinkt misschien technisch, maar tot nu toe zorgde het doorsturen van grafische OpenGL-instructies tussen die twee werelden voor flink wat vertraging en complexiteit. Door ondersteuning in te bouwen voor de Mesa-extensie MESA_map_buffer_client_pointer kan het videogeheugen nu directer worden gekoppeld tussen het 32-bit programma en de 64-bit grafische kaart.

In de praktijk betekent dit dat Wine grafische data niet langer omslachtig hoeft te kopiëren en om te zetten. Voor gamers vertaalt zich dat merkbaar in hogere framerates en minder haperingen in oudere Windows-spellen die op OpenGL draaien. Tegelijkertijd zorgt de verandering voor een schonere Linux-installatie. Distributies hoeven immers steeds minder 32-bit grafische bibliotheken mee te leveren om oudere software toch vlot te laten werken.

De aanpassing sluit naadloos aan bij de koers die Wine al langere tijd vaart: het moderniseren van de interne structuur en het geleidelijk uitfaseren van verouderde afhankelijkheden. Wie graag klassieke pc-games via Linux speelt, zal de vruchten van deze verbetering kunnen plukken in een van de komende Wine-versies.

Bron: https://www.phoronix.com/news/Wine-Mesa-Map-Buffer-Client-Ptr