De nieuwe release van Wine (versie 8.0) maakt het mogelijk om Windows-applicaties te draaien op andere besturingssystemen dankzij de ondersteuning van Portable Executable Format (PE).
Portable Executable Format in Wine 8.0
Met de nieuwe versie 8.0 van Wine is het ontwikkelingsteam erin geslaagd om alle modules te migreren naar het Portable Executable Format (PE). Met Wine wordt het makkelijker gemaakt om Windows-software op andere besturingssystemen zoals Linux & MacOS te draaien. Door de nieuwe versie zijn er zelfs een groot aantal functies bijgekomen.
Nieuw in Wine 8.0: draagbaar uitvoerbaar formaat
De ontwikkelaars van Wine hebben met de release van Wine 8.0 het migratieproces naar het Portable Executable (PE) formaat volledig afgerond, nadat ze eerder al aangekondigd hadden dat alle modules, met uitzondering van enkele, waren geconverteerd naar het binaire Windows-formaat in versie 7.0. Dit maakt het mogelijk voor ontwikkelaars om complexere vereisten zoals kopieerbeveiliging en Windows Debugger te ondersteunen bij het uitvoeren van Windows-toepassingen. Het is de bedoeling dat je in de toekomst 32-bits applicaties kunt draaien op 64-bits hosts of x86-applicaties op ARM-systemen.
Nieuwe syscall-dispatcher
Voor de transitie naar Unix hebben de ontwikkelaars van Wine ook een nieuwe syscall-dispatcher ontworpen. Daarmee vermijd je “complexere” NT-systeemaanroepen om potentiële prestatieproblemen te voorkomen, vooral met OpenGL- en Vulkan-bibliotheken.
32-bits PE-modules kunnen nu 64-bits Unix-bibliotheken gebruiken
Door aanpassingen aan WoW64 kunnen 32-bits PE-modules nu 64-bits Unix-bibliotheken gebruiken. Helaas kun je nog steeds geen 32-bits Windows-applicaties volledig draaien zonder 32-bits Unix-bibliotheken. De ontwikkelaars van Wine hebben wel een experimentele modus ontwikkeld voor als de 32-bit Wine-Loader ontbreekt. Die is vergelijkbaar met WoW64 op Windows en kun je activeren met de optie “–enable-archs“. Hou er wel rekening mee dat deze modus nog niet vrijgegeven is voor algemeen gebruik.
Reconstructie van statische C++-constructors
Het mechanisme voor het uitvoeren van statische C++-constructors in Winelib ELF-applicaties moest door de ontwikkelaars van Wine opnieuw worden ontworpen door de migratie naar PE. Als je gebruikmaakt van oudere modules, dan worden deze hierdoor beïnvloed. Deze moet je nu dus opnieuw bouwen met Wine 8.0. Anders zullen de statische constructors niet meer worden uitgevoerd.
Omgevingsvariabele voor D3D-configuratie in Wine 8.0
In de nieuwe release van Wine zijn er ook verbeteringen voor Direct3D. Zo zijn er optimalisaties voor streaming-maps toegevoegd. Afhankelijk van de toepassing zorgt dit voor een aanzienlijke verbetering van de prestaties. De instellingen voor Direct3D die eerder werden gedaan in de registry, kunnen nu worden ingesteld via de omgevingsvariabele WINE_D3D_CONFIG. De waarden kunnen worden opgegeven als een lijst met komma’s of puntkomma’s als scheidingsteken, of als sleutel-waardeparen.
Een compleet overzicht van alle wijzigingen in Wine 8.0 is te vinden in de changelog op de projectpagina. De broncode kun je al downloaden , evenals de binaire pakketten voor verschillende distributies.
HDR-games op Linux met Wine en DXVK
Als je geïnteresseerd bent in gamen op Linux, dan kun je ook eens kijken naar de nieuwe release van DXVK 2.1. De op Wine afgestemde programmabibliotheek vertaalt Direct3D versies 9, 10 en 11 voor Vulkan om 3D-applicaties onder Linux te kunnen draaien. De update introduceert voor het eerst ondersteuning voor HDR 10. Hou er rekening mee dat je normaal gesproken HDR nog niet native kunt gebruiken in de meeste Linux-desktopomgevingen. Hiervoor is dus ook een Gamescope-sessie vereist met de HDR-optie ingeschakeld. Dat vereist op zijn beurt het AMD GPU-stuurprogramma en aanvullende kernelpatches. In de release-notesvan DXVK 2.1 op Github kun je meer informatie hierover vinden.
Ontvang gratis info over onder andere Linux en software, schrijf je in voor de nieuwsbrief: