A Wine, a Windows kompatibilitási réteg eléri az 5.0-s verziót Androidon

A Wine egy Windows-kompatibilitási réteg, amely lehetővé teszi a felhasználók számára, hogy Windows-alkalmazásokat más operációs rendszereken is futtatjanak. A Wine for Android elérte a 5.0-t – nézze meg!

Az Android-alkalmazások ökoszisztémája folyamatosan fejlődött az Android fennállásának évei során, amelyet a legtöbb ember számára az elsődleges számítógépes interakciós eszközként való mobilhasználat folyamatos elterjedése ösztönzött. Sok felhasználó a csak mobileszközöket használó életmód felé hajlott, és ennek az az oka, hogy a mobilalkalmazások és az alkalmazásökoszisztéma kielégítette sajátos igényeit. De ha valaha is úgy találná, hogy szüksége lenne egy asztali alkalmazásra anélkül, hogy hozzáférne egy asztali számítógéphez, mit tenne? Itt jön a Wine, a Windows-kompatibilitási réteg, amely lehetővé teszi a felhasználók számára, hogy teljes körű Windows-alkalmazásokat futtassanak különböző operációs rendszereken. A Wine for Android rendelkezik most elérte a v5.0-t, egy évnyi fejlesztési erőfeszítést gyűjtött össze a csapattól.

A Wine egy ingyenes és nyílt forráskódú kompatibilitási réteg a Windows számára, amelynek célja, hogy lehetővé tegye a Windows számára kifejlesztett számítógépes programok más operációs rendszereken való futtatását. A Wine for Android elhozza a Wine-t Androidra, magától értetődően. A Wine nem egy emulátor (ami valójában a név rekurzív háttérneve), így csak futhat alkalmazások architektúra-specifikus verziói – a Wine for Android ARM verziója csak ARM alkalmazásokat futtat, és nem x86.

A Wine 5.0 stabil kiadásának legfontosabb elemei a többmonitoros támogatás és a Vulkan 1.1 támogatása. A frissítés teljes változásnaplója a következő:

Wine 5.0 változásnapló:

  • PE modulok:
    • A legtöbb modul PE formátumban (Portable Executable, a Windows bináris formátuma) épül ELF helyett, ha elérhető a MinGW fordító. Ez segít a különféle másolásvédelmi sémákban, amelyek ellenőrzik, hogy a rendszermodulok lemezen és memóriájában lévő tartalma azonos-e.
    • A tényleges PE binárisokat a rendszer a Wine előtagba másolja a hamis DLL-fájlok helyett. Ezáltal az előtag inkább egy valódi Windows-telepítéshez hasonlít, némi extra lemezterület árán.
    • A PE-re konvertált modulok használhatják a szabványos széles karakterű C függvényeket, valamint a széles karakterű karakterkonstansokat, mint például az L"abc". Ez megkönnyíti a kód olvashatóságát.
    • Még nem minden modult konvertáltak PE-re; ez egy folyamatos folyamat, amely a Wine 5.x fejlesztési sorozat alatt is folytatódik.
    • A Wine C futtatókörnyezet frissült, hogy támogassa a MinGW által lefordított binárisokhoz való hivatkozást; alapértelmezés szerint a MinGW futási ideje helyett használatos DLL-ek készítésekor.
  • Grafika:
    • Több kijelzőadapter és monitor megfelelően támogatott, beleértve a dinamikus konfigurációmódosításokat is.
    • A Vulkan illesztőprogram a Vulkan specifikáció 1.1.126-os verziójáig támogatja.
    • A WindowsCodecs könyvtár több bittérkép formátumot is képes konvertálni, beleértve a palettaindexelt formátumokat is.
  • Direct3D:
    • A teljes képernyős Direct3D alkalmazások gátolják a képernyővédőt.
    • A DXGI swapchain megjeleníti az alkalmazást, ha a megfelelő ablak minimalizálva van. Ez általában lehetővé teszi az alkalmazások számára, hogy minimalizálva csökkentsék a CPU-használatot, és bizonyos esetekben szükséges az alkalmazásablak ismételt visszaállításához.
    • A teljes képernyős és az ablakos módok közötti váltás a szabványos Alt+Enter kombinációval DXGI-alkalmazásokhoz valósult meg.
    • A Direct3D 12 alkalmazásokhoz a következő funkciók valósulnak meg:
      • Váltás a teljes képernyő és az ablak között.
      • Megjelenítési módok megváltoztatása.
      • Méretezett ajándékok.
      • Időközök cseréje. Ezeket a funkciókat korábban már megvalósították a Direct3D API korábbi verzióiban.
    • A különféle éles tokok kezelése javult. Többek között:
      • Tartományon kívüli referenciaértékek az alfa- és a stenciltesztekhez.
      • 2D erőforrások mintavétele 3D mintavevőkkel és fordítva.
      • Rajzolás feltérképezett textúrákkal és pufferekkel.
      • Érvénytelen DirectDraw vágóobjektumok használata.
      • Direct3D-eszközök létrehozása érvénytelen Windows rendszeren, például az asztali ablakban.
      • Nézőablakok, amelyeknél a minimális Z nagyobb vagy egyenlő, mint a maximális Z.
      • Az erőforrások egyszerre vannak átkötve a shader-erőforrás nézeteken és a renderelési cél vagy a mélység-stencil nézeteken.
      • Blits a formátumok között alfa-komponensekkel és anélkül. Mivel a jól működő alkalmazások nem támaszkodnak ezekre az éles esetekre, általában csak egy-két alkalmazást érintenek. Ennek ellenére elég sok van belőlük.
    • A szennyezett textúra régiókat a rendszer pontosabban követi nyomon a Direct3D 8 és 9 textúrafeltöltéseknél.
    • Az S3TC-vel tömörített 3D textúrák feltöltése kevesebb címterületet igényel. Mivel a 3D textúrák potenciálisan nagyok lehetnek, és a címterület kimerülése aggodalomra ad okot a 32 bites alkalmazásoknál, az S3TC-tömörített 3D textúrák szeletenként kerülnek feltöltésre, nem pedig egyetlen feltöltéssel.
    • Az ID3D11Multithread interfész implementálva van.
    • Különféle világítási számítási javításokat és fejlesztéseket végeztek a régebbi DirectDraw alkalmazásokhoz.
    • A csereláncokon keresztüli blitek korlátozott támogatása megvalósul.
    • Több shader tükrözési API kerül megvalósításra.
    • A wined3d CPU blitter képes kezelni a tömörített forrásforrásokat. A tömörített cél-erőforrások támogatása már egy korábbi kiadásban megvalósult.
    • A Direct3D grafikus kártya adatbázis több grafikus kártyát is felismer.
    • Új HKEY_CURRENT_USER\Software\Wine\Direct3D rendszerleíró kulcsok:
      • "shader_backend" (REG_SZ)A használandó shader háttérrendszer. A lehetséges értékek a következők: "glsl" (alapértelmezett) a GLSL-hez, "arb" az ARB csúcs-/töredékprogramokhoz és a "none" a shader támogatás letiltásához.
      • "strict_shader_math" (REG_DWORD) Engedélyezze (0x1) vagy tiltsa le (0x0, alapértelmezett) a Direct3D shaderek szigorúbb fordítását, potenciálisan teljesítményköltséggel. Ez jelenleg csak az alapértelmezett GLSL shader háttérrendszer és a szabadalmaztatott NVIDIA illesztőprogramok mellett jelent különbséget.
    • Elavult HKEY_CURRENT_USER\Software\Wine\Direct3D rendszerleíró kulcs:
      • "UseGLSL"Ezt felváltotta a fenti "shader_backend" beállítás.
  • D3DX:
    • Támogatja a textúrák tömörítését S3TC-tömörítéssel.
    • Különféle műveletek, mint pl. textúrakitöltések, a nem leképezhető felületeken pontosabban valósulnak meg. Korábban a megvalósításuk a mögöttes Direct3D implementációra támaszkodott, amely nem érvényesítette a leképezési korlátozásokat.
    • Különféle fejlesztések és javítások történtek a hatáskereten.
  • Kernel:
    • A legtöbb funkció, amely korábban a Kernel32-ben volt, átkerült a KernelBase-be, hogy kövesse a legújabb Windows-verziók architektúráját.
    • A nem megfelelő 32/64 bites könyvtárakat figyelmen kívül hagyja a rendszer, ha a keresési útvonalon találja őket, hogy a megfelelő betölthető legyen, ha az az elérési útban távolabb található.
    • A kernelobjektumok jobban emulálhatók olyan eszköz-illesztőprogramokhoz, amelyek a kernel oldaláról várják az objektumokat.
    • A rendszermag-szintű szinkronizálási objektumok, például a spin-lockok, a gyors mutexek, a zárolások eltávolítása és az erőforrásváltozók megvalósulnak.
    • A rendszer akkumulátorának állapotát megfelelően jelentik az alkalmazások.
  • Felhasználói felület:
    • A kicsinyített ablakok a címsorukkal jelennek meg a régi Windows 3.1-stílusú ikonok helyett.
    • Megvalósult az új gombstílusok, a Split Buttons és Command Links.
    • A Szerkesztés vezérlő a CJK betűtípusok margóit is megfelelően állítja be.
  • Asztali integráció:
    • A megfelelő Unix könyvtárakra mutató szimbolikus hivatkozások jönnek létre a „Letöltések” és a „Sablonok” mappákhoz.
  • Beviteli eszközök:
    • A Plug & Play eszközillesztők telepíthetők és betölthetők indításkor.
    • A játékvezérlők jobban támogatottak, beleértve a kalapkapcsoló, a kerék, a gáz- és a fékvezérlők megfelelő támogatását.
    • A 2.2-nél régebbi Linux-verziók régi joystick API-ja már nem támogatott.
  • .HÁLÓ:
    • A Mono motor a 4.9.4-es verzióra frissült, beleértve a Windows Presentation Foundation (WPF) keretrendszer egyes részeit.
    • A Gecko és Mono kiegészítők támogatják a megosztott telepítést, ahol a fájlok közvetlenül egy globális helyről kerülnek felhasználásra a /usr/share/wine alatt, ahelyett, hogy minden új előtagba másolnák őket.
  • Internet és hálózat:
    • A Gecko motort frissítik, hogy támogassa a legújabb szerszámláncokat.
    • Számos új HTML API bevezetésre került.
    • Az MSHTML néhány SVG elemet támogat.
    • A VBScript támogatja a hibaobjektum- és kivételterjesztést.
    • Számos VBScript beépített funkció van megvalósítva.
    • A JScript EcmaScript-kompatibilis mód további funkciók támogatására bővült.
    • A JScript és VBScript szkriptobjektumok típusinformációs felületeket tesznek közzé.
    • A HTTP-proxy konfiguráció DHCP-n keresztül kérhető le.
    • A Passport HTTP-átirányítások támogatottak.
    • A HTTP szolgáltatás és a hozzá tartozó ügyféloldali könyvtár (HTTPAPI) részben implementálva van.
  • Kriptográfia:
    • Az ECC (elliptikus görbe) kulcsok támogatottak a GnuTLS használatakor.
    • A kulcsok és tanúsítványok importálása a PFX-blobokból megvalósul.
    • A PBKDF2 kulcs levezetési algoritmus támogatott.
  • Szöveg és betűtípusok:
    • Az OpenType pozicionálási funkciókat a DirectWrite támogatja, és alapértelmezés szerint engedélyezve van a latin szkripthez, beleértve a levágást is.
    • A betűtípusadatok elérését biztonságosabbá teszi, ha a különféle adattáblákat használat előtt érvényesíti.
    • A DirectWrite interfészek a legújabb SDK-ra frissülnek, és a legújabb API-kiegészítések közül néhányat megvalósítanak.
  • Hang/videó:
    • A jobb kompatibilitás érdekében az XAudio2-könyvtárakat a külső FAudio-könyvtár használatára újították fel.
    • A Media Foundation könyvtárai kibővültek, többek között:
      • Beépített és felhasználói aszinkron munkasorok támogatása.
      • Lehetőség időszakos visszahívások, várakozási, ütemezett és rendszeres munkaelemek benyújtására, a tételprioritás támogatásával.
      • Médiaesemény-sorok támogatása.
      • Különféle alapvető API a médiatípus objektumok, adatfolyam- és prezentációs leírók, objektum attribútumok, bájtfolyam objektumok, minták és pufferek kezelésére.
      • Kezdeti Source Resolver megvalósítás.
      • A Source Reader API kezdeti megvalósítása.
      • A Sample Grabber objektum megvalósítása.
      • Alapvető támogatás a topológia objektumok felépítéséhez.
      • Beépített prezentációs óra megvalósítás, megkezdődött a Media Session funkcionalitás megvalósítása.
    • A videorögzítési szűrőt a v4l2 használatára portolták át az elavult v4l1 API helyett, lehetővé téve egyes kamerák használatát, amelyek nem támogatják a v4l1-et.
    • A YUV RGB fordítás és a v4l2 eszközökről az mmap() használatával történő olvasás támogatása megszűnt; most mindkét dologban a libv4l2-től függünk.
    • A beépített AVI, MPEG-I és WAVE dekódereket eltávolították; most a GStreamerre vagy a Mac QuickTime Toolkitre támaszkodunk az ilyen médiafájlok dekódolásában.
    • Néhány további VMR7 konfigurációs API implementálva van.
    • A hangvezérlők támogatják a hangerő csatornánkénti beállítását.
  • Nemzetközivé válás:
    • A Unicode karaktertáblázatok a Unicode szabvány 12.1.0-s verzióján alapulnak.
    • Unicode normalizálás valósul meg.
    • A földrajzi régió azonosítója a rendszerleíró adatbázisban automatikusan be van állítva az aktuális területi beállítás alapján. Szükség esetén módosítható a HKEY_CURRENT_USER\Control Panel\International\Geo alatt.
    • A szingaléz és az asztúriai nyelvek támogatottak.
    • A 28601-es kódlap (latin/thai) támogatott.
  • RPC/COM:
    • A typelib marshaller támogatja az összetett struktúrákat és tömböket.
    • Létezik a Windows Script futásidejű könyvtár kezdeti megvalósítása.
    • Létezik a Microsoft ActiveX Data Objects (ADO) könyvtár kezdeti megvalósítása.
  • Telepítők:
    • A Microsoft Installer (MSI) javítási fájlok támogatottak.
    • A WUSA eszköz (Windows Update Standalone Installer) támogatja az .MSU frissítési fájlok telepítését.
  • ARM platformok:
    • A kivételes letekercselés az ARM64 esetében a libunwind könyvtár használatával valósul meg.
    • Az OLE stubless proxykat az ARM64 támogatja.
  • Fejlesztői eszközök / Winelib:
    • A Visual Studio távoli hibakeresője használható a Wine alatt futó alkalmazások hibakeresésére.
    • A Debug Engine könyvtár (DBGENG) részben implementálva van.
    • A Windows-célokhoz épített bináris fájlok már nem függenek a libwine könyvtártól, így minden további függőség nélkül futhatnak Windowson. A libwine könyvtár már egyáltalán nem Windowshoz készült.
    • A Resource Compiler és az IDL Compiler támogatja a „--sysroot” opciót, amely lehetővé teszi a fejlécfájlok megtalálását keresztfordítási környezetekben.
    • A Winegcc támogatja a '--target', '--wine-objdir', '--winebuild' és '-fuse-ld' opciókat, amelyek megkönnyítik a keresztfordítóként vagy egyéni eszközláncokkal való használatát.
    • A wine/unicode.h fejléc már nem érhető el az alkalmazások számára, mivel a funkciókat végül eltávolítják, és helyükre a szabványos C futásidejű karakterfüggvények lépnek.
  • Infrastruktúra kiépítése:
    • A tesztbinárisok PE formátumban épülnek fel, ha elérhető a MinGW, így ugyanaz a tesztbináris futtatható Wine-on és Windowson is. A „legkeresztezőbb” gyártmánycélra már nincs szükség, és már nincs támogatás.
    • A „gyorshívás” hívási konvenciót a specifikációs fájlok támogatják. A Windows buildekhez a megfelelő névkezelést használja.
    • Az "-import" belépési pont jelzőt a specifikációs fájlok támogatják, hogy megjelöljék azokat a funkciókat, amelyekhez hotpatch kód előtagot kell generálni az importáláshoz.
    • A Winebuild támogatja a „--builtin” opciót, amellyel egy speciális aláírást adhatunk a PE binárisokhoz, amelyek Wine beépített elemként jelölik meg őket.
  • Beépített alkalmazások:
    • A CHCP eszköz implementálva van. Lehetővé teszi a konzol kódlapjának beállítását.
    • Az MSIDB eszköz implementálva van. Lehetővé teszi az MSI adatbázisok kezelését.
  • Teljesítménybeli fejlesztések:
    • A különféle időfunkciók nagyobb teljesítményű rendszerórákat használnak, ha rendelkezésre állnak, hogy csökkentsék sok játék renderelési ciklusának többletköltségét.
    • A fájlkeresések kihasználják az ext4 fájlrendszer-előrehajtás támogatását, ha az engedélyezve van a keresett könyvtárban.
    • Az adat nélküli stílusú listadobozok (LBS_NODATA) jobb teljesítményt nyújtanak nagyszámú elem esetén.
    • A vékony olvasó/író zárak, kulcsos események és feltételváltozók futexet használnak Linuxon, hogy elkerüljék a borszerver oda-vissza útját.
  • Új külső függőségek:
    • A MinGW-w64 keresztfordítót modulok PE formátumú építésére használják.
    • A FAudio könyvtár az XAudio2 megvalósítására szolgál.
    • Az Inotify könyvtár a fájlmódosítási értesítésekhez használható BSD platformokon.
    • A Unwind könyvtár az ARM64 kivételkezelésére szolgál.
    • A Video4Linux 2-es verziójának könyvtára használatos az 1-es verzió helyett.

Olvass tovább


Forrás: Bor HQ

Történet a következőn keresztül: AndroidPolice