Lansare stabilă a Wine 8.0

După un an de dezvoltare și 28 de versiuni experimentale, a fost prezentată o versiune stabilă a implementării deschise a API-ului Win32 - Wine 8.0, care a încorporat peste 8600 de modificări. Realizarea cheie în noua versiune marchează finalizarea lucrărilor de traducere a modulelor Wine în format.

Wine a confirmat funcționarea completă a 5266 (acum un an 5156, acum doi ani 5049) programe pentru Windows, alte 4370 (acum un an 4312, acum doi ani 4227) programe funcționează perfect cu setări suplimentare și DLL-uri externe. 3888 de programe (3813 acum un an, 3703 acum doi ani) au probleme operaționale minore care nu interferează cu utilizarea funcțiilor principale ale aplicațiilor.

Inovații cheie în Wine 8.0:

  • Module în format PE
    • După patru ani de muncă, conversia tuturor bibliotecilor DLL pentru a utiliza formatul de fișier executabil PE (Portable Executable, utilizat în Windows) a fost finalizată. Utilizarea PE permite utilizarea depanatoarelor disponibile pentru Windows și rezolvă problemele legate de suportarea diferitelor scheme de protecție la copiere care verifică identitatea modulelor de sistem pe disc și în memorie. Au fost de asemenea rezolvate problemele legate de rularea aplicațiilor pe 32 de biți pe gazde pe 64 de biți și a aplicațiilor x86 pe sistemele ARM. Printre sarcinile rămase care sunt planificate să fie rezolvate în versiunile experimentale ulterioare ale Wine 8.x, există o tranziție a modulelor la interfața de apel de sistem NT în loc să se efectueze apeluri directe între straturile PE și Unix.
    • A fost implementat un manager special de apeluri de sistem, folosit pentru a traduce apelurile din bibliotecile PE în Unix, pentru a reduce costul general al executării unui apel de sistem complet NT. De exemplu, optimizarea a făcut posibilă reducerea degradării performanței atunci când se utilizează bibliotecile OpenGL și Vulkan.
    • Aplicațiile Winelib păstrează capacitatea de a utiliza ansambluri mixte Windows/Unix ale bibliotecilor ELF (.dll.so), dar astfel de aplicații fără biblioteci pe 32 de biți nu vor suporta funcționalitatea disponibilă prin interfața de apel de sistem NT, cum ar fi WoW64.
  • WoW64
    • Straturile WoW64 (Windows pe 64 de biți pe Windows) sunt furnizate pentru toate bibliotecile Unix, permițând modulelor pe 32 de biți în format PE să acceseze bibliotecile Unix pe 64 de biți, care, după ce scăpa de apelurile directe PE/Unix, îl vor face este posibil să executați aplicații Windows pe 32 de biți fără a instala biblioteci Unix pe 32 de biți.
    • În absența unui încărcător Wine pe 32 de biți, aplicațiile pe 32 de biți pot rula în noul mod experimental, asemănător Windows-ului, WoW64, în care codul pe 32 de biți rulează într-un proces pe 64 de biți. Modul este activat la construirea Wine cu opțiunea „--enable-archs”.
  • Subsistemul grafic
    • Configurația implicită folosește tema luminoasă („Lumină”). Puteți schimba tema folosind utilitarul WineCfg.
      Lansare stabilă a Wine 8.0
    • Driverele grafice (winex11.drv, winemac.drv, wineandroid.drv) sunt convertite pentru a executa apeluri de sistem la nivel Unix și accesează driverele prin biblioteca Win32u.
      Lansare stabilă a Wine 8.0
    • A fost implementată arhitectura Print Processor, care este folosită pentru a elimina apelurile directe între nivelurile PE și Unix din driverul de imprimantă.
    • Direct2D API acceptă acum efecte.
    • Direct2D API a adăugat capacitatea de a înregistra și reda liste de comenzi.
    • Driverul pentru API-ul grafic Vulkan a adăugat suport pentru specificația Vulkan 1.3.237 (Vulkan 7 a fost acceptat în Wine 1.2).
  • Direct3D
    • S-a adăugat un nou compilator shader pentru HLSL (High-Level Shader Language), implementat pe baza bibliotecii vkd3d-shader. De asemenea, pe baza vkd3d-shader, au fost pregătite un dezasamblator HLSL și un preprocesor HLSL.
    • Interfața Thread Pump introdusă în D3DX 10 a fost implementată.
    • Efectele Direct3D 10 adaugă suport pentru multe expresii noi.
    • Biblioteca de suport pentru D3DX 9 acceptă acum proiectarea texturii Cubemap.
  • Sunet și video
    • Pe baza cadrului GStreamer, a fost implementat suport pentru filtre pentru decodarea audio în format MPEG-1.
    • S-a adăugat un filtru pentru citirea în flux audio și video în format ASF (Advanced Systems Format).
    • Stratul intermediar de bibliotecă OpenAL32.dll a fost eliminat, în locul căruia acum este folosită biblioteca nativă Windows OpenAL32.dll, furnizată cu aplicații.
    • Media Foundation Player a îmbunătățit detectarea tipului de conținut.
    • A fost implementată capacitatea de a controla rata de transfer de date (Controlul ratei).
    • Suport îmbunătățit pentru mixerul și prezentatorul implicit în Enhanced Video Renderer (EVR).
    • S-a adăugat implementarea inițială a API-ului Writer Encoding.
    • Suport îmbunătățit pentru încărcătorul de topologie.
  • Dispozitive de intrare
    • Suport îmbunătățit semnificativ pentru conectarea la cald a controlerelor.
    • Se propune o implementare îmbunătățită a codului de determinare a volanelor de joc, construit pe baza bibliotecii SDL.
    • Suport îmbunătățit pentru efectul de feedback Forță atunci când utilizați roțile de joc.
    • A fost implementată capacitatea de a controla motoarele cu vibrații stânga și dreapta folosind specificația HID Haptic.
    • S-a schimbat designul panoului de control joystick.
    • Suportul pentru controlerele Sony DualShock și DualSense este oferit prin utilizarea backend-ului hidraw.
    • Modulul WinRT Windows.Gaming.Input este propus cu implementarea unei interfețe software pentru accesarea gamepad-urilor, joystick-urilor și roților de gaming. Pentru noul API, printre altele, este implementat suport pentru notificarea de conectare la cald a dispozitivelor, efecte tactile și de vibrații.
  • Internaționalizare
    • Este asigurată generarea bazei de date locale corecte în format locale.nls din depozitul Unicode CLDR (Unicode Common Locale Data Repository).
    • Funcțiile de comparare a șirurilor Unicode au fost mutate pentru a utiliza baza de date și algoritmul Windows Sortkey în loc de algoritmul Unicode Colation, aducând comportamentul mai aproape de Windows.
    • Cele mai multe caracteristici au adăugat suport pentru intervalele superioare de cod Unicode (planuri).
    • Este posibil să utilizați UTF-8 ca codificare ANSI.
    • Tabelele de caractere au fost actualizate la specificația Unicode 15.0.0.
  • Text și fonturi
    • Legarea fonturilor a fost activată pentru majoritatea fonturilor de sistem, rezolvând problema lipsei de glife pe sistemele cu locații chineze, coreene și japoneze.
    • Fontul alternativ de rezervă reelaborat în DirectWrite.
  • Kernel (interfețe Windows Kernel)
    • A fost implementată baza de date ApiSetSchema, care a înlocuit modulele api-ms-* și a redus consumul de spațiu pe disc și adrese.
    • Atributele fișierelor DOS sunt salvate pe disc într-un format compatibil Samba folosind atribute FS extinse.
  • Caracteristici de rețea
    • S-a adăugat suport pentru OCSP (Online Certificate Status Protocol), utilizat pentru a verifica certificatele revocate.
    • Gama de funcții EcmaScript disponibile în modul de conformitate cu standardele JavaScript a fost extinsă.
    • Am implementat un colector de gunoi pentru JavaScript.
    • Pachetul de motor Gecko include funcții pentru persoanele cu dizabilități.
    • MSHTML adaugă suport pentru API-ul de stocare web, obiectul Performance și obiecte suplimentare pentru gestionarea evenimentelor.
  • Aplicații încorporate
    • Toate aplicațiile încorporate au fost convertite pentru a utiliza biblioteca Common Controls 6, cu suport pentru teme de design și randare ținând cont de ecranele cu densitate mare de pixeli.
    • Capacități îmbunătățite pentru depanarea firelor în Wine Debugger (winedbg).
    • Utilitarele de registry (REGEDIT și REG) acceptă acum tipul QWORD.
    • Notepad a adăugat o bară de stare cu informații despre poziția cursorului și o funcție Goto Line pentru a merge la un anumit număr de linie
    • Consola încorporată oferă date de ieșire în pagina de coduri OEM.
    • Comanda „query” a fost adăugată la utilitarul sc.exe (Service Control).
  • Sistem de asamblare
    • Este oferită capacitatea de a construi fișiere executabile în format PE pentru mai multe arhitecturi (de exemplu, „—enable-archs=i386,x86_64”).
    • Pe toate platformele cu tipul lung de 32 de biți, tipurile de date definite ca lungi în Windows sunt acum redefinite ca „long” în loc de „int” în Wine. În Winelib, acest comportament poate fi dezactivat prin definiția WINE_NO_LONG_TYPES.
    • S-a adăugat capacitatea de a genera biblioteci fără a utiliza dlltool (activat prin setarea opțiunii „--without-dlltool” în winebuild).
    • Pentru a îmbunătăți eficiența încărcării și pentru a reduce dimensiunea bibliotecilor fără cod și numai resurse, winegcc implementează opțiunea „--data-only”.
  • Miscelaneu
    • Versiuni actualizate ale bibliotecilor încorporate Faudio 22.11, LCMS2 2.14, LibJPEG 9e, LibMPG123 1.31.1, LibPng 1.6.39, LibTiff 4.4.0, LibXml2 2.10.3, LibXslt 1.1.37, LibXslt 1.2.13.
    • Motorul Wine Mono cu implementarea platformei .NET a fost actualizat pentru lansarea 7.4.
    • A fost implementat suport pentru criptarea bazată pe algoritmul RSA și semnăturile digitale RSA-PSS.
    • S-a adăugat versiunea inițială a UI Automation API.
    • Arborele sursă include bibliotecile LDAP și vkd3d, care sunt compilate în format PE, eliminând nevoia de a furniza ansambluri Unix ale acestor biblioteci.
    • Biblioteca OpenAL a fost întreruptă.

Sursa: opennet.ru

Adauga un comentariu