Windows-API-Nachbau: Wine 7.0 überführt fast alle Komponenten ins PE-Format

Die Laufzeitumgebung Wine soll Windows-Anwendungen auf anderen Betriebssystemen ausführbar machen. Sie setzt auf das Portable-Executable-Format.

In Pocket speichern vorlesen Druckansicht 12 Kommentare lesen
Wine 7.0

(Bild: Pixabay)

Lesezeit: 3 Min.
Von
  • Maika Möbus

Ein Jahr ist seit dem Release von Wine 6.0 vergangen, nun steht die neue Hauptversion bereit. Die Kompatibilitätsschicht, deren Name für "Wine Is Not an Emulator" steht, soll Windows-Anwendungen unter weiteren Betriebssystemen wie Linux, macOS und BSD lauffähig machen. In Version 7.0 setzt das Wine-Team die Arbeit am Portable-Executable-Format (PE) fort: Mit wenigen Ausnahmen sollen nun alle Module in dem Windows-Binärformat vorliegen. Auch lässt sich das Release mit Apple-Silicon-Macs nutzen, inklusive dem Ausführen von x86-64-Binaries unter Rosetta 2. Weitere Neuerungen betreffen unter anderem eine neue Windows-on-Windows-Architektur in 64 Bit (WoW64) und das Theming.

Dank der in Wine 7.0 implementierten neuen 64-Bit-Windows-on-Windows-Architektur sollen sich 32-Bit-Windows-Anwendungen in einem 64-Bit-Unix-Host-Prozess ausführen lassen. Dazu kommen Thunks zum Einsatz, um 32-Bit-NT-Systemaufrufe zur 64-Bit-NTDLL zu mappen. Sie sind für die meisten Unix-Bibliotheken implementiert und erlauben einem 32-Bit-PE-Modul, eine 64-Bit-Unix-Bibliothek aufzurufen. Sobald das Wine-Team alle Module in PE-Module überführt hat, soll sich eine 32-Bit-Anwendung ausführen lassen, ohne 32-Bit-Unix-Bibliotheken installieren zu müssen.

Die Umstellung von DLLs vom Executable and Linkable Format (ELF) begann bereits vor zwei Jahren in Wine 5.0 und setzte sich in Wine 6.0 fort. Nach Version 7.0 soll der Prozess abgeschlossen werden.

Über WineCfg sind neue Theming-Optionen zugänglich: Ein Light-Theme ist in den Farbvarianten Blue oder Classic Blue auswählbar. Alle Standardsteuerelemente (Common Controls) sollen mit dem Theming umgehen können und sich automatisch aktualisieren. Auch alle Built-in-Anwendungen sollen sich so anpassen lassen und zudem High-DPI-Rendering nutzen.

Zu den Grafikneuerungen zählt ein initialer Support für Direct2D-Effekte mithilfe des ID2D1Effect-Interface sowie das Dekodieren von Grafiken im WMP-Format (Windows Media Photo) durch WindowsCodecs sowie das Enkodieren von Grafiken zum DDS-Format (DirectDraw Surface). Derweil entfällt für WindowsCodecs die Möglichkeit, Grafiken zum macOS-ICNS-Format zu enkodieren – das ist unter Windows nicht möglich und wurde auch von Wine nicht mehr eingesetzt.

Weitere Neuerungen betreffen unter anderem ein Update der Mono-Engine auf Version 7.0 sowie des Unicode-Standards auf Version 14.0.

Alle Informationen zu Wine 7.0 inklusive Links zum Sourcecode sind in der Ankündigung zu finden, Binary Packages sollen folgen.

(mai)