Stabiles Release von Wine 5.0

Nach einem Jahr Entwicklung und 28 experimentellen Versionen vorgestellt ist die stabile Version der offenen Implementierung der Win32 API - Wine 5.0, die ĂŒber 7400 Änderungen umfasst. Zu den wichtigsten Errungenschaften der neuen Version zĂ€hlen die Bereitstellung integrierter Wine-Module im PE-Format, UnterstĂŒtzung von Mehrschirmkonfigurationen, die neue Implementierung der Sound-API XAudio2 und die UnterstĂŒtzung der Grafik-API Vulkan 1.1.

In Wine ist die vollstÀndige FunktionalitÀt von 4869 (vor einem Jahr 4737) Windows-Anwendungen bestÀtigt, wobei weitere 4136 (vor einem Jahr 4045) Anwendungen hervorragend mit zusÀtzlichen Anpassungen und externen DLLs funktionieren. Bei 3635 Programmen treten kleinere Probleme auf, die die Verwendung der Hauptfunktionen der Anwendungen nicht beeintrÀchtigen.

Hauptmerkmale Neuheiten Wine 5.0:

  • Module im PE-Format
    • Mit dem MinGW-Compiler werden die meisten Wine-Module jetzt im Format der ausfĂŒhrbaren PE-Dateien (Portable Executable, verwendet in Windows) anstelle von ELF erstellt. Die Verwendung von PE löst Probleme mit der UnterstĂŒtzung verschiedener Kopierschutzschemata, die die IdentitĂ€t von Systemmodulen auf der Festplatte und im Speicher ĂŒberprĂŒfen;
    • PE-executable Dateien werden jetzt im Verzeichnis ~/.wine ($WINEPREFIX) abgelegt, anstatt Platzhalter-DLLs zu verwenden, was die Struktur realistischer erscheinen lĂ€sst als eine tatsĂ€chliche Windows-Installation, jedoch auf Kosten zusĂ€tzlichen Speicherplatzes;
    • Module, die ins PE-Format umgewandelt wurden, können die standardmĂ€ĂŸigen wchar C-Funktionen und Unicode-Konstanten (zum Beispiel L"abc") verwenden;
    • Im Wine C-Laufzeitumgebung wurde die UnterstĂŒtzung fĂŒr die VerknĂŒpfung mit BinĂ€rdateien hinzugefĂŒgt, die in MinGW erstellt wurden, was bei der DLL-Erstellung standardmĂ€ĂŸig anstelle der MinGW-Laufzeit verwendet wird;
  • Grafik-Subsystem
    • UnterstĂŒtzung fĂŒr mehrere Monitore und Grafikadapter wurde hinzugefĂŒgt, einschließlich der Möglichkeit, Einstellungen dynamisch zu Ă€ndern;
    • Der Treiber fĂŒr die Grafik-API Vulkan wurde aktualisiert, um der Spezifikation Vulkan 1.1.126 zu entsprechen;
    • In der Bibliothek WindowsCodecs wurde die Möglichkeit implementiert, zusĂ€tzliche Rasterformatumwandlungen durchzufĂŒhren, einschließlich Formate mit indizierter Palette;
  • Direct3D
    • Bei der AusfĂŒhrung von Vollbildanwendungen mit Direct3D wird der Bildschirmschoner deaktiviert;
    • Im DXGI (DirectX Graphics Infrastructure) wurde eine UnterstĂŒtzung hinzugefĂŒgt, die das Programm ĂŒber die Minimierung seines Fensters informiert, was es dem Programm ermöglicht, ressourcenintensive Operationen wĂ€hrend der Fensterverkleinerung zu reduzieren;
    • FĂŒr Anwendungen, die DXGI verwenden, wurde die Möglichkeit implementiert, zwischen Vollbild- und Fensterbetrieb mit der Kombination Alt+Enter zu wechseln;
    • Die Implementierung von Direct3D 12 wurde erweitert, zum Beispiel wurde die UnterstĂŒtzung fĂŒr den Wechsel zwischen Vollbild- und Fensterbetrieb, die Änderung der Bildschirmmodi, die Ausgabe mit Skalierung und die Steuerung des Swap-Intervalls hinzugefĂŒgt;
    • Die Verarbeitung verschiedener GrenzfĂ€lle wurde verbessert, wie zum Beispiel die Verwendung von Werten, die außerhalb der zulĂ€ssigen Bereiche fĂŒr Transparenz- und Tiefentests liegen, das Rendering mit reflektierenden Texturen und Buffern sowie die Verwendung fehlerhafter DirectDraw-Objekte. clipper, die Erstellung von Direct3D-GerĂ€ten fĂŒr fehlerhafte Fenster, die Verwendung sichtbarer Bereiche, deren Mindestwerte gleich den Höchstwerten sind, usw.
    • In Direct3D 8 und 9 wird eine genauere Verfolgung der "schmutzigen" Bereiche von geladenen Texturen gewĂ€hrleistet;
    • Die erforderliche AdressraumgrĂ¶ĂŸe beim Laden von 3D-Texturen, die mit der Methode S3TC komprimiert sind (statt sie vollstĂ€ndig zu laden, werden die Texturen stĂŒckweise geladen), wurde verringert.
    • Das Interface ID3D11Multithread wurde implementiert, um kritische Abschnitte in mehrkernfĂ€higen Anwendungen zu schĂŒtzen;
    • FĂŒr Ă€ltere DirectDraw-Anwendungen wurden verschiedene Verbesserungen und Fehlerkorrekturen im Zusammenhang mit der Lichtberechnung vorgenommen;
    • ZusĂ€tzliche Aufrufe zum Abrufen von Informationen ĂŒber Shader im API ShaderReflection;
    • wurden implementiert; Die UnterstĂŒtzung fĂŒr CPU-basierte Blitter zur Verarbeitung komprimierter Ressourcen wurde zu wined3d hinzugefĂŒgt; Die Datenbank der in Direct3D erkannten Grafikkarten wurde erweitert;
    • Neue RegistrierungsschlĂŒssel HKEY_CURRENT_USER\Software\Wine\Direct3D wurden hinzugefĂŒgt: "shader_backend" (Backend fĂŒr die Arbeit mit Shadern: "glsl" fĂŒr GLSL, "arb" fĂŒr ARB Vertex/Fragment und "none" zur Deaktivierung der ShaderunterstĂŒtzung), "strict_shader_math" (0x1 — aktivieren, 0x0 — deaktivieren der Transformationen der Direct3D-Shader). Der SchlĂŒssel "UseGLSL" wurde als veraltet erklĂ€rt (verwendet stattdessen "shader_backend");
    • Die UnterstĂŒtzung fĂŒr den Mechanismus zur Kompression von 3D-Texturen S3TC (S3 Texture Compression) wurde implementiert;
  • D3DX
  • Kern (Windows Kernel-Schnittstellen)
    • KernelBase verschoben, um den Änderungen in der Windows-Architektur Rechnung zu tragen;
      KernelBase verschoben, um den Änderungen in der Windows-Architektur zu folgen;
    • Die Möglichkeit, 32- und 64-Bit-DLLs in Verzeichnissen, die zum Laden verwendet werden, zu mischen. Bibliotheken, die nicht der aktuellen Bit-Tiefe (32/64) entsprechen, werden ignoriert, falls spĂ€ter im Pfad eine passende Bibliothek fĂŒr die aktuelle Bit-Tiefe gefunden werden kann.
    • FĂŒr GerĂ€tetreiber wurde die Emulation von Kernelobjekten verbessert.
    • Kernel-niveau Synchronisationsobjekte wie Spinlocks, schnelle Mutex und ressourcengebundene Variablen sind jetzt implementiert.
    • Die korrekte Benachrichtigung von Anwendungen ĂŒber den Batteriestatus wird sichergestellt.
  • BenutzeroberflĂ€che und Integration mit dem Desktop
    • Minimierte Fenster werden jetzt mit einer Titelleiste anstelle eines Symbols im Stil von Windows 3.1 angezeigt.
    • Neue SchaltflĂ€chenstile hinzugefĂŒgt SplitButton (SchaltflĂ€che mit Dropdown-Aktionsliste) und Command Links (Links in Dialogfenstern, die verwendet werden, um zur nĂ€chsten Phase zu wechseln).
    • FĂŒr die Ordner 'Downloads' und 'Templates' wurden symbolische Links erstellt, die auf die entsprechenden Verzeichnisse in Unix-Systemen verweisen.
  • EingabegerĂ€te
    • Beim Start werden die notwendigen Plug & Play-GerĂ€tetreiber installiert und geladen.
    • Die UnterstĂŒtzung fĂŒr Spielcontroller wurde verbessert, einschließlich mini-Joypad (Hat-Schalter), Lenkrad und Gaspedal sowie Bremsen.
    • Die UnterstĂŒtzung des alten Linux-API fĂŒr die Interaktion mit Joysticks, die in Linux-Kernen vor Version 2.2 verwendet wurde, wurde eingestellt.
  • .NET
    • Die Mono-Engine wurde auf die Version 4.9.4 aktualisiert und beinhaltet jetzt Teile des Windows Presentation Foundation (WPF)-Frameworks.
    • Die Möglichkeit, Erweiterungen mit Mono und Gecko in ein gemeinsames Verzeichnis zu installieren, bei dem sich die Dateien in der Hierarchie /usr/share/wine befinden, anstatt sie in neue PrĂ€fixe zu kopieren, wurde hinzugefĂŒgt.
  • NetzwerkfĂ€higkeiten
    • Die Browser-Engine Wine Gecko, die in der MSHTML-Bibliothek verwendet wird, wurde auf Version 2.47.1 aktualisiert. Neue HTML-API werden unterstĂŒtzt.
    • In MSHTML wurde die UnterstĂŒtzung fĂŒr SVG-Elemente implementiert.
    • Viele neue VBScript-Funktionen wurden hinzugefĂŒgt (z. B. Fehler- und Ausnahmbehandler, Funktionen Hour, Day, Month, String, LBound, RegExp.Replace, RScriptTypeInfo_* und ScriptTypeComp_Bind* usw.).
    • Die Speicherung des Skriptzustands in VBScript und JScript (Script-Persistenz) wurde sichergestellt.
    • Eine erste Implementierung des HTTP-Dienstes (WinHTTP) und der zugehörigen API (HTTPAPI) fĂŒr Client- und Serveranwendungen, die Anfragen ĂŒber das HTTP-Protokoll senden und empfangen, wurde hinzugefĂŒgt.
    • Die Möglichkeit, HTTP-Proxy-Einstellungen ĂŒber DHCP zu erhalten, wurde implementiert.
    • UnterstĂŒtzung fĂŒr die Weiterleitung von Authentifizierungsanfragen ĂŒber den Microsoft Passport-Dienst hinzugefĂŒgt;
  • Kryptographie
    • Die UnterstĂŒtzung fĂŒr kryptografische SchlĂŒssel auf Basis elliptischer Kurven (ECC) bei der Verwendung von GnuTLS wurde implementiert;
    • Die Möglichkeit zum Import von SchlĂŒsseln und Zertifikaten aus Dateien im PFX-Format wurde hinzugefĂŒgt;
    • Die UnterstĂŒtzung fĂŒr ein passwortbasiertes SchlĂŒsselgenerierungsschema PBKDF2 wurde hinzugefĂŒgt;
  • Text und Schriftarten
    • In der Implementierung der DirectWrite-API wurde die UnterstĂŒtzung fĂŒr OpenType-Funktionen hinzugefĂŒgt, die sich auf die Positionierung von Glyphen beziehen,die standardmĂ€ĂŸig fĂŒr die Schriftart Latin aktiviert sind, einschließlich Kerning;
    • Die Sicherheit der Verarbeitung von Schriftartdaten wurde durch die ÜberprĂŒfung der Korrektheit verschiedener Datentabellen vor deren Verwendung erhöht;
    • Die DirectWrite-Schnittstellen wurden an das aktuelle SDK angepasst;
  • Ton und Video
    • Eine neue Implementierung der Audio-API XAudio2, die auf dem Projekt basiert FAudio. Die Verwendung von FAudio in Wine ermöglicht eine höhere AudioqualitĂ€t in Spielen und aktiviert Funktionen wie LautstĂ€rke-Mischung und erweiterte Audioeffekte;
    • Eine große Anzahl neuer Aufrufe wurde in die Implementierung des Media Foundation-Frameworks eingefĂŒgt, einschließlich der UnterstĂŒtzung von integrierten und benutzerdefinierten asynchronen Warteschlangen, Source Reader API, Media Session usw.
    • Der Videoaufnahmefilter wurde auf die Verwendung der API v4l2 anstelle der API v4l1 umgestellt, was den unterstĂŒtzten Kamera-Bereich erweitert hat;
    • Eingebaute Decoder fĂŒr AVI, MPEG-I und WAVE wurden entfernt, stattdessen werden nun die systemeigenen GStreamer oder QuickTime verwendet;
    • Ein Teilmenge von Konfigurations-APIs VMR7 wurde hinzugefĂŒgt;
    • In den Audiotreibern wurde die UnterstĂŒtzung fĂŒr die Anpassung der LautstĂ€rke einzelner KanĂ€le hinzugefĂŒgt;
  • Internationalisierung
    • Die Unicode-Tabellen wurden auf Version 12.1.0 aktualisiert;
    • Die UnterstĂŒtzung fĂŒr die Normalisierung von Unicode wurde implementiert;
    • Die automatische Festlegung der geografischen Region (HKEY_CURRENT_USER\Control Panel\International\Geo) basierend auf der aktuellen Lokalisierung wurde sichergestellt;
  • RPC/COM
    • Die Typbibliothek hat die UnterstĂŒtzung fĂŒr komplexe Strukturen und Arrays erhalten;
    • Eine erste Implementierung der Runtime-Bibliothek Windows Script wurde hinzugefĂŒgt;
    • Eine erste Implementierung der ADO-Bibliothek (Microsoft ActiveX Data Objects) wurde hinzugefĂŒgt;
  • Installer
    • FĂŒr den MSI-Installer wurde die UnterstĂŒtzung fĂŒr die Bereitstellung von Patches (Patch Files) implementiert;
    • Im WUSA-Tool (Windows Update Standalone Installer) wurde die Möglichkeit zur Installation von Updates im .MSU-Format hinzugefĂŒgt;
  • Die ARM-Plattform
    • FĂŒr die ARM64-Architektur wurde in ntdll die UnterstĂŒtzung fĂŒr das Stack-Unwinding hinzugefĂŒgt. UnterstĂŒtzung fĂŒr die externe Bibliothek libunwind wurde implementiert;
    • FĂŒr die Architektur ARM64 wurde die UnterstĂŒtzung fĂŒr stubless proxies fĂŒr Objektinterfaces implementiert;
  • Entwicklungstools / Winelib
    • Die Möglichkeit zur Verwendung des Debuggers aus Visual Studio fĂŒr das Remote-Debugging von Anwendungen, die in Wine ausgefĂŒhrt werden, wurde hinzugefĂŒgt;
    • Die Bibliothek DBGENG (Debug Engine) wurde teilweise implementiert;
    • Die fĂŒr Windows erstellten Executables sind nicht mehr von libwine abhĂ€ngig, was es ermöglicht, sie unter Windows ohne zusĂ€tzliche AbhĂ€ngigkeiten auszufĂŒhren;
    • Im Resource Compiler und IDL Compiler wurde die Option ‘—sysroot’ zum Festlegen des Pfades fĂŒr die Header-Dateien hinzugefĂŒgt;
    • Im winegcc wurden die Optionen ‘—target’, ‘—wine-objdir’,
      ‘—winebuild’ und ‘-fuse-ld’ hinzugefĂŒgt, die die Einrichtung der Umgebung fĂŒr das Cross-Compiling erleichtern;
  • Eingebettete Anwendungen
    • Das Tool CHCP zur Anpassung der Konsolecodierung wurde implementiert;
    • Das Tool MSIDB zur Manipulation von Datenbanken im MSI-Format wurde implementiert;
  • Leistungsoptimierung
    • Verschiedene Funktionen zur Zeitbearbeitung wurden auf die Verwendung von leistungsstarken systemeigenen Timer-Funktionen umgestellt, was die Overheadkosten in der Render-Schleife vieler Spiele senkte;
    • Die Möglichkeit zur Verwendung im FS Ext4 wurde hinzugefĂŒgt Modus Betrieb ohne BerĂŒcksichtigung der Groß- und Kleinschreibung;
    • Die Verarbeitung großer Mengen von Elementen in Dialogen zur Listenausgabe, die im LBS_NODATA-Modus arbeiten, wurde optimiert;
    • Eine schnellere Implementierung von SRW-Locks (Slim Reader/Writer) fĂŒr Linux wurde hinzugefĂŒgt, umgestellt auf Futex;
  • Externe AbhĂ€ngigkeiten
    • FĂŒr den Aufbau von Modulen im PE-Format wurde der Cross-Compiler MinGW-w64 verwendet;
    • Die Implementierung von XAudio2 erfordert die Bibliothek FAudio;
    • Um Änderungen an Dateien in BSD-Systemen zu verfolgen,
      wurde die Bibliothek Inotify verwendet;
    • Zur Behandlung von Ausnahmen auf der ARM64-Plattform ist die Bibliothek Unwind erforderlich;
    • Statt Video4Linux1 wird jetzt die Bibliothek Video4Linux2 benötigt.

Quelle: opennet.ru

ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server đŸ”„ ZuverlĂ€ssiges Hosting fĂŒr Websites mit DDoS-Schutz kaufen, VPS VDS Server - ProHoster