Weekend Prosjekt: Ta en titt på Wine 1,4

The Wine-prosjektet har gitt stabil versjon 1.4 av sin Windows-kompatibilitet tjeneste for Linux (og andre ikke-Microsoft-operativsystemer), kulminasjonen av 20 måneder igjen av utvikling. Den nye versjonen legger til en rekke nye funksjoner, inkludert ny grafikk, video og lyd delsystemer, tettere integrering med eksisterende Linux, og forbedringer i 3D, font support og skriptspråk.

I gamle dager, WINE ble aktivert som en hyllest til sitt endelige mål: Wine Is Not en Emulator. Snarere er det en applikasjon rammeverk som gir Windows-APIer på andre operativsystemer – primært Linux og Mac OS X, men andre også (inkludert, hvis du ønsker det, andre versjoner av Windows). Poenget er at du kan kjøre programmer kompilert for Windows direkte i et annet OS. I motsetning til virtuelle maskinløsninger, trenger du ikke også å kjøpe et eksemplar av Windows til å gjøre det, og jo lavere overhead av en VM-fritt miljø gir bedre ytelse, også.

Versjon 1.4 ble lansert 7. mars ca to år siden forrige store oppdateringen, Wine 1.2. Microsoft har ikke rulle ut en ny versjon av Windows i mellomtiden, så forståelig Wine-prosjektet har hatt tid til å gjennomføre mange endringer i sin egen

Ny. Multimedia, Input, og System Integration
< p> er den største endringen en ekte " enhets uavhengige bitmaps " (DIB) grafikkmotor. Denne motoren utfører programvaregrafikkgjengivelse for Windows Graphics Device Interface (GDI) API, som Wine aldri har støttet før. Vær imidlertid oppmerksom på at Windows tilbyr mange forskjellige grafikk-APIer. Vin allerede hadde støtte for de bedre kjente Direct3D og Direct APIer, som også fikk en hastighetsøkning. Likevel er et resultat av den nye motoren betydelig raskere rendring for en rekke anvendelser. Den DIB koden ble faktisk utviklet av Transgaming, en av de kommersielle leverandører som gjør bruk av Wine i sin egen produktlinje.

Windows tilbyr også flere lyd- APIer, den nyeste av disse er MMDevAPI, som ble introdusert i Windows Vista. Wine 1.4 idrett en omskrevet audio arkitektur som implementerer denne nye API, og støtter flere lyd-back-ender: ALSA, Coreaudio, og OSS 4. Støtte for eldre back-endene som OSS tre ble droppet, som var støtte for AudioIO og JACK. Pulseaudio, som nå er standard i mange desktop Linux-systemer, støttes gjennom sitt eksisterende ALSA kompatibilitet. Prosjektet ønsker å gjenopprette JACK funksjonalitet, men det er behov for utviklere å hjelpe gjøre det; på samme måte er det et sideprosjekt til å skrive direkte støtte for Pulseaudio, men det har ennå ikke gjort det inn i mainline kodebasen.

Wine bruker også GStreamer multimedia motor for audio og video dekoding, som gir Vin apps automatisk støtte for hvert filformat kjent for GStreamer. Det er X forbedringer i 1.4 også, viktigst støtte for XInput 2. XI2 burde fikse markør-bevegelse problemer med fullskjerm Windows-programmer, samt støtte animerte musepekere og kartlegging joystick handlinger. Til slutt, bruker den nye utgivelsen XRender å fremskynde rende gradienter

Den nye versjonen også bedre integrerer Windows ". Systemstatusfeltet " (som mange programmer som kjører under Wine vil forvente å eksistere) med Linux-system skuffer, og støtter også pop-up meldinger. Vinen har også støtte for applikasjoner som bruker flere andre programmeringsspråk (inkludert VBScript og Javascript bytcodes), pluss støtte for både lesing og skape .CAB " kabinett " arkiver og MSI installatører. Det er også en innebygd Gecko-basert HTML rendering-motoren (som bør gjøre HTML-og-CSS-baserte programmer mer pålitelig enn Internet Explorer-baserte renderer som finnes i Windows ...)

Forbedret.: 3D, tekst, skrive ut og Installere

Som nevnt ovenfor, Vin støtte for Direct3D og Direct begge mottatt ekstrautstyr for 1.4. OpenGL anvendes som back-end for begge; en nærmere titt på de evner og benchmarks kan bli funnet på Phoronix.

font subsystem mottatt en betydelig make-over for 1.4, også. Den store nyheten er full støtte for toveis tekst (inkludert skiftende plassering av menyer, dialog innholdet i esken, og andre UI elementer når du bruker høyre mot venstre tekst), og full støtte for vertikal tekst (for eksempel japansk). Roterte teksten er også støttet, og rendering-motoren er forbedret.

Prosjektet hevder full støtte for Unicode 6.0 sin skriftsystemer, selv om det definitivt ikke betyr at alle språk i Unicode kan brukes i Wine. Imidlertid har det vært betydelige forbedringer til lokalisering innsats – flere steder er støttet, og hver UI ressurs (fra strenger til dialoger til menyelement) er nå i en gettext .po fil. Så hvis ditt språk ikke støttes ennå, nå er det på tide å bli opptatt sette!

Utskrifts forbedringer inkluderer direkte tilgang CUPS som utskriftssystemet (tidligere versjoner av Wine rør utskriftsjobber via lpr Anmeldelser ) og en fornyet Postscript tolk. Installasjonsprogrammet har også blitt styrket; kan det nå installere patch-sett (som er svært viktig for å anvende sikkerhetsoppdateringer) og roll-back tidligere installasjoner. Tatt i betraktning at de fleste Vin brukere distribuere rammene for et lite sett av spesifikke applikasjoner, er dette installasjons funksjonaliteten svært hendig

Til slutt, legger den nye utgivelsen noen ". Eksperimentell " funksjoner som ikke alle vil finne for å være deres kopp te, men viser lovende i det lange løp. Først er det støtte for noen nye C ++ klasser fra Microsoft, samt utvidet XML-støtte, og Wine første gjennomføringen av OpenCL (som lar utviklere å skrive kode som kjører på både CPU og GPU). Vin samler også på armen arkitektur for første gang. Windows er ikke en betydelig aktør på ARM, men tabletten versjonen av Windows 8 er klar til å gjøre en push på ARM i år, så har Wine klar er et viktig skritt for prosjektet.

Application Support, Advarsler, og hvor vi går Neste

Naturlig nok, er Wine for ARM ikke like grundig testet som Wine på x86. Men den nye versjonen støtter fortsatt mange flere søknader enn gjorde Wine 1.2. Du finner den fullstendige listen på Wine app database – bare være klar over at individuelle brukerrapporter er kilden til det meste av informasjon om kompatibilitet. Det er ikke så enkelt som å kjøre en statisk test for å se hvorvidt anvendelsen X er støttet. Når det er sagt, en av de store punkter av Wine 1.4 er robust støtte for Microsoft Office 2010, så hvis du kjører Wine for å sikre dokumentet kompatibilitet med Windows-baserte venner, er du i gode hender.

Det er to advarsler skal noteres med denne utgivelsen. Først er selv ALSA-over-Pulseaudio en støttet audio back-end (og faktisk er trolig den vanligste konfigurasjonen), bør du sjekke versjonsnumre. Noen brukere har rapportert ustabil lyd oppførsel når du kjører pre-1.0 Pulseaudio og forhånds 1.0.25 ALSA-plugins.

For det andre, selv om standard maskinvareenheter som tastatur, mus og eksterne enheter fungerer fint, gjør Wine fortsatt ikke har støtte for installasjon og bruk av USB-drivere for Windows. Dette gjelder bare
til uvanlig maskinvare som krever en separat installert Windows driver, så det sannsynligvis ikke påvirker deg, men være oppmerksom. På den annen side, hvis du har en merkelig strekkodeleser eller infrarød USB laser som du må bruke med Windows-drivere, er det en ekstern patch sett tilgjengelig.

På samme front, hvis programmet du trenger Wine støtte for forårsaker problemer, er det noen eksterne verktøy tilgjengelig som kan hjelpe deg å finne og installere tilleggsprogrammer til avrunder opplevelsen. Mange av disse add-on opsjoner er ikke fri programvare, slik at de ikke kan sendes med vin selv, men hvis du er i Dire Straits, kan det være lurt å sjekke ut PlayOnLinux og WineTricks.

Interessant nok, opensuse samfunnet sjef Jos Poortvliet nettopp publisert en detaljert rapport om bruk av Wine for spill, der han diskuterer både add-on verktøy. Men først og fremst er det lagt vekt på hvor godt Wine fungerer på en moderne Linux-distribusjon, og dommen er ganske bra. Tatt i betraktning at 27 av de 30 beste oppføringene i Wine kompatibilitet matrise er spill, og gir en god opplevelse er kritisk. Selv om det er
sannsynligvis noen folk som bruker Windows til andre oppgaver også, hvis du vet hvor du skal lete. Anmeldelser