Wine

Linux.fista
Siirry navigaatioon Siirry hakuun
Wine

Ensijulkaisu 4. heinäkuuta 1993
Vakaa versio 8.0 [1]  / 24. tammikuuta 2022
Kehitysversio 8.0 [2]  / 24. tammikuuta 2023
Käyttöliittymä Wayland, X
Lisenssi LGPL
Kotisivu winehq.org
Lähdekoodi wiki.winehq.org/Source_Code
Windowsin pasianssi Winessä.
Windows Update Winen ajamassa Internet Explorerissa.

Wine on vapaa ja avoimen lähdekoodin sovellus, jonka avulla on mahdollista ajaa useimpia Windows-sovelluksia Linuxissa. Teknisesti Wine (Wine Is Not an Emulator) on x86--käskykannalla pyöriville Unix-järjestelmille (kuten Linux, Solaris, BSD:t ja macOS) tarkoitettu avoin toteutus Windowsin API:sta. Kuten nimikin kertoo, kyseessä ei ole emulaattori, vaan eräänlainen yhteensopivuuskerros Windows-binäärien ja Unix-pohjaisen käyttöjärjestelmän välissä, kääntäen Windows-kutsut POSIX-käskyiksi lennosta, eliminoiden muiden keinojen suoritus- sekä muistihäviöt sallien käyttäjän saumattomasti yhdistää Windows-sovellukset osaksi käyttöliittymää.

Winestä on saatavissa kolme eri haaraa: Stable (vakaa versio), Development (kehitysversio) ja Wine Staging (testausversio). Saatavilla on myös Valven yhdessä CodeWeaversin luoma haarautuma Proton. Käytännössä minkä tahansa modernin pelin pelaaminen vaatii joko Wine Stagingin tai Protonin käyttöä.

Pääartikkeli: Wine Staging
Pääartikkeli: Proton

Historia[muokkaa]

Vuosien saatossa useampi yrityskin on kehittänyt vuosien saatossa Wineä omiin suuntiinsa, Transgamingin Cedega sekä CodeWeaversin CrossOver Games olivat peleille ja CrossOver Office hyötyohjelmille viritettyjä versioita, joista nykyään jäljellä on vain CodeWeaversin aiempien tuotosten yhteensulautuma CrossOver. Sittemmin peliyhtiö Valve on tietoisesti alkanut panostamaan Winen kehitykseen pyrkimyksissään vapautua Microsoftin suljetun Windows-ekosysteemin ikeestä, joka on kulminoitunut CodeWeaversin kanssa yhteistyössä työstettyyn Proton-haaraumaan. Proton on suunniteltu integroitumaan Steam-ohjelmistoon "Steam Play"-ominaisuutena.

Alkuperäinenkin Wine kykenee nykyään ajamaan esimerkiksi uusinta Microsoft Officea ongelmitta, ja pelitukikin on lähes Protonin tasolla, koska Wine saa Valven Proton-haarauman, sekä CodeWeaversin CrossOver:n kehitysaskeleet avoimen lähdekoodin myötä. Winen uskotaan helpottavan Windowsista Linuxiin siirtymistä erityisesti yrityksissä, kaikkia erikoisohjelmia kun ei ole saatavilla natiivijulkaisuina muille käyttöjärjestelmille kuin Windowsille.

Viidentoista vuoden kehitystyön jälkeen Winestä julkaistiin ensimmäinen vakaa versio Wine 1.0 kesäkuussa 2008. Versio 1.8 julkaistiin joulukuussa 2015 ja se toi mukanaan mm. DirectWrite, Direct2D- ja Direct3D -rajapintoihin liittyviä parannuksia, sekä PulseAudio-ajurin. Direct3D 11 -rajapinnan tuen kehitystyö on vielä Wine 1.8 -versiossa kesken, minkä vuoksi valtaosa kyseistä Direct3D-versiota käyttävistä sovelluksista ei vielä täysimääräisesti toimi Winellä.

  • Wine 4.0 julkaistiin tammikuussa 2019, joka toi tuen DirectX 12- ja Vulkan-rajapinnoille, sekä uusille peliohjaimille.
  • Wine 5.0 julkaistiin tammikuussa 2020, joka toi tuen mm. Vulkan 1.1-rajapinnalle, useammalle näytölle sekä FAudio-integroinnille.
  • Wine 6.0 julkaistiin 14. tammikuuta 2021, jonka uudistuksiin kuuluu mm. parempi tuki liittyen kopioinninesto-ohjelmistoihin.
  • Wine 7.0 julkaistiin 18. tammikuuta 2022, tuki lisättiin Vulkan 1.2-rajapinnalle, joka 28. päivä ilmestyneen 7.1 myötä päivitettiin Vulkan 1.3-tueksi. WOW64 implementoinnin useimmille Unix-kirjastoille ansiosta, 32-bittisiä Windows-sovelluksia voidaan suorittaa 64-bittisen Unix-prosessin sisällä ilman 32-bittisten Unix-kirjastojen asennuksen tarvetta.

Käyttäminen[muokkaa]

Oletuksena wine ilman WINEPREFIX-määritelmää luo hakemiston kotihakemiston juureen:

$HOME/.wine 

Jos ongelmaksi ei koeta sitä, että kaikki ohjelmat sekä pelit käyttävät edellä mainittua samaa Wine-ympäristöä keskenään, käynnistä nykyisestä työhakemistosta löytyvä ohjelma ohjelma.exe Winellä:

wine ohjelma.exe

Jos Winen ajamaa ohjelmaa ei saa suljettua esim. käyttöliittymän kautta, ohjelman saa suljettua tappamalla Wine ja sen ajamat prosessit:

wineserver -k

Wineserver ei aina ole PATH-muuttujan sisältämässä hakemistossa. Esimerkiksi Debianin Winessä se on asennettu hakemistoon /usr/lib/wine/

CD-aseman avaaminen tapahtuu komennolla:

wine eject asemanosoite:

esimerkiksi

wine eject e:

WINEPREFIX[muokkaa]

Huomautus: WINEPREFIXit eivät ole hiekkalaatikoita. Sen sisällä toimivat sovellukset voivat päästä käsiksi Linux-järjestelmään, esim. z-kansion on linkitetty /-hakemistoon WINEPREFIXistä huolimatta.


Paras tapa käyttää Wineä, on luoda jokaisella ohjelmalle sekä pelille oma yksilöllinen Wine-ympäristö. Tämä tapahtuu käyttämällä WINEPREFIXiä. Jos polkua, jossa Wineä halutaan käyttää ei ole olemassa, se luodaan automaattisesti. Mikäli saman ohjelman tai pelin alaisuuteen tarvitsee asentaa päivityksiä, modeja tai lisäohjelmia, se onnistuu WINEPREFIXin avulla.

 WINEPREFIX=/absoluuttinen/polku/jossa/ohjelmaa/käytetään winecfg
 

Tämän jälkeen ohjelma tai peli voidaan suorittaa omassa yksilöllisessä Wine-instanssissaan:

 WINEPREFIX=/absoluuttinen/polku/jossa/ohjelmaa/käytetään wine /polku/ohjelmaan/ohjelma.exe

Esimerkki-asennus:

 WINEPREFIX=/home/käyttäjä/ohjelmat/windows/uusi_ohjelma wine ~/Lataukset/uuden_ohjelman_asennusohjelma.exe

Esimerkki-käyttö:

 WINEPREFIX=/home/käyttäjä/ohjelmat/windows/uusi_ohjelma wine /home/käyttäjä/ohjelmat/windows/uusi_ohjelma/drive_c/Program\ Files\ \(x86\)/Paras\ Windows\ sovellus/Asenna\ Gentoo.exe

Näin toimimalla vaikka jonkin ohjelman tai pelin asennus menisi sekaisin, eivät muut ohjelmat/pelit joudu häiriön tielle.

Vinkki: Jos olemassaolevan Wine-ympäristön ohjelmaa tai peliä haluaa päivittää, on oleellista, että käyttää samaa WINEPREFIXiä päivityksille/modeille.

Jos tarve tulee keskeyttää Wine ja sen ajamat prosessit wineserver -k avulla, mukaan täytyy liittää oikea WINEPREFIX:

 WINEPREFIX=/home/käyttäjä/ohjelmat/windows/uusi_ohjelma wineserver -k

Mikäli WINEPREFIX ei ole tiedossa, Wine sekä sen ajamat prosessit voi tappaa:

ps aux | grep -Eio .*[.]exe  | sed -e 's~.*\\~~g' | xargs -I{} killall {}>/dev/null 2>&1

.msi-asennustiedoston asentaminen[muokkaa]

Winestä löytyy erikseen .msi-asennustiedostojen suorittamiseen msiexec, sen /i valitsemalla asennetaan:

 WINEPREFIX=/absoluuttinen/polku/jossa/ohjelmaa/käytetään msiexec /i  /polku/asennusohjelmaan/asennusohjelma.msi

.dll-tiedostojen asentaminen[muokkaa]

Joskus eri sovellukset tarvitsevat yhden tai useamman .dll-tiedoston toimiakseen, asenna winetricks ja tämän jälkeen:

 WINEPREFIX=/absoluuttinen/polku/jossa/ohjelmaa/käytetään winetricks

Valitse oletus WINEPREFIX Valitse Windows DLL-asennus Valitse tarvitut komponentit

1. Valitse oletus WINEPREFIX 2. Valitse Windows DLL-asennus 3. Valitse tarvitut komponentit

Winen asentaminen[muokkaa]

Wine voidaan asentaa lähdekoodista tai jakelun paketinhallinnasta. Paketinhallinnan käyttäminen on suositeltavin tapa.

Arch Linux-pohjaiset jakelut[muokkaa]

Huomautus: Salli ensiksi multilib-pakettivarasto, joka oletuksena ei ole päällä.


Asentaaksesi uusimman vakaan version suorita:

# pacman -S wine

Asentaaksesi uusimman staging-version suorita:

# pacman -S wine-staging

Lisätietoja löytyy Arch Linuxin wikistä.

Debian ja Ubuntu[muokkaa]

Winen voi asentaa Debianiin ja Ubuntuun (ja muihin apt-pohjaisiin distroihin) apt-getillä tai Synapticilla. Komentorivillä asennus tapahtuu komennolla:

apt-get install wine

Winellä on myös oma apt-lähde, josta on saatavilla uusimmat paketit. Lue lisää Winen asiasta kertovalta sivulta: http://www.winehq.org/download/deb Voit lisätä tämän PPA:n ohjelmalähteisiin seuraavalla komentorivikomennolla:

sudo add-apt-repository ppa:ubuntu-wine/ppa

Ubuntun 16.04.1 LTS ttf-mscorefonts-installer-paketti on vanhentunut ja se ei toimi oikealla tavalla. Uusin paketti löytyy Debianin pakettivarastosta. Ja sen voi hakea komentorivikomennolla:

Komennot, jotka alkavat $-merkillä suoritetaan tavallisena käyttäjänä ja komennot, jotka alkavat #-merkillä suoritetaan pääkäyttäjänä. Katso myös su, sudo ja doas.
$ wget http://httpredir.debian.org/debian/pool/contrib/m/msttcorefonts/ttf-mscorefonts-installer_3.6_all.deb

Ja asennus tapahtuu esimerkiksi komentorivikomennolla:

# sudo gdebi ttf-mscorefonts-installer_3.6_all.deb

Fedora[muokkaa]

Fedoran pakettivarastoista saatava Wine päivittyy yleensä jakelun julkaisujen välilläkin, joten yleensä ulkopuolisten pakettivarastojen käyttöönotto ei Winen takia ole tarpeellista. Pakettivarastoista Winen voi asentaa komennolla:

yum install wine

Gentoo[muokkaa]

Wine voidaan asentaa Gentoo-järjestelmään emergen avulla:

emerge wine

Katso myös artikkeli MASKED- ja TESTING-pakettien käyttäminen Gentoossa.

Asentaminen lähdekoodeista[muokkaa]

Jos jostain syystä tarvitset uusinta Wine-versiota (esimerkiksi uusin Wine osaa ajaa jotain tiettyä ohjelmaa, joka ei toimi vanhempien versioiden kanssa) eikä sellaista löydy valmiina binäärinä jakelusi paketinhallinnasta tai Winen sivuilta, voit asentaa Winen lähdekoodista. Lähdekoodista asentaminen saattaa kuitenkin aiheuttaa ongelmia, eikä sitä suositella. Lisätietoja ohjelmien asentamisesta lähdekoodista löytyy artikkelista kääntäminen.

Lataa halumasi Winen-version lähdekoodi Winen lähdekoodeista ja seuraa siellä olevia ohjeita.

winetricks asentaminen[muokkaa]

Arch Linux-pohjaiset jakelut[muokkaa]

# pacman -S winetricks

Mitä jos ohjelma ei toimikaan Winellä?[muokkaa]

SimCity 4 on mahdollista saada toimimaan Winellä pienellä säätämisellä

Wine ei pysty vielä ajamaan kaikkia Windows-ohjelmia, vaikkakin tuki paranee kaiken aikaa. Etenkin DirectX:ää käyttävien pelien kanssa ongelmia saattaa esiintyä.

Jos kyseessä on peli, on suositeltavaa käyttää valmiita asetuksia, esim. Lutriksen kautta tai kokeilla Proton-haaraumaa. Jos Lutriksesta ei ohjeita löydy tai jokin ohjelma ei suostu käynnistymään, kannattaa ensimmäisenä vilkaista Winen tietokannasta, onko sitä lainkaan mahdollista saada toimimaan. Samalta sivulta saattaa myös löytyä esim. bugiraportteja, joita lukemalla voi selvittää, mitä on tehtävä, jotta ohjelma toimisi.

Mikäli edellä mainittu ei auta, kannattaa etsiä sivuja hakusanoilla "linux wine ohjelman nimi", mistä voi olla apua ongelman ratkaisemiseen. Monesti eri sovellukset vaativat yksilöllisen Wine-ympäristön, joka onnistuu WINEPREFIXin avulla.

Jos edellä mainitut keinot eivät tuota tulosta, kannattaa katsoa Winen antamaa virheilmoitusta: puuttuuko jokin DLL-tiedosto vai eikö jotain funktiota löydy Winen sisäänrakennetuista kirjastoista? Tällöin kannattaa etsiä Internetistä (esim. https://www.dll-files.com) kyseinen tiedosto ja Winen asetukset asettaa Wine käyttämään tätä natiivia DLL:ää Winen oman version sijaan. Lisäksi jos Winen virheilmoitus viittaa vaikkapa äänijärjestelmään, kannattaa kokeilla muuttaa joitain äänilaitteisiin liittyviä asetuksia.

Ohjelmakohtaisia ohjeita[muokkaa]


Winen asetukset[muokkaa]

Winen asetuksia voidaan muokata regedit-ohjelman avulla. Asetuksien muokkaamiseen liittyviä ohjeita löytyy Winen asetukset -sivulta. Nykyään Winen mukana tulee myös winecfg-ohjelma, jolla asetusten muuttaminen on helppoa. Wineä voidaan myös muokata winetricks -nimisen apuohjelman avulla. PlayOnLinux on ohjelmisto, jonka avulla voit helposti asentaa ja käyttää lukuisia ohjelmistoja ja pelejä. Ohjelma lataa aina ohjelmalle parhaiten toimivimman Wine version, sekä osaa laittaa tarvittaessa asetukset kuntoon. Samalle koneella voi siis olla useita eri Winen versioita omilla virtuaaliasemillaan.

Katso myös[muokkaa]

Aiheesta muualla[muokkaa]

v  k  m

Wine

PlayOnLinux | Lutris | Bottles | Proton | protontricks | Wine Staging | Winetricks | CrossOver
v  k  m
Emulaattorit ja virtuaalikoneet
 API-rajapinnat  CrossOver | Wine | Proton
 Emulaattorit  Bochs | Dolphin Emulator | DOSEMU | DOSBox | FreeDOS | FCEUX | SheepShaver | UAE | FS-UAE | Vice | MAME | QEMU
 Virtuaalikoneet  VMware | Xen | QEMU | VirtualBox | MOL | LXC | ScummVM | ResidualVM | DistroTest