Wine 5.0 veröffentlicht

Am 21. Januar 2020 fand die offizielle Veröffentlichung der stabilen Version von Wine 5.0 statt , dem kostenlosen Tool zum Starten nativer Windows-Programme in einer UNIX-Umgebung. Dies ist eine alternative, kostenlose Implementierung der Windows-API. Das rekursive Akronym WINE bedeutet "Wein ist kein Emulator".

Diese Version hat ungefähr ein Jahr Entwicklung und mehr als 7400 individuelle Änderungen. Hauptentwickler Alexander Julliard identifiziert vier:

  • Unterstützung für Module im PE-Format. Dies löst die Probleme mit verschiedenen Kopierschutzschemata, mit denen die Systemmodule auf der Festplatte und im Speicher überprüft werden.
  • Unterstützung für mehrere Monitore und mehrere GPUs, einschließlich sich dynamisch ändernder Einstellungen.
  • Neuimplementierung von XAudio2 basierend auf dem FAudio-Projekt, einer Open-Source-Implementierung von DirectX-Soundbibliotheken. Wenn Sie zu FAudio wechseln, können Sie in Spielen eine höhere Klangqualität erzielen, Lautstärkemixer, erweiterte Soundeffekte usw. verwenden.
  • Unterstützung für Vulkan 1.1.

Weitere Details zu wichtigen Innovationen.

PE-Module


Mit dem MinGW-Compiler werden die meisten Wine-Module jetzt im PE-Format (Portable Executable, Windows Binary) anstelle von ELF kompiliert.

PE-ausführbare Dateien werden jetzt in das ~/.wine kopiert, anstatt Dummy-DLLs zu verwenden, wodurch Anwendungen eher wie echte Windows-Installationen aussehen.

Bisher wurden nicht alle Module in das PE-Format konvertiert. Die Arbeit geht weiter.

Grafik-Subsystem


Wie oben erwähnt, wurde die Unterstützung für die Arbeit mit mehreren Monitoren und Grafikadaptern hinzugefügt.

Der Vulkan-Treiber wurde auf die Spezifikationen von Vulkan 1.1.126 aktualisiert.

Darüber hinaus unterstützt die WindowsCodecs-Bibliothek jetzt zusätzliche Rasterformate, einschließlich indizierter Palettenformate.

Direct3d


Direct3D-Vollbildanwendungen blockieren jetzt den Bildschirmschoner-Aufruf.

Für DXGI-Anwendungen ist es möglich, mit der Standardkombination Alt + Eingabe zwischen Vollbild- und Fenstermodus zu wechseln.

Die Funktionen von Direct3D 12 wurden erweitert: Unterstützung für das Umschalten zwischen Vollbild- und Fenstermodus, das Ändern des Bildschirmmodus, skalierte Ansichten und das Ersetzen von Austauschintervallen. Alle diese Funktionen wurden bereits für frühere Versionen der Direct3D-API implementiert.

Die Projektteilnehmer haben Hunderte von Fehlern sorgfältig ausgearbeitet und beseitigt, so dass die Verarbeitung von Wein für verschiedene Grenzsituationen verbessert wurde. Dazu gehören das Abtasten von 2D-Ressourcen in 3D-Samplern und umgekehrt, die Verwendung von Anfangswerten außerhalb des Bereichs für Transparenz- und Tiefentests, das Rendern mit reflektierten Texturen und Puffern, die Verwendung von falschen Clippern (DirectDraw-Objekt) und vieles mehr.

Reduziert die Größe des erforderlichen Adressraums beim Laden von 3D-Texturen, die mit der S3TC-Methode komprimiert wurden (anstatt die gesamten Texturen mit Teilen zu laden).

Für ältere DirectDraw-Anwendungen wurden verschiedene Verbesserungen und Korrekturen in Bezug auf die Beleuchtungsberechnung vorgenommen.

Die Basis der in Direct3D erkannten Grafikkarten wurde erweitert.

Netzwerk und Kryptographie


Die Gecko-Engine wurde auf Version 2.47.1 aktualisiert, um moderne Tools zu unterstützen. Eine Reihe neuer HTML-APIs wurde implementiert.

MSHTML implementiert die Unterstützung für SVG-Elemente.

Es wurden viele neue VBScript-Funktionen hinzugefügt (z. B. Fehler- und Ausnahmebehandlungsroutinen).

Möglichkeit zum Abrufen von HTTP-Proxyeinstellungen über DHCP implementiert.

Im kryptografischen Teil wurde die Unterstützung für kryptografische Schlüssel auf der Basis elliptischer Kurven (ECC) über GnuTLS implementiert, die Möglichkeit zum Importieren von Schlüsseln und Zertifikaten aus Dateien im PFX-Format wurde hinzugefügt, und die Unterstützung für das auf dem Kennwort PBKDF2 basierende Schlüsselerzeugungsschema wurde hinzugefügt.


Adobe Photoshop CS6 unter Wine

Andere bedeutende Innovationen


  • Unterstützung für NT-Kernel-Spinlocks.
  • Aufgrund des Ablaufs des Patents für Texturkomprimierung, DXTn und S3, wurde es möglich, sie in die Standardimplementierung aufzunehmen.
  • Unterstützung für die Installation von Plug-and-Play-Treibern.
  • Verschiedene Verbesserungen an DirectWrite.
  • Verbesserte Unterstützung für die Windows Media Foundation-API.
  • Bessere primitive Synchronisation dank Implementierung in Futexes.
  • Teilen Sie Wine-Mono, um Platz zu sparen, anstatt die Open-Source-.NET-Implementierung für jeden ~/.wine .
  • Unterstützung für Unicode 12.0 und 12.1.
  • Implementieren des anfänglichen HTTP-Dienstes (HTTP.sys) als Ersatz für die Winsock-API und IIS, was zu einer besseren Leistung als die Windows Sockets-API führt.
  • Bessere Kompatibilität mit Windows-Debuggern.
  • Bessere Unterstützung für LLVM MinGW und verbesserte Cross-Compilation von WineGCC.

Sie können auch die Verbesserungen in der Benutzeroberfläche erwähnen. Beispielsweise werden minimierte Fenster jetzt mithilfe der Titelleiste anstelle von Windows 3.1-Symbolen angezeigt. Verbesserte Unterstützung für Gamecontroller, einschließlich Hutschalter, Lenkrad und Pedale.

Die integrierten AVI-, MPEG-I- und WAVE-Decoder wurden aus Wine entfernt. Stattdessen werden jetzt der System-GStreamer oder QuickTime verwendet.

Die Möglichkeit, den Debugger von Visual Studio für das Remote-Debugging von in Wine ausgeführten Anwendungen zu verwenden, wurde hinzugefügt. Die DBGENG-Bibliothek (Debug Engine) ist teilweise implementiert. Die Abhängigkeit von libwine wird aus den für Windows gesammelten Dateien entfernt.

Um die Leistung zu optimieren, wurden schließlich verschiedene Arbeitsfunktionen auf die Verwendung leistungsfähiger Systemfunktionen für die Arbeit mit einem Timer übertragen, wodurch der Aufwand im Renderzyklus vieler Spiele verringert werden konnte. Andere Leistungsoptimierungen wurden vorgenommen.

Die vollständige Liste der Änderungen finden Sie hier .

Wine 5.0-Quellcode , Spiegel
Binaries für verschiedene Distributionen
Die Dokumentation

Die AppDB- Website enthält eine Datenbank mit Windows-kompatiblen Anwendungen, die mit Wine kompatibel sind. Hier sind die Führer in der Anzahl der Stimmen :

  1. Final Fantasy XI
  2. Adobe Photoshop CS6 (13.0)
  3. World of Warcraft 8.3.0
  4. EVE Online Aktuell
  5. Magic: Die Online-Versammlung 4.x

Es ist davon auszugehen, dass diese Anwendungen in Wine am häufigsten ausgeführt werden.

Hinweis Wine 5.0 ist der Erinnerung an Józef Kucia gewidmet, der im August 2019 im Alter von 30 Jahren bei der Erkundung einer Höhle in Südpolen auf tragische Weise ums Leben kam. Jozef war ein wichtiger Mitarbeiter von Direct3D Wine und Hauptautor des vkd3d- Projekts. Während seiner Arbeit an Wine steuerte er mehr als 2500 Patches bei.

Source: https://habr.com/ru/post/de484972/


All Articles