Wine, Windows-kompatibilitetslaget, når version 5.0 på Android

click fraud protection

Wine er et Windows-kompatibilitetslag, der giver brugerne mulighed for at køre Windows-apps på andre operativsystemer. Wine til Android har nu nået v5.0 – tjek det ud!

Android-appens økosystem har udviklet sig støt gennem årene med Androids eksistens, drevet af den konstante adoption af mobil som den primære computerinteraktion for de fleste mennesker. Mange brugere har trukket sig mod en livsstil, der kun er mobil, og det skyldes, at apps og app-økosystemet på mobilen har formået at opfylde deres særlige behov. Men hvis du nogensinde har brug for en desktop-applikation uden at have adgang til en desktop, hvad ville du så gøre? Det er her, Wine kommer, et Windows-kompatibilitetslag, der giver brugerne mulighed for at køre komplette Windows-applikationer på forskellige operativsystemer. Vin til Android har nu nået v5.0, der samler et års udviklingsindsats fra teamet.

Wine er et gratis og open source-kompatibilitetslag til Windows, der sigter mod at tillade computerprogrammer, der er udviklet til Windows, at køre på andre operativsystemer.

Wine til Android bringer Wine til Android, naturligvis. Vin er ikke en emulator (som faktisk er et rekursivt bagronym for navnet), så det kan kun køre arkitekturspecifikke versioner af apps -- ARM-versionen af ​​Wine til Android vil kun køre ARM-applikationer, og ikke x86.

Højdepunkterne for den stabile udgivelse af Wine 5.0 inkluderer multi-monitor support og Vulkan 1.1 support. Den komplette ændringslog for opdateringen er som nedenfor:

Wine 5.0 Changelog:

  • PE moduler:
    • De fleste moduler er bygget i PE-format (Portable Executable, Windows binære format) i stedet for ELF, når MinGW-kompileren er tilgængelig. Dette hjælper forskellige kopibeskyttelsesordninger, der kontrollerer, at indholdet på disken og i hukommelsen af ​​systemmoduler er identiske.
    • De faktiske PE-binære filer kopieres ind i vinpræfikset i stedet for de falske DLL-filer. Dette får præfikset til at ligne en rigtig Windows-installation på bekostning af noget ekstra diskplads.
    • Moduler, der er blevet konverteret til PE kan bruge standard wide-char C-funktioner, såvel som wide-char karakterkonstanter som L"abc". Dette gør koden lettere at læse.
    • Ikke alle moduler er blevet konverteret til PE endnu; dette er en løbende proces, der vil fortsætte under Wine 5.x-udviklingsserien.
    • Wine C runtime er opdateret til at understøtte linkning til MinGW-kompilerede binære filer; det bruges som standard i stedet for MinGW-runtime, når der bygges DLL'er.
  • Grafik:
    • Flere skærmadaptere og skærme er korrekt understøttet, inklusive dynamiske konfigurationsændringer.
    • Vulkan-driveren understøtter op til version 1.1.126 af Vulkan-specifikationen.
    • WindowsCodecs-biblioteket er i stand til at konvertere flere bitmapformater, inklusive paletteindekserede formater.
  • Direct3D:
    • Fullscreen Direct3D-applikationer hæmmer pauseskærmen.
    • DXGI swapchain-præsenter informerer applikationen, når det tilsvarende vindue er minimeret. Dette giver typisk programmer mulighed for at reducere CPU-brug, mens det minimeres, og det er i nogle tilfælde nødvendigt for at tillade, at programvinduet kan gendannes igen.
    • Skift mellem fuldskærms- og vinduestilstande ved hjælp af standard Alt+Enter-kombinationen er implementeret for DXGI-applikationer.
    • Følgende funktioner er implementeret til Direct3D 12-applikationer:
      • Skift mellem fuldskærm og vindue.
      • Ændring af visningstilstande.
      • Skalerede gaver.
      • Skift intervaller. Disse funktioner var tidligere allerede implementeret for tidligere versioner af Direct3D API.
    • Håndteringen af ​​diverse kantsager er forbedret. Blandt andre:
      • Referenceværdier uden for rækkevidde for alfa- og stenciltestene.
      • Sampling af 2D-ressourcer med 3D-samplere og omvendt.
      • Tegning med kortlagte teksturer og buffere.
      • Brug af ugyldige DirectDraw clipper-objekter.
      • Oprettelse af Direct3D-enheder på ugyldige Windows, f.eks. skrivebordsvinduet.
      • Udsigtsporte med et minimum Z større end eller lig med maksimum Z.
      • Ressourcer bundet gennem både shader-ressourcevisninger og render-target- eller dybdestencilvisninger på samme tid.
      • Skifter mellem formater med og uden alfakomponenter. Da velopdragne applikationer ikke er afhængige af disse kantsager, påvirker de typisk kun én eller to applikationer hver. Der er dog en del af dem.
    • Beskidte teksturområder spores mere nøjagtigt for Direct3D 8 og 9 teksturuploads.
    • Uploads af S3TC-komprimerede 3D-teksturer kræver mindre adresseplads. Da 3D-teksturer potentielt kan være store, og udmattelse af adresseplads er et problem for 32-bit-applikationer, uploades S3TC-komprimerede 3D-teksturer pr. udsnit i stedet for i en enkelt upload.
    • ID3D11Multithread-grænsefladen er implementeret.
    • Der er foretaget forskellige rettelser til lysberegninger og forbedringer til ældre DirectDraw-applikationer.
    • Begrænset understøttelse af blits på tværs af swapchains er implementeret.
    • Flere shader refleksion API'er er implementeret.
    • Wined3d CPU-blitteren kan håndtere komprimerede kilderessourcer. Understøttelse af komprimerede destinationsressourcer var allerede implementeret i en tidligere udgivelse.
    • Direct3D-grafikkortdatabasen genkender flere grafikkort.
    • Nye HKEY_CURRENT_USER\Software\Wine\Direct3D registreringsdatabasenøgler:
      • "shader_backend" (REG_SZ)Shader-backend, der skal bruges. Mulige værdier er "glsl" (standard) for GLSL, "arb" for ARB vertex-/fragmentprogrammer og "ingen" for at deaktivere shader-understøttelse.
      • "strict_shader_math" (REG_DWORD)Aktiver (0x1) eller deaktiver (0x0, standard) strengere oversættelse af Direct3D shaders, potentielt til en ydelsesomkostning. Dette gør i øjeblikket kun en forskel med standard GLSL shader-backend i kombination med de proprietære NVIDIA-drivere.
    • Udgået HKEY_CURRENT_USER\Software\Wine\Direct3D registreringsnøgle:
      • "UseGLSL"Dette er blevet afløst af "shader_backend"-indstillingen ovenfor.
  • D3DX:
    • Understøttelse af komprimering af teksturer ved hjælp af S3TC-komprimering er implementeret.
    • Forskellige operationer, som f.eks. teksturudfyldninger, på ukortbare overflader implementeres mere korrekt. Tidligere var deres implementering baseret på, at den underliggende Direct3D-implementering ikke håndhævede kortlægningsrestriktioner.
    • Der er lavet forskellige forbedringer og rettelser til effektrammerne.
  • Kernel:
    • De fleste af de funktioner, der plejede at være i Kernel32, flyttes til KernelBase for at følge arkitekturen i nyere Windows-versioner.
    • Biblioteker med den forkerte 32/64-bithed ignoreres, når de findes i søgestien, for at aktivere indlæsning af den korrekte, hvis den findes længere i stien.
    • Kernelobjekter emuleres bedre for enhedsdrivere, der forventer at manipulere objekter fra kernesiden.
    • Synkroniseringsobjekter på kerneniveau som spin-låse, hurtige mutexes, fjernlåse og ressourcevariabler implementeres.
    • Systemets batteritilstand rapporteres korrekt til applikationer.
  • Brugergrænseflade:
    • Minimerede vinduer vises ved hjælp af deres titellinje i stedet for de gamle Windows 3.1-ikoner.
    • De nye knapstile Split-knapper og Kommandolinks er implementeret.
    • Redigeringskontrollen indstiller margener korrekt også for CJK-skrifttyper.
  • Desktop integration:
    • Der oprettes symbolske links til de tilsvarende Unix-mapper til mapperne 'Downloads' og 'Skabeloner'.
  • Inputenheder:
    • Plug & Play-enhedsdrivere kan installeres og indlæses ved opstart.
    • Spilcontrollere er bedre understøttet, herunder korrekt støtte til hatkontakt, hjul, gas og bremsekontrol.
    • Det gamle joystick API af Linux-versioner tidligere end 2.2 understøttes ikke længere.
  • .NET:
    • Mono-motoren er opdateret til version 4.9.4, inklusive dele af Windows Presentation Foundation (WPF) rammen.
    • Gecko- og Mono-tilføjelserne understøtter delt installation, hvor filerne bruges direkte fra en global placering under /usr/share/wine i stedet for at blive kopieret til hvert nyt præfiks.
  • Internet og netværk:
    • Gecko-motoren er opdateret for at understøtte nyere værktøjskæder.
    • En række nye HTML API'er er implementeret.
    • MSHTML understøtter nogle SVG-elementer.
    • Udbredelse af fejlobjekt og undtagelser understøttes i VBScript.
    • En række indbyggede VBScript-funktioner er implementeret.
    • JScript EcmaScript-kompatibel tilstand er udvidet til at understøtte flere funktioner.
    • JScript- og VBScript-scriptobjekter afslører type info-grænseflader.
    • HTTP-proxy-konfigurationen kan hentes via DHCP.
    • Passport HTTP-omdirigeringer understøttes.
    • HTTP-tjenesten og det tilsvarende klientsidebibliotek (HTTPAPI) er delvist implementeret.
  • Kryptografi:
    • ECC-taster (elliptisk kurve) understøttes ved brug af GnuTLS.
    • Import af nøgler og certifikater fra PFX-blobs er implementeret.
    • PBKDF2-nøgleafledningsalgoritmen er understøttet.
  • Tekst og skrifttyper:
    • OpenType-positioneringsfunktioner er understøttet i DirectWrite og aktiveret for latinske script som standard, inklusive kerne.
    • Skriftdataadgang gøres mere sikker ved at validere de forskellige datatabeller, før de tages i brug.
    • DirectWrite-grænseflader er opdateret til en nyere SDK, der implementerer nogle af de seneste API-tilføjelser.
  • Lyd/video:
    • XAudio2-bibliotekerne er genimplementeret til at bruge det eksterne FAudio-bibliotek for bedre kompatibilitet.
    • Mediefondens biblioteker uddybes, herunder:
      • Understøttelse af indbyggede og brugerasynkroniserede arbejdskøer.
      • Mulighed for at indsende periodiske tilbagekald, ventende, planlagte og regelmæssige arbejdsemner, med understøttelse af vareprioritet.
      • Understøttelse af køer til mediebegivenheder.
      • Forskellige kerne-API til at håndtere medietypeobjekter, strøm- og præsentationsbeskrivelser, objektattributter, byte-streamobjekter, prøver og buffere.
      • Initial Source Resolver implementering.
      • Indledende implementering af Source Reader API.
      • Implementering for Sample Grabber objekt.
      • Kerneunderstøttelse til bygning af topologiobjekter.
      • Indbygget præsentationsur implementering, begyndte at implementere Media Session funktionalitet.
    • Videooptagelsesfilteret er blevet porteret til at bruge v4l2 i stedet for det forældede v4l1 API, hvilket tillader brugen af ​​nogle kameraer, som ikke understøtter v4l1.
    • Understøttelse af YUV til RGB-oversættelse og læsning fra v4l2-enheder ved hjælp af mmap() er blevet fjernet; vi er nu afhængige af libv4l2 for begge disse ting.
    • De indbyggede AVI-, MPEG-I- og WAVE-dekodere er blevet fjernet; vi er nu afhængige af GStreamer eller Mac QuickTime Toolkit til at afkode sådanne mediefiler.
    • Nogle flere VMR7-konfigurations-API'er er implementeret.
    • Lyddriverne understøtter lydstyrkejusteringer pr. kanal.
  • Internationalisering:
    • Unicode-tegntabeller er baseret på version 12.1.0 af Unicode-standarden.
    • Unicode-normalisering er implementeret.
    • Det geografiske område-id indstilles automatisk i registreringsdatabasen baseret på den aktuelle landestandard. Det kan om nødvendigt ændres under HKEY_CURRENT_USER\Kontrolpanel\International\Geo.
    • De singalesiske og asturiske lokaliteter understøttes.
    • Codepage 28601 (latinsk/thailandsk) er understøttet.
  • RPC/COM:
    • Typelib marshaller understøtter komplekse strukturer og arrays.
    • Der er en indledende implementering af Windows Script runtime-biblioteket.
    • Der er en indledende implementering af Microsoft ActiveX Data Objects (ADO)-biblioteket.
  • Installatører:
    • Microsoft Installer (MSI) Patch-filer understøttes.
    • WUSA-værktøjet (Windows Update Standalone Installer) understøtter installation af .MSU-opdateringsfiler.
  • ARM platforme:
    • Undtagelsesafvikling er implementeret for ARM64 ved hjælp af libunwind-biblioteket.
    • OLE stubless proxyer understøttes på ARM64.
  • Udviklingsværktøjer / Winelib:
    • Visual Studio fjerndebuggeren kan bruges til at fejlsøge programmer, der kører under Wine.
    • Debug Engine-biblioteket (DBGENG) er delvist implementeret.
    • Binære filer bygget til et Windows-mål afhænger ikke længere af libwine-biblioteket, for at gøre det muligt for dem at køre på Windows uden nogen ekstra afhængigheder. Libwine-biblioteket er slet ikke længere bygget til Windows.
    • Resource Compiler og IDL Compiler understøtter en '--sysroot' mulighed for at tillade lokalisering af header-filer i cross-compile-miljøer.
    • Winegcc understøtter mulighederne '--target', '--wine-objdir', '--winebuild' og '-fuse-ld', der gør det nemmere at bruge som en cross-compiler eller med brugerdefinerede værktøjskæder.
    • Wine/unicode.h headeren er ikke længere tilgængelig for applikationer, da funktionerne i sidste ende vil blive fjernet og erstattet af standard C runtime wide character funktioner.
  • Byg infrastruktur:
    • Testbinære filer er bygget i PE-format, hvis MinGW er tilgængelig, så den samme testbinære kan køre på både Wine og Windows. 'Krydstest'-målet er ikke længere nødvendigt eller understøttet.
    • 'fastcall'-opkaldskonventionen understøttes i spec-filer. Den bruger den korrekte navnemangling til Windows-builds.
    • Et '-import'-indgangspunktsflag understøttes i spec-filer for at markere funktioner, der kræver et hotpatch-kodepræfiks for at blive genereret til deres import-thunks.
    • Winebuild understøtter en '--builtin' mulighed for at tilføje en speciel signatur til PE binære filer for at markere dem som Wine buildins.
  • Indbyggede applikationer:
    • CHCP-værktøjet er implementeret. Det gør det muligt at indstille konsollens kodetabel.
    • MSIDB-værktøjet er implementeret. Det gør det muligt at manipulere MSI-databaser.
  • Ydeevneforbedringer:
    • De forskellige tidsfunktioner bruger systemure med højere ydeevne, hvis de er tilgængelige, for at reducere overheaden i gengivelsesløkken i mange spil.
    • Filopslag drager fordel af ext4 filsystem-understøttelse af sagfoldning, hvis den er aktiveret i den mappe, der søges i.
    • Listebokse uden datastil (LBS_NODATA) har bedre ydeevne for et stort antal elementer.
    • Slim Reader/Writer-låse, nøglebegivenheder og tilstandsvariabler bruger futexes på Linux for at undgå vinserver-rundture.
  • Nye eksterne afhængigheder:
    • MinGW-w64 cross-compileren bruges til at bygge moduler i PE-format.
    • FAudio-biblioteket bruges til at implementere XAudio2.
    • Inotify-biblioteket bruges til filændringsmeddelelser på BSD-platforme.
    • Unwind-biblioteket bruges til undtagelseshåndtering på ARM64.
    • Video4Linux version 2-biblioteket bruges i stedet for version 1.

Læs mere


Kilde: Vin HQ

Historie via: Android Politi