Wine (tarkvara) — Windowsi ühilduvuskiht Unix/Linux süsteemidele
Wine: avatud lähtekoodiga ühilduvuskiht Unix/Linuxile, mis käivitab Windowsi programmid. Sisaldab Winelib'i, toetab ReactOS'i ja on välja antud LGPL litsentsi all.
Wine on tarkvara, mis võimaldab x86- ja x86-64-arhitektuuridel kasutatavatel Unix-taolistel arvutite operatsioonisüsteemidel käivitada Microsoft Windowsi jaoks kirjutatud programme. Wine pakub ka tarkvararaamatukogu nimega Winelib, mille abil saavad arendajad kompileerida Windows'i rakendusi, et aidata neid Unix-taolistesse süsteemidesse portida. Osa Wine'i koodist on kasutusel ReactOSis, mis on vaba operatsioonisüsteem, mis on Windowsiga ühilduv ja ei põhine Unixil.
Wine'i arendajad avaldasid Wine'i versiooni 1.0 pärast 15 aastat kestnud arendustööd 17. juunil 2008. aastal. Wine on vaba tarkvara, mis on avaldatud GNU Lesser General Public License (LGPL) tingimustel.
Kuidas Wine töötab
Wine ei käivita Windowsi operatsioonisüsteemi ega kasuta virtualiseerimist ega emulatsiooni Windowsi tuuma tasemel. Selle asemel on tegemist täieõigusliku ühilduvuskihiga, mis ümberkirjutab ja proovib rakendada Microsoft Windowsi API-de käitumist POSIX-ile suunatud süsteelikõnede ja Linuxi/Unixiga ühilduvate teekide abil. Kui Windowsi programm kutsub mõnda Windowsi süsteemiteeki (nt kernel32, user32, gdi32), proovib Wine pakkuda nendele vastava rakenduse käitumise, kas enda sisemiste ("built-in") teekidega või kasutades vajadusel Windowsi enda DLL-faile.
Peamised komponendid
- wine – põhikäivitusprogramm Windowsi .exe-failide käivitamiseks.
- winelib – C-raamatukogu, mis võimaldab arendajatel kompileerida Windowsi rakendusi Unix/Linux keskkonnas kasutatavateks programmideks.
- winecfg – konfiguratsioonitööriist, millega hallata "wineprefix" keskkondi, seadistada draivereid, heliseadeid ja graafika valikuid.
- WINEPREFIX – isoleeritud kasutajakeskkond, kus hoitakse installitud Windowsi programmide faile, registrit ja seadistusi (tavaliselt kaustas ~/.wine).
- wined3d ja muud moodulid – DirectX käskluste tõlkimine OpenGL-i või muude graafikapiirkondade kaudu; kaasaegsetes konfiguratsioonides kasutatakse tihti ka DXVK-i (Direct3D 9/10/11 → Vulkan) parema jõudluse saavutamiseks.
Toetatud platvormid
Wine töötab paljudel Unixilaadsetel platvormidel, sh Linux, FreeBSD, OpenBSD, Solaris ja macOS (kuigi macOS-il võivad olla lisapiirangud ja vajalikud eripaketid). Tugi erineb distributsiooniti ja arhitektuuriti; peamised sihtarhitektuurid on x86 (32-bit) ja x86-64 (64-bit).
Piirangud ja ühildumine
Ehkki Wine võimaldab käivitada sadu tuhandeid Windowsi rakendusi ja mänge, ei tööta kõik programmid vigadeta. Mõned sagedased piirangud:
- Mõned keerukamad või madala tasemega draiverid ja kernel-režiimi komponendid ei tööta, kuna Wine ei paku Windowsi tuuma.
- Erinev käitumine heli-, printimis- või võrgu API-de puhul võib põhjustada stabiilsus- või jõudlusprobleeme.
- Mõned rakendused nõuavad konkreetseid Windowsi DLL-faile või sulgevad käivitamisel, kui need pole saadaval või pole täpselt emuleeritud.
Wine'i kasutajad saavad kontrollida konkreetsete programmide ühilduvust Wine AppDB andmebaasist ja otsida lahendusi või töökastmeid, mis aitavad probleeme parandada.
Kuidas alustada ja kasulikud tööriistad
- Paljud Linuxi distributsioonid pakuvad Wine'i pakettidena, mida saab paigaldada pakihalduri kaudu.
- Enne programmi installimist on soovitatav luua uus WINEPREFIX ja vajadusel valida 32- või 64-bitine keskkond.
- Tuntud abivahendid: winecfg (konfigureerimine), winetricks (lihtsustab sageli vajalike täiendavate komponentide ja DLL-ide paigaldamist) ja PlayOnLinux (graafiline haldur mitmete Wine-versioonide ja prefix-ide jaoks).
Ajalugu ja projektid, mis põhinevad Wine'il
Wine'i arendus algas 1990ndate keskel ja projekt on pidevalt kasvanud. Wine'i lähtekoodi kasutavad või on sellel põhinevad ka teised projektid ning kommertslikud lahendused, näiteks CodeWeaversi CrossOver. Valve on kasutusele võtnud projekti Proton (mängude käivitamiseks Steamis), mis põhineb Wine'il ja sisaldab mitmeid täiendavaid parandusi ning Direct3D → Vulkan tõlkeid.
Litsents ja kogukond
Wine on vaba tarkvara ja avaldatud GNU Lesser General Public License (LGPL) alusel, mis võimaldab nii avatud kui ka kommertskasutust, järgides litsentsi tingimusi. Projektis osaleb suur avatud lähtekoodiga kogukond ning arendustööd toimuvad avalikult arendajate ja panustajate poolt.
Kust leida lisainfot
Lisateabe, paigaldusjuhendite, ühilduvusandmebaasi ja viimaste versioonide kohta tasub vaadata ametlikke Wine'i allikaid ja kogukonnapõhiseid dokumente. Praktikas aitab tihti otsida konkreetset rakendust Wine AppDB-st ja lugeda teiste kasutajate kogemusi ning soovitusi.
Küsimused ja vastused
K: Mis on vein?
V: Wine on tarkvara, mis võimaldab x86 ja x86-64 arhitektuuridel kasutatavatel Unix-taolistel arvutite operatsioonisüsteemidel käivitada Microsoft Windowsi programme ilma emulatsiooni kasutamata.
K: Mis on Wine'i Winelib?
V: Wine'i Winelib on tarkvararaamatukogu, mida arendajad saavad kasutada Windows'i rakenduste kompileerimiseks, et aidata neid Unix-taolistesse süsteemidesse portida.
K: Mis on ReactOS?
V: ReactOS on vaba operatsioonisüsteem, mis on Windowsiga ühilduv ja ei põhine Unixil. See kasutab mõnda Wine'i koodi.
K: Mis on Wine'i peamine omadus?
V: Wine'i peamine omadus on võimaldada Unix-taolistel süsteemidel käivitada Windowsi programme ilma emulatsiooni kasutamata.
K: Millal ilmus Wine'i versioon 1.0?
V: Wine'i versioon 1.0 ilmus 17. juunil 2008, pärast 15 aastat kestnud arendustööd.
K: Kas Wine on vaba tarkvara?
V: Jah, Wine on vaba tarkvara, mis on avaldatud GNU Lesser General Public License (LGPL) tingimustel.
K: Kas arendajad saavad Wine'i kasutada Windowsi rakenduste portimiseks Unixi-sarnastesse süsteemidesse?
V: Jah, arendajad saavad kasutada Wine'i ja selle Winelib'i, et kompileerida Windows'i rakendusi selle vastu ja portida neid Unix-taolistesse süsteemidesse.
Otsige