„Wine“, „Windows“ suderinamumo sluoksnis, pasiekia 5.0 versiją „Android“.

click fraud protection

„Wine“ yra „Windows“ suderinamumo sluoksnis, leidžiantis vartotojams paleisti „Windows“ programas kitose OS. „Wine for Android“ dabar pasiekė 5.0 versiją – patikrinkite!

„Android“ programų ekosistema per „Android“ gyvavimo metus nuolat vystėsi, nes tai paskatino nuolatinis mobilusis ryšys kaip pagrindinė daugelio žmonių sąveika su kompiuteriu. Daugelis vartotojų pasirinko tik mobiliesiems skirtą gyvenimo būdą, nes programos ir programų ekosistema mobiliuosiuose įrenginiuose sugebėjo patenkinti konkrečius jų poreikius. Bet jei kada nors jums prireiktų darbalaukio programos be prieigos prie darbalaukio, ką darytumėte? Čia atsiranda „Wine“ – „Windows“ suderinamumo sluoksnis, leidžiantis vartotojams paleisti visas „Windows“ programas skirtingose ​​OS. „Wine for Android“ turi dabar pasiekta v5.0, sulygindamas per metus komandos pastangas tobulėti.

„Wine“ yra nemokamas atvirojo kodo suderinamumo sluoksnis, skirtas „Windows“, skirtas leisti kompiuterinėms programoms, kurios buvo sukurtos „Windows“, veikti kitose operacinėse sistemose.

„Wine for Android“ suteikia Wine į „Android“., aišku. Vynas nėra emuliatorius (kuris iš tikrųjų yra rekursyvus pavadinimo pavadinimas), todėl jis gali veikti tik architektūrai būdingos programų versijos – „Wine for Android“ ARM versija veiks tik ARM programomis, o ne x86.

Svarbiausi stabilaus „Wine 5.0“ išleidimo momentai apima kelių monitorių palaikymą ir „Vulkan 1.1“ palaikymą. Visas atnaujinimo pakeitimų žurnalas yra toks:

„Wine 5.0“ pakeitimų žurnalas:

  • PE moduliai:
    • Dauguma modulių yra sukurti PE formatu (Portable Executable, Windows dvejetainiu formatu), o ne ELF, kai yra MinGW kompiliatorius. Tai padeda įvairioms apsaugos nuo kopijavimo schemoms, kurios tikrina, ar sistemos modulių diske ir atmintyje esantis turinys yra identiškas.
    • Tikrieji PE dvejetainiai failai nukopijuojami į „Wine“ priešdėlį, o ne į netikrus DLL failus. Dėl to priešdėlis atrodo labiau panašus į tikrą „Windows“ diegimą, nes tai kainuoja šiek tiek papildomos vietos diske.
    • Moduliai, kurie buvo konvertuoti į PE, gali naudoti standartines plačios raidės C funkcijas, taip pat plačios raidės simbolių konstantas, tokias kaip L"abc". Tai palengvina kodo skaitymą.
    • Dar ne visi moduliai konvertuoti į PE; tai nuolatinis procesas, kuris tęsis Wine 5.x kūrimo serijos metu.
    • Vykdymo laikas Wine C atnaujintas, kad būtų palaikomas susiejimas su MinGW sudarytais dvejetainiais failais; jis naudojamas pagal numatytuosius nustatymus vietoj MinGW vykdymo laiko kuriant DLL.
  • Grafika:
    • Tinkamai palaikomi keli ekrano adapteriai ir monitoriai, įskaitant dinaminius konfigūracijos pakeitimus.
    • Vulkan tvarkyklė palaiko iki 1.1.126 versijos Vulkan spec.
    • „WindowsCodecs“ biblioteka gali konvertuoti daugiau bitmap formatų, įskaitant paletėmis indeksuotus formatus.
  • Direct3D:
    • Viso ekrano „Direct3D“ programos slopina ekrano užsklandą.
    • DXGI swapchain praneša programai, kai atitinkamas langas sumažinamas. Paprastai tai leidžia programoms sumažinti procesoriaus naudojimą, tačiau kai kuriais atvejais reikia, kad programos langas būtų vėl atkurtas.
    • Perjungimas tarp viso ekrano ir lango režimų naudojant standartinį Alt + Enter derinį įgyvendinamas DXGI programoms.
    • „Direct3D 12“ programoms įdiegtos šios funkcijos:
      • Perjungimas tarp viso ekrano ir lango.
      • Ekrano režimų keitimas.
      • Smulkintos dovanos.
      • Sukeisti intervalus. Šios funkcijos anksčiau jau buvo įdiegtos ankstesnėse Direct3D API versijose.
    • Patobulintas įvairių kraštinių dėklų valdymas. Tarp kitų:
      • Alfa ir trafareto bandymų atskaitos vertės nepatenka į diapazoną.
      • 2D išteklių atranka naudojant 3D mėginių imtuvus ir atvirkščiai.
      • Piešimas su susietomis tekstūromis ir buferiais.
      • Netinkamų „DirectDraw“ kirpimo objektų naudojimas.
      • „Direct3D“ įrenginių kūrimas netinkamoje „Windows“, pvz., darbalaukio lange.
      • Peržiūros sritys, kurių mažiausias Z yra didesnis arba lygus didžiausiam Z.
      • Ištekliai vienu metu susiejami per šešėlių išteklių rodinius ir atvaizdavimo taikinio arba gylio trafareto rodinius.
      • Blits tarp formatų su ir be alfa komponentų. Kadangi gerai veikiančios programos nesiremia šiais kraštutiniais atvejais, jos paprastai paveikia tik vieną ar dvi programas. Nepaisant to, jų yra gana daug.
    • Nešvarios tekstūros sritys tiksliau sekamos, kai įkeliamos „Direct3D 8“ ir „9“ tekstūros.
    • S3TC suspaustų 3D tekstūrų įkėlimui reikia mažiau adresų vietos. Kadangi 3D tekstūros gali būti didelės, o adresų erdvės išnaudojimas kelia susirūpinimą 32 bitų programoms, S3TC suglaudintos 3D tekstūros įkeliamos į pjūvį, o ne vieną kartą.
    • Įdiegta ID3D11Multithread sąsaja.
    • Buvo atlikti įvairūs apšvietimo skaičiavimo pataisymai ir patobulinimai senesnėms „DirectDraw“ programoms.
    • Įdiegtas ribotas blitų palaikymas visose apsikeitimo grandinėse.
    • Įdiegta daugiau šešėlių atspindžio API.
    • Wind3d CPU Blitter gali valdyti suglaudintus šaltinio išteklius. Suspaustų paskirties išteklių palaikymas jau buvo įdiegtas ankstesnėje laidoje.
    • „Direct3D“ vaizdo plokščių duomenų bazė atpažįsta daugiau vaizdo plokščių.
    • Nauji HKEY_CURRENT_USER\Software\Wine\Direct3D registro raktai:
      • "shader_backend" (REG_SZ) Naudojama šešėlinė programa. Galimos reikšmės yra "glsl" (numatytasis) GLSL, "arb" ARB viršūnių / fragmentų programoms ir "none", kad išjungtumėte šešėlių palaikymą.
      • „strict_shader_math“ (REG_DWORD)Įgalinkite (0x1) arba išjunkite (0x0, numatytasis) griežtesnį „Direct3D šešėlių“ vertimą, galbūt už našumo kainą. Šiuo metu tai skiriasi tik naudojant numatytąją GLSL Shader backend kartu su patentuotomis NVIDIA tvarkyklėmis.
    • Nebenaudojamas HKEY_CURRENT_USER\Software\Wine\Direct3D registro raktas:
      • "UseGLSL"Tai buvo pakeistas aukščiau nurodytu "shader_backend" nustatymu.
  • D3DX:
    • Įdiegtas tekstūrų suspaudimo palaikymas naudojant S3TC suspaudimą.
    • Įvairios operacijos, kaip pvz. tekstūros užpildai, ant neatvaizduojamų paviršių įgyvendinami teisingiau. Anksčiau jų įgyvendinimas priklausė nuo pagrindinio „Direct3D“ diegimo, kuris neįgyvendino atvaizdavimo apribojimų.
    • Buvo atlikti įvairūs efekto sistemos patobulinimai ir pataisymai.
  • Branduolys:
    • Dauguma funkcijų, kurios anksčiau buvo Kernel32, yra perkeltos į KernelBase, kad būtų laikomasi naujausių Windows versijų architektūros.
    • Netinkamo 32/64 bitų bibliotekos ignoruojamos, kai jos aptinkamos paieškos kelyje, kad būtų galima įkelti tinkamą, jei ji randama toliau kelyje.
    • Branduolio objektai yra geriau emuliuojami įrenginių tvarkyklėse, kurios tikisi manipuliuoti objektais iš branduolio pusės.
    • Įdiegti branduolio lygio sinchronizavimo objektai, tokie kaip sukimosi užraktai, greiti mutexai, užraktų pašalinimas ir išteklių kintamieji.
    • Programoms tinkamai pranešama apie sistemos akumuliatoriaus būseną.
  • Vartotojo sąsaja:
    • Sumažinti langai rodomi naudojant jų pavadinimo juostą, o ne senąsias „Windows 3.1“ stiliaus piktogramas.
    • Įdiegti nauji mygtukų stiliai Split Buttons ir Command Links.
    • Redagavimo valdiklis teisingai nustato paraštes ir CJK šriftams.
  • Stalinio kompiuterio integravimas:
    • Simbolinės nuorodos į atitinkamus Unix katalogus sukuriamos aplankams „Atsisiuntimai“ ir „Šablonai“.
  • Įvesties įrenginiai:
    • „Plug & Play“ įrenginių tvarkykles galima įdiegti ir įkelti paleidžiant.
    • Žaidimų valdikliai yra geriau palaikomi, įskaitant tinkamą skrybėlių jungiklio, rato, dujų ir stabdžių valdiklių palaikymą.
    • Senesnė nei 2.2 Linux versijų vairasvirtės API nebepalaikoma.
  • .NET:
    • „Mono“ variklis atnaujintas iki 4.9.4 versijos, įskaitant „Windows Presentation Foundation“ (WPF) sistemos dalis.
    • „Gecko“ ir „Mono“ priedai palaiko bendrą diegimą, kai failai naudojami tiesiogiai iš pasaulinės vietos, esančios /usr/share/wine, o ne kopijuoti į kiekvieną naują priešdėlį.
  • Internetas ir tinklai:
    • „Gecko“ variklis atnaujintas, kad palaikytų naujausias įrankių grandines.
    • Įdiegta keletas naujų HTML API.
    • MSHTML palaiko kai kuriuos SVG elementus.
    • Klaidos objektų ir išimčių platinimas palaikomas VBScript.
    • Įdiegta keletas VBScript integruotų funkcijų.
    • JScript Su EcmaScript suderinamas režimas išplėstas, kad būtų palaikoma daugiau funkcijų.
    • JScript ir VBScript scenarijaus objektai atskleidžia tipo informacijos sąsajas.
    • HTTP tarpinio serverio konfigūraciją galima gauti per DHCP.
    • Palaikomi paso HTTP peradresavimai.
    • HTTP paslauga ir atitinkama kliento biblioteka (HTTPAPI) yra iš dalies įdiegta.
  • Kriptografija:
    • ECC (elipsinės kreivės) klavišai palaikomi naudojant GnuTLS.
    • Įdiegtas raktų ir sertifikatų importavimas iš PFX blobų.
    • Palaikomas PBKDF2 rakto išvedimo algoritmas.
  • Tekstas ir šriftai:
    • „OpenType“ padėties nustatymo funkcijos palaikomos „DirectWrite“ ir pagal numatytuosius nustatymus įgalintos lotyniškiems rašmenims, įskaitant kerning.
    • Prieiga prie šrifto duomenų yra saugesnė, nes prieš naudojant įvairias duomenų lenteles patikrinama.
    • „DirectWrite“ sąsajos atnaujintos į naujausią SDK, įdiegiant kai kuriuos naujausius API papildymus.
  • Garsas / vaizdo įrašas:
    • Siekiant geresnio suderinamumo, XAudio2 bibliotekos yra iš naujo įdiegtos, kad būtų galima naudoti išorinę FAudio biblioteką.
    • „Media Foundation“ bibliotekos yra išplėstos, įskaitant:
      • Integruotų ir vartotojo asinchroninių darbo eilių palaikymas.
      • Galimybė teikti periodinius atgalinius skambučius, laukiančius, suplanuotus ir reguliarius darbo elementus, palaikant elementų prioritetą.
      • Žiniasklaidos įvykių eilių palaikymas.
      • Įvairios pagrindinės API, skirtos tvarkyti medijos tipo objektus, srauto ir pateikimo deskriptorius, objektų atributus, baitų srauto objektus, pavyzdžius ir buferius.
      • Pradinis Source Resolver diegimas.
      • Pradinis šaltinio skaitytuvo API diegimas.
      • Sample Grabber objekto įgyvendinimas.
      • Pagrindinis topologijos objektų kūrimo palaikymas.
      • Sumontuotas pristatymo laikrodžio diegimas, pradėtas diegti Media Session funkcionalumas.
    • Vaizdo įrašų fiksavimo filtras buvo perkeltas naudoti v4l2 vietoj nebenaudojamos v4l1 API, todėl galima naudoti kai kurias kameras, kurios nepalaiko v4l1.
    • YUV vertimo į RGB ir skaitymo iš v4l2 įrenginių naudojant mmap() palaikymas pašalintas; dabar mes priklausome nuo libv4l2 dėl abiejų šių dalykų.
    • Integruoti AVI, MPEG-I ir WAVE dekoderiai buvo pašalinti; dabar mes priklausome nuo GStreamer arba Mac QuickTime Toolkit, kad iškoduotų tokius medijos failus.
    • Įdiegta dar keletas VMR7 konfigūracijos API.
    • Garso tvarkyklės palaiko garsumo reguliavimą kiekvienam kanalui.
  • Internacionalizacija:
    • Unikodo simbolių lentelės yra pagrįstos 12.1.0 Unicode standarto versija.
    • Įdiegtas unikodo normalizavimas.
    • Geografinio regiono ID automatiškai nustatomas registre pagal dabartinę lokalę. Jei reikia, jį galima pakeisti HKEY_CURRENT_USER\Control Panel\International\Geo.
    • Palaikomos sinhalų ir astūrų kalbos.
    • Palaikomas kodo puslapis 28601 (lotynų / tajų k.).
  • RPC/COM:
    • Typelib marshaller palaiko sudėtingas struktūras ir matricas.
    • Yra pradinis „Windows Script“ vykdymo laiko bibliotekos įdiegimas.
    • Yra pradinis Microsoft ActiveX duomenų objektų (ADO) bibliotekos įdiegimas.
  • Montuotojai:
    • Palaikomi Microsoft Installer (MSI) pataisos failai.
    • WUSA įrankis („Windows Update Standalone Installer“) palaiko .MSU naujinimo failų diegimą.
  • ARM platformos:
    • Išimtis išvyniojimas įdiegtas ARM64 naudojant libunwind biblioteką.
    • ARM64 palaikomi OLE tarpiniai serveriai be stuburo.
  • Kūrimo įrankiai / Winelib:
    • „Visual Studio“ nuotolinis derinimo įrankis gali būti naudojamas programoms, veikiančioms naudojant „Wine“, derinti.
    • Debug Engine biblioteka (DBGENG) yra iš dalies įdiegta.
    • „Windows“ tikslui sukurti dvejetainiai failai nebepriklauso nuo libwine bibliotekos, kad jie galėtų veikti „Windows“ sistemoje be jokių papildomų priklausomybių. Libwine biblioteka nebėra sukurta Windows.
    • Išteklių kompiliatorius ir IDL kompiliatorius palaiko parinktį „--sysroot“, kad būtų galima rasti antraštės failus kryžminio kompiliavimo aplinkoje.
    • Winegcc palaiko parinktis „--target“, „--wine-objdir“, „--winebuild“ ir „-fuse-ld“, kurios palengvina naudojimą kaip kryžminį kompiliatorių arba su pasirinktinėmis įrankių grandinėmis.
    • Antraštė wine/unicode.h programoms nebepasiekiama, nes galiausiai funkcijos bus pašalintos ir pakeistos standartinėmis C vykdymo laiko simbolių funkcijomis.
  • Sukurti infrastruktūrą:
    • Bandomieji dvejetainiai failai yra sukurti PE formatu, jei yra MinGW, todėl tas pats bandomasis dvejetainis failas gali veikti tiek Wine, tiek Windows. „Kryžmiausios“ markės tikslas nebereikalingas arba nepalaikomas.
    • „Greito skambučio“ skambinimo susitarimas palaikomas specialiuose failuose. Jame naudojamas teisingas „Windows“ versijų vardų tvarkymas.
    • Specifikacijos failuose palaikoma įvesties taško vėliavėlė „-import“, kad būtų pažymėtos funkcijos, kurioms reikia sugeneruoti „hotpatch“ kodo priešdėlį, kad būtų galima sugeneruoti jų importavimo elementus.
    • „Winebuild“ palaiko „--builtin“ parinktį, kad būtų galima pridėti specialų parašą prie PE dvejetainių failų, kad būtų pažymėti kaip „Wine builtins“.
  • Integruotos programos:
    • Įdiegtas CHCP įrankis. Tai leidžia nustatyti konsolės kodo puslapį.
    • Įdiegtas MSIDB įrankis. Tai leidžia manipuliuoti MSI duomenų bazėmis.
  • Našumo patobulinimai:
    • Įvairioms laiko funkcijoms naudojami didesnio našumo sistemos laikrodžiai, jei jie yra, siekiant sumažinti daugelio žaidimų atvaizdavimo ciklo sąnaudas.
    • Failų paieškos naudojasi ext4 failų sistemos didžiųjų ir mažųjų raidžių lankstymo palaikymu, jei jis įjungtas ieškomame kataloge.
    • Be duomenų stiliaus sąrašo laukeliai (LBS_NODATA) turi geresnį našumą dideliam elementų skaičiui.
    • Slim Reader / Writer užraktai, raktiniai įvykiai ir sąlygų kintamieji naudoja futexes sistemoje Linux, kad išvengtų vyno serverio kelionių pirmyn ir atgal.
  • Naujos išorinės priklausomybės:
    • MinGW-w64 kryžminis kompiliatorius naudojamas moduliams kurti PE formatu.
    • FAudio biblioteka naudojama XAudio2 įgyvendinti.
    • „Inotify“ biblioteka naudojama pranešimams apie failų keitimą BSD platformose.
    • „Unwind“ biblioteka naudojama ARM64 išimtims tvarkyti.
    • Vietoj 1 versijos naudojama „Video4Linux“ 2 versijos biblioteka.

Skaityti daugiau


Šaltinis: Vyno būstinė

Istorija per: AndroidPolice