Hoppa till innehållet

Wine: Skillnad mellan sidversioner

Från Wikipedia
Innehåll som raderades Innehåll som lades till
Notwist (Diskussion | Bidrag)
Ingen redigeringssammanfattning
MichielN (Diskussion | Bidrag)
9.0
 
(94 mellanliggande sidversioner av 44 användare visas inte)
Rad 1: Rad 1:
{{Datorprogram
{{Datorprogram
|namn = Wine
|namn = Wine
|logo = [[Bild:WINE-Logo.svg|100px|Wine:s logotyp, ett stiliserat vinglas]]
|logo = [[Fil:WINE-Logo.svg|100px|Wine:s logotyp, ett stiliserat vinglas]]
|skärmdump =
|skärmdump =
|bildtext =
|bildtext =
|utvecklare =
|utvecklare =
|senaste_utgåva_version = 1.0
|senaste_utgåva_version = 9.0
|senaste_utgåva_datum = [[2008]]-[[17 juni|06-17]] <ref name="announce-1.0">{{webbref |url=http://www.winehq.org/?announce=1.0 |titel=Wine HQ - Announce |hämtdatum=2008-06-17}}</ref>
|senaste_utgåva_datum = [[16 januari]] [[2024]]<ref>{{webbref |url=https://www.winehq.org/news/2024011601|titel=Wine 9.0 Released |hämtdatum=2024-01-16|språk=engelska}}</ref>
|operativsystem = [[GNU/Linux]], [[FreeBSD]], [[Mac OS X|Mac&nbsp;OS&nbsp;X]], [[Solaris (operativsystem)|Solaris]]
|operativsystem = [[Multiplattform]] ([[unixliknande]])
|programkategori = [[Emulator]]
|programkategori = [[Kompatibilitetslager]], [[emulator]]
|licens = [[GNU Lesser General Public License|LGPL]] 2.1
|licens = [[GNU Lesser General Public License|LGPL]] 2.1+
|svenskspråkig =
|svenskspråkig =
|webbplats = [http://www.winehq.org www.winehq.org]
|webbplats = [http://www.winehq.org www.winehq.org]
}}
}}
'''Wine''' är [[programvara]] som låter en användare köra program för [[Microsoft Windows]] under andra, [[unixliknande]], [[operativsystem]]. Exempelvis kan man med hjälp av Wine köra [[Microsoft Office|Microsofts kontorsprogram]] i [[Linux]]. Wine emulerar inte hårdvaran och programmen måste alltså köras på den typ av dator ([[arkitektur|datorarkitektur]]) de är [[Kompilator|kompilerade]] för. Eftersom program för Windows i allmänhet bara stöder [[x86]] och [[AMD64]] (x86-64) har Wine inte heller [[Portering (datorteknik)|portats]] till andra datortyper.
'''Wine''' är en [[mjukvara]] med syfte att låta [[unixliknande]] [[operativsystem]] på [[x86]]-arkitekturen att exekvera program som skrivits för [[Microsoft Windows]]. Wine erbjuder också ett [[programbibliotek]] under namnet ''Winelib'' i vilket programmerare kan [[Kompilator|kompilera]] Windows-applikationer mot för att underlätta [[portning]] till Unixliknande system.<ref>{{ cite web | url = http://www.winehq.org/site/winelib | publisher = Wine HQ | title = Winelib | accessdate = 2008-06-29 }}</ref>


Wine erbjuder också ett [[programbibliotek]] under namnet ''Winelib'' i vilket programmerare kan kompilera Windows-applikationer för Unixliknande system, för att underlätta portning.<ref>{{Webbref|url = http://www.winehq.org/site/winelib|utgivare = Wine HQ|titel = Winelib|hämtdatum = 29 juni 2008|arkivurl = https://web.archive.org/web/20120826190449/http://www.winehq.org/site/winelib|arkivdatum = 26 augusti 2012}}</ref>
Namnet ''Wine'' kommer från en [[rekursiv akronym]]; ''Wine Is Not an Emulator'' (Wine Är Inte en Emulator). Även om namnet ibland skrivs som "WINE" och "wine" har projektets utvecklare kommit överens om att standardisera stavningen till formen "Wine".<ref>{{cite web | url = http://wiki.winehq.org/FAQ#head-8b4fbbe473bd0d51d936bcf298f5b7f0e8d25f2e | title = Why do some people write WINE and not Wine? }}</ref>


Utvecklarna bakom Wine släppte version 1.0, efter 15 år av utveckling, den [[17 juni]] [[2008]]. Wine är släppts under [[GNU Lesser General Public License]] (LGPL) är programmet [[fri mjukvara]].
Den första stabila utgåvan (version 1.0) av Wine släpptes den [[17 juni]] [[2008]], efter 15 år av utveckling. Wine är [[fri programvara]] under [[GNU Lesser General Public License]].


==Ingen emulator==
== Ingen emulator ==
[[Fil:Wineie on ubuntu.png|miniatyr|250px|Skärmdump på en inbyggd variant av [[Internet Explorer]] framställd för Wine som körs på [[Ubuntu]] 10.10.]]
Tekniskt fungerar Wine inte som en emulator (utom för mycket gamla program, som kräver mer direkt kontakt med den underliggande apparaturen än Linux och moderna Windows-versioner tillåter), även om den ger Windows-program en miljö som verkar som, "emulerar", Windows. Genom avsaknaden av emulering är program inte nödvändigtvis långsammare då de körs under Wine än då de körs under Windows.
Namnet ''Wine'' kommer från en [[rekursiv akronym]]; ''Wine Is Not an Emulator'' (Wine Är Inte en Emulator).<ref>{{webbref | url = http://wiki.winehq.org/FAQ#head-8b4fbbe473bd0d51d936bcf298f5b7f0e8d25f2e | titel = Why do some people write WINE and not Wine?|hämtdatum=2008-07-09|språk=en}}</ref>


En egentlig [[emulator]] emulerar själva datorhårdvaran, Wine emulerar inte processorn.<ref>{{webbref|titel=Non X86 Processors ARM etc..|url=http://wiki.jswindle.com/index.php/Installing_Wine#Non_X86_Processors_ARM_etc..|arkivurl=https://archive.is/20120525100546/http://wiki.jswindle.com/index.php/Installing_Wine%23Non_X86_Processors_ARM_etc..#Non_X86_Processors_ARM_etc..|arkivdatum=25 maj 2012|hämtdatum=2011-03-19}}</ref> Wine kan köras på en [[ARM (processorarkitektur)|ARM]] processor. Wine nöjer sig i allmänhet med att förbereda programmets miljö (minnesrymden) så att den till behövliga delar följer konventionerna under Windows och så att anrop till programbibliotek och operativsystem sker via Wine och Winelib. Wine räknas dock som en emulator i den meningen att den erbjuder program en miljö som ser ut att vara, "emulerar", Windows.
Programkod som inte innehåller systemanrop eller anrop till externa programbibliotek körs nära nog exakt lika under Wine som under Windows (undantag gäller t.ex. minnesadministration och [[Multikörning|tidsdelning]] med orelaterade processer), kod som innehåller anrop kör annan kod under Wine, men i de fall funktionaliteten kan implementeras effektivt under Linux behöver inte heller den vara långsammare. Tills vidare är dock Wine-koden inte optimerad för snabbhet, vilket kan synas i programmens prestanda.


Till den del ett program använder kod som distribueras med programmet kan det köra under vilket operativsystem som helst, förutsatt att datorn är av rätt typ ([[datorarkitektur]], till exempel [[AMD64]]). Ett program som Wine behövs när [[tillämpningsprogram]]met anropar [[operativsystemkärna]]n eller [[programbibliotek]] som distribueras med operativsystemet, då programmet tar sig för stora friheter eller då programmet förväntar sig att omgivningen skall följa konventioner som inte gäller på andra operativsystem.
Eftersom Wine inte är en emulator så stöds inte program kompilerade för andra arkitekturer än den på vilken Wine körs. Då den mesta Windows-programvaran finns tillgänglig endast för x86 har inga större ansträngningar gjorts för att få Wine att fungera på andra arkitekturer. [[AMD64]] kommer att stödas så småningom.

Emulering av hårdvara kräver ofta mycket stora datorresurser och därför är detta, att Wine inte är en emulator, väsentlig för prestandan. De programbibliotek som Wine erbjuder är inte nödvändigtvis långsammare än de som kommer med Windows (också [[Dynamic-link library|DLL]]-filer från Windows kan användas under Wine); omskrivning av anropen så att de motsvarar vad som krävs under Unix-system kräver för det mesta marginella resurser. De flesta program blir ändå något långsammare under Wine, dels för att Wine-koden ännu inte är optimerad för snabbhet, dels för att programrutiner skrivna att utnyttja windows-funktioner på optimalt sätt inte nödvändigtvis är optimala i den främmande miljön. En del program kan också ha bättre prestanda under Wine än i Windows.<ref>{{Webbref|url=http://wiki.winehq.org/BenchMark-0.9.5 |utgivare=wiki.winehq.org |titel=BenchMark-0.9.5 - The Official Wine Wiki |hämtdatum=15 november 2010 |arkivurl=https://web.archive.org/web/20101209221003/http://wiki.winehq.org/BenchMark-0.9.5 |arkivdatum= 9 december 2010 }}</ref> Ett benchmarktest visade till och med att [[Mozilla Firefox]] för Windows som kördes med hjälp av Wine var snabbare än Firefox:s Linux-version.<ref>{{Webbref|url = http://www.tuxradar.com/content/browser-benchmarks-2-even-wine-beats-linux-firefox|utgivare = tuxradar.com|titel = Browser benchmarks 2: even Wine beats Linux Firefox|hämtdatum = 15 mars 2011|arkivurl = https://web.archive.org/web/20171114202740/http://www.tuxradar.com/content/browser-benchmarks-2-even-wine-beats-linux-firefox|arkivdatum = 14 november 2017}}</ref> En oviss förklaring kan vara långsammare kod när Firefox kompileras med [[GCC]] [[Kompilator|kompilatorn]].


== Funktion ==
== Funktion ==
[[Fil:Wine configuration screenshot.png|thumb|right|Wine ljudkonfiguration.]] Då man kör ett Windows-program under Wine startar man i själva verket Wine med upplysning om vilket program som skall köras. Wine skapar en Windows-lik miljö för programmet och startar en ''Wine-server'', som bland annat sköter kommunikation mellan Windows-processer. Därefter laddas programmet och de programbibliotek det behöver. Wine-kod sköter om kopplingen mellan wines .so-bibliotek och de efterfrågade DLL-biblioteken.


Då funktionaliteten i programbibliotek eller systemanrop under Windows och Linux motsvarar varandra, är Wine-bibliotekens uppgift i första hand att skriva om anropen så att de blir korrekta under Linux. I de fall där Windows erbjuder ytterligare funktionalitet sköts denna genom extra kod, för systemanrop inom ramen för Wine-servern. Då funktionaliteten i Windows skiljer sig mycket från den i Linux implementeras den helt genom Wine-kod, detta var till exempel fallet med [[tråd (datavetenskap)|trådar]] tills trådimplementationen under Linux blev tillräckligt bra.
Då man kör ett Windows-program under Wine startar man i själva verket Wine med upplysning om vilket program som skall köras. Wine skapar en Windows-lik miljö för programmet och startar en Wine-server, som bland annat sköter kommunikation mellan Windows-processer. Därefter laddas programmet och de programbibliotek det behöver. Wine-kod sköter om kopplingen mellan wines .so-bibliotek och de efterfrågade DLL-biblioteken.


Wine har till stor del skrivits med hjälp av [[Reverse engineering|omvänd ingenjörskonst]] som inte kräver kunskap om inre konstruktion eller [[källkod]] från Windows.
Då funktionaliteten i programbibliotek eller systemanrop under Windows och Linux motsvarar varandra, är Wine-bibliotekens uppgift i första hand att skriva om anropen så att de blir korrekta under Linux. I de fall där Windows erbjuder ytterligare funktionalitet sköts denna genom extra kod, i fall av systemanrop inom ramen för Wine-servern. Då funktionaliteten i Windows skiljer sig mycket från den i Linux implementeras den helt genom Wine-kod, detta var t.ex. fallet med [[tråd (datavetenskap)|tråd]]ar tills trådimplementationen under Linux blev tillräckligt bra.


Program kan skrivas direkt för Wine eller [[portning|portas]] med hjälp av ''Winelib''. Sådana program kan även använda normala Linux-programbibliotek (.so) och Linus-systemanrop, utom vad gäller viss funktionalitet, där samspelet mellan Wine och Linux är alltför komplicerat och känsligt, såsom implementationen av trådar.
Program kan även skrivas direkt för Wine eller [[Portering (datorteknik)|portas]] med hjälp av ''Winelib''. Sådana program kan vid sidan av Wine använda normala Linux-programbibliotek (.so) och Linux-systemanrop, utom vad gäller viss funktionalitet, där samspelet mellan Wine och Linux är alltför komplicerat och känsligt, såsom implementationen av trådar.


Med hjälp av Wines konfigurationsfiler kan man vid behov använda Windows' egna programbibliotek förutsatt att man har tillgång till dem, istället för motsvarande Wine-bibliotek. Normalt används Windows-bibliotek om sådana finns, utom i de fall Wine har en fullgod implementation av biblioteket ifråga eller Windows-biblioteket inte fungerar tillsammans med Wine.
Med hjälp av Wines konfigurationsfiler kan man vid behov använda Windows' egna programbibliotek förutsatt att man har tillgång till dem, istället för motsvarande Wine-bibliotek. Normalt används Windows-bibliotek om sådana finns, utom i de fall Wine har en fullgod implementation av biblioteket ifråga eller det är känt att Windows-biblioteket inte fungerar tillsammans med Wine.

Ett eventuellt utsläpps kriterium för framtida Wine är USB-stöd och även AcceptEx stöd har implementerats för att kunna koppla up sig till [[Battle.net]].<ref>{{webbref |url=http://wiki.winehq.org/WineReleaseCriteria |titel=WineReleaseCriteria - The Official Wine Wiki |hämtdatum=28 maj 2011 |arkivurl=https://archive.is/20120525100546/http://wiki.winehq.org/WineReleaseCriteria |arkivdatum=25 maj 2012 }}</ref>

== Portabelt ==
Wine är ett portabelt [[C (programspråk)|C-program]] och finns tillgängligt för [[Linux|GNU/Linux]], [[Mac OS]], [[FreeBSD]] och eventuellt andra [[Berkeley Software Distribution|BSD]]-varianter, [[OpenSolaris]] och [[Solaris (operativsystem)|Solaris]].


== Olika programtyper ==
== Olika programtyper ==
Wine stöder så väl [[DOS]]-program (även om stödet för tillfället inte är särskilt bra), 16 bitars program för tidiga Windows-versioner ("NE") och program för olika 32 bitars Windows-versioner ("PE"). 64 bitars program ([[AMD64]]) stöds sedan version 1.2, utgiven 2010. I tidigare versioner var man tvungen att använda 32-bitarsvarianter av programmen. I en konfigurationsfil anges vilken version av Windows som Wine skall utge sig vara, normalt (i version 1.3) Windows XP. Man kan prova ställa in Wine på "[[Windows 98]]" eller "[[Windows 95]]" för äldre program. Fr.o.m. Wine 1.3.15 testas inte längre Windows 9x beteende.<ref>{{webbref |url=http://www.winehq.org/news/2011030401|titel=Wine 1.3.15 Released|hämtdatum=2011-03-15|språk=en}}</ref> Det går till exempel att installera Microsoft Internet Explorer 6.0 med hjälp av Wine.


DOS-program körs i en emulator. 16-bitars Windows-program, som använder samverkande [[multikörning]], körs som [[tråd (datavetenskap)|trådar]] i en gemensam process. 32-bitarsprogram körs som separata Unix-processer.
Wine stöder så väl DOS-program (även om stödet för tillfället inte är särskilt bra), 16 bitars program för tidiga Windows-versioner ("NE") och program för olika 32 bitars Windows-versioner ("PE"). 64 bitars program ([[AMD64]]) kommer att stödas i ett senare skede, men tills vidare måste 32 bitars varianter av programmen användas. I en konfigurationsfil anges vilken version av Windows Wine skall uppge sig vara.


== Winetricks ==
DOS-program körs i en emulator. 16-bitars Windows-program, som använder samverkande [[multikörning]], körs som [[tråd (datavetenskap)|tråd]]ar i en gemensam process. 32 bitars program körs som separata Unix-processer.
[[Winetricks]] är ett skript för att till exempel installera grundläggande komponenter som krävs för vissa applikationer som till exempel Adobe Photoshop. Exempel av en ungefärlig installation av Photoshop från en terminalemulator, skriv


wget http://kegel.com/wine/winetricks
==Källor==

sh winetricks corefonts vcrun6 msxml6 gdiplus gecko vcrun2005

wine Setup.exe

Winetricks 20110311 har ett nytt grafiskt användargränssnitt.

== Crossover ==
[[Crossover Office|CrossOver]] är en [[kommersiell]] version av Wine som marknadsförs och säljs av [[CodeWeavers]]. [[Google]] anställde CodeWeavers att fixa Wine [[Picasa]] som körde tillräckligt bra ska flyttas direkt till Linux, med samma binära som på Windows. Google betalade senare för förbättringar av Wines stöd för [[Adobe Photoshop]] CS2. Wine är också en vanlig mottagare av Google's Summer of Code program.<ref>{{webbref |url=http://article.gmane.org/gmane.comp.emulators.wine.devel/56872 |titel=Open Source Patches: Wine |hämtdatum=3 januari 2009 |författare=Dan Kegel |datum=14 februari 2008 |utgivare=Google |arkivurl=https://web.archive.org/web/20090106202914/http://article.gmane.org/gmane.comp.emulators.wine.devel/56872 |arkivdatum=6 januari 2009 }}</ref> CodeWeavers stöder Wine projektet.<ref>{{Webbref |url = http://www.codeweavers.com/products/support_wine/|utgivare = codeweavers.com|titel = CodeWeavers: Proud Supporters of The Wine Project|hämtdatum = 5 januari 2011}}</ref><ref>[http://www.winehq.org/download/ Winehq: download] {{Wayback|url=http://www.winehq.org/download/ |date=20110314131344 }} (15.3.2011)</ref> Crossover Linux stödjer bland annat [[World of Warcraft]] och [[Microsoft Office 2007]] utom [[Microsoft Access|Access]], som inte stöds för tillfället.<ref>{{webbref |url=http://www.codeweavers.com/compatibility/browse/name/?app_id=3907 |titel=Microsoft Access 2007 |hämtdatum=28 maj 2011 |datum=18 maj 2010}}</ref> Microsoft Office 2010 fungerar inte bra i dagsläget.

== Källor ==
<references/>
<references/>

===Webbkällor===
=== Webbkällor ===
* [http://www.winehq.org/ Wine HQ] officiell webbplats {{en ikon}}
* [http://www.winehq.org/ Wine HQ] officiell webbplats {{en ikon}}
* [http://appdb.winehq.org Wine Application Database] Lista över applikationer som har testats med Wine - med info om hur det gick samt tips för att få det att fungera. {{en ikon}}
* [http://appdb.winehq.org Wine Application Database] Lista över applikationer som har testats med Wine - med info om hur det gick samt tips för att få det att fungera. {{en ikon}}
<!-- hm, alla uppgifter är inte från dessa sidor, notapparat borde införas för de viktigaste uppgifterna -->
<!-- hm, alla uppgifter är inte från dessa sidor, notapparat borde införas för de viktigaste uppgifterna -->


==Se även==
== Se även ==
* [[CrossOver Office]] - en kommersiell variant av Wine med teknisk hjälp och grafisk installation för många vanliga program. Används bland annat av [[Disney]] för att köra [[Photoshop]] under Linux.
* [[Cedega]] - ett kommersiellt program som har sitt ursprung i Wine, men numera är helt fristående. Cedega inriktar sig främst på att köra spel som använder [[DirectX]]. Många anser att Wine numera har lika bra eller bättre stöd för DirectX, men det kan vara värt att prova om det inte fungerar med Wine.
* [[ReactOS]] - ett försök att implementera ett komplett [[operativsystem]] som är [[kompatibel]]t med Windows och alltså skulle kunna användas istället. Projektet delar mycket kod och flera utvecklare med Wine.


* [[Cygwin]] - mjukvara för att köra Unix-program under Windows
===Externa länkar===
* [[CrossOver Office]] - en kommersiell variant av Wine med teknisk hjälp och grafisk installation för många vanliga program. Används bland annat av Disney för att köra [[Adobe Photoshop|Photoshop]] under Linux.
* [http://frankscorner.org/ Frank's Corner] med information om hur Wine kan användas. {{en ikon}}
* [[Cedega]] - ett kommersiellt program som har sitt ursprung i Wine, men numera är helt fristående. Cedega inriktar sig främst på att köra spel som använder [[DirectX]]. Många{{Vem|datum=2010-03}} anser att Wine numera har lika bra eller bättre stöd för DirectX, men det kan vara värt att prova om det inte fungerar med Wine.
* [[ReactOS]] - ett försök att implementera ett komplett [[operativsystem]] som är kompatibelt med Windows och alltså skulle kunna användas istället. Projektet delar mycket kod och flera utvecklare med Wine.
* [[Dosbox]] - är en emulator som emulerar en IBM PC kompatibel dator som kör med [[MS-DOS]]
* [[Darwine]]


== Externa länkar ==
[[Kategori:Fria emulatorer]]
* [https://web.archive.org/web/20190102021133/http://frankscorner.org/ Frank's Corner] med information om hur Wine kan användas. {{en ikon}}
* [http://www.playonlinux.com/ PlayOnLinux] är en programvara som gör att du enkelt installera och använda många spel och program avsedda att köras med [[Microsoft Windows]]. {{en ikon}}


[[Kategori:Fria emulatorer]]
[[af:Wine]]
[[Kategori:Rekursiva akronymer]]
[[ar:واين (برنامج)]]
[[Kategori:Windowsprogramkörande program]]
[[bs:Wine]]
[[Kategori:Programvaror 1993]]
[[ca:Wine]]
[[cs:Wine]]
[[cv:Wine]]
[[de:Wine]]
[[en:Wine (software)]]
[[eo:Wine]]
[[es:Wine]]
[[fi:Wine]]
[[fr:Wine]]
[[he:Wine]]
[[hu:WINE]]
[[ia:WINE]]
[[id:Wine (perangkat lunak)]]
[[it:Wine]]
[[ja:Wine]]
[[ko:와인 (소프트웨어)]]
[[ml:വൈന്‍ (സോഫ്റ്റ്‌വെയര്‍)]]
[[nl:Wine]]
[[no:Wine]]
[[pl:Wine]]
[[pt:Wine]]
[[ru:Wine]]
[[sk:Wine]]
[[sl:Wine]]
[[tr:Wine]]
[[uk:Wine]]
[[vi:Wine]]
[[zh:Wine]]

Nuvarande version från 17 januari 2024 kl. 17.21

Wine
Wine:s logotyp, ett stiliserat vinglas
Senaste utgåva9.0
(16 januari 2024[1])
OperativsystemMultiplattform (unixliknande)
TypKompatibilitetslager, emulator
LicensLGPL 2.1+
Webbplatswww.winehq.org

Wine är programvara som låter en användare köra program för Microsoft Windows under andra, unixliknande, operativsystem. Exempelvis kan man med hjälp av Wine köra Microsofts kontorsprogram i Linux. Wine emulerar inte hårdvaran och programmen måste alltså köras på den typ av dator (datorarkitektur) de är kompilerade för. Eftersom program för Windows i allmänhet bara stöder x86 och AMD64 (x86-64) har Wine inte heller portats till andra datortyper.

Wine erbjuder också ett programbibliotek under namnet Winelib i vilket programmerare kan kompilera Windows-applikationer för Unixliknande system, för att underlätta portning.[2]

Den första stabila utgåvan (version 1.0) av Wine släpptes den 17 juni 2008, efter 15 år av utveckling. Wine är fri programvara under GNU Lesser General Public License.

Ingen emulator

[redigera | redigera wikitext]
Skärmdump på en inbyggd variant av Internet Explorer framställd för Wine som körs på Ubuntu 10.10.

Namnet Wine kommer från en rekursiv akronym; Wine Is Not an Emulator (Wine Är Inte en Emulator).[3]

En egentlig emulator emulerar själva datorhårdvaran, Wine emulerar inte processorn.[4] Wine kan köras på en ARM processor. Wine nöjer sig i allmänhet med att förbereda programmets miljö (minnesrymden) så att den till behövliga delar följer konventionerna under Windows och så att anrop till programbibliotek och operativsystem sker via Wine och Winelib. Wine räknas dock som en emulator i den meningen att den erbjuder program en miljö som ser ut att vara, "emulerar", Windows.

Till den del ett program använder kod som distribueras med programmet kan det köra under vilket operativsystem som helst, förutsatt att datorn är av rätt typ (datorarkitektur, till exempel AMD64). Ett program som Wine behövs när tillämpningsprogrammet anropar operativsystemkärnan eller programbibliotek som distribueras med operativsystemet, då programmet tar sig för stora friheter eller då programmet förväntar sig att omgivningen skall följa konventioner som inte gäller på andra operativsystem.

Emulering av hårdvara kräver ofta mycket stora datorresurser och därför är detta, att Wine inte är en emulator, väsentlig för prestandan. De programbibliotek som Wine erbjuder är inte nödvändigtvis långsammare än de som kommer med Windows (också DLL-filer från Windows kan användas under Wine); omskrivning av anropen så att de motsvarar vad som krävs under Unix-system kräver för det mesta marginella resurser. De flesta program blir ändå något långsammare under Wine, dels för att Wine-koden ännu inte är optimerad för snabbhet, dels för att programrutiner skrivna att utnyttja windows-funktioner på optimalt sätt inte nödvändigtvis är optimala i den främmande miljön. En del program kan också ha bättre prestanda under Wine än i Windows.[5] Ett benchmarktest visade till och med att Mozilla Firefox för Windows som kördes med hjälp av Wine var snabbare än Firefox:s Linux-version.[6] En oviss förklaring kan vara långsammare kod när Firefox kompileras med GCC kompilatorn.

Wine ljudkonfiguration.

Då man kör ett Windows-program under Wine startar man i själva verket Wine med upplysning om vilket program som skall köras. Wine skapar en Windows-lik miljö för programmet och startar en Wine-server, som bland annat sköter kommunikation mellan Windows-processer. Därefter laddas programmet och de programbibliotek det behöver. Wine-kod sköter om kopplingen mellan wines .so-bibliotek och de efterfrågade DLL-biblioteken.

Då funktionaliteten i programbibliotek eller systemanrop under Windows och Linux motsvarar varandra, är Wine-bibliotekens uppgift i första hand att skriva om anropen så att de blir korrekta under Linux. I de fall där Windows erbjuder ytterligare funktionalitet sköts denna genom extra kod, för systemanrop inom ramen för Wine-servern. Då funktionaliteten i Windows skiljer sig mycket från den i Linux implementeras den helt genom Wine-kod, detta var till exempel fallet med trådar tills trådimplementationen under Linux blev tillräckligt bra.

Wine har till stor del skrivits med hjälp av omvänd ingenjörskonst som inte kräver kunskap om inre konstruktion eller källkod från Windows.

Program kan även skrivas direkt för Wine eller portas med hjälp av Winelib. Sådana program kan vid sidan av Wine använda normala Linux-programbibliotek (.so) och Linux-systemanrop, utom vad gäller viss funktionalitet, där samspelet mellan Wine och Linux är alltför komplicerat och känsligt, såsom implementationen av trådar.

Med hjälp av Wines konfigurationsfiler kan man vid behov använda Windows' egna programbibliotek förutsatt att man har tillgång till dem, istället för motsvarande Wine-bibliotek. Normalt används Windows-bibliotek om sådana finns, utom i de fall Wine har en fullgod implementation av biblioteket ifråga eller det är känt att Windows-biblioteket inte fungerar tillsammans med Wine.

Ett eventuellt utsläpps kriterium för framtida Wine är USB-stöd och även AcceptEx stöd har implementerats för att kunna koppla up sig till Battle.net.[7]

Wine är ett portabelt C-program och finns tillgängligt för GNU/Linux, Mac OS, FreeBSD och eventuellt andra BSD-varianter, OpenSolaris och Solaris.

Olika programtyper

[redigera | redigera wikitext]

Wine stöder så väl DOS-program (även om stödet för tillfället inte är särskilt bra), 16 bitars program för tidiga Windows-versioner ("NE") och program för olika 32 bitars Windows-versioner ("PE"). 64 bitars program (AMD64) stöds sedan version 1.2, utgiven 2010. I tidigare versioner var man tvungen att använda 32-bitarsvarianter av programmen. I en konfigurationsfil anges vilken version av Windows som Wine skall utge sig vara, normalt (i version 1.3) Windows XP. Man kan prova ställa in Wine på "Windows 98" eller "Windows 95" för äldre program. Fr.o.m. Wine 1.3.15 testas inte längre Windows 9x beteende.[8] Det går till exempel att installera Microsoft Internet Explorer 6.0 med hjälp av Wine.

DOS-program körs i en emulator. 16-bitars Windows-program, som använder samverkande multikörning, körs som trådar i en gemensam process. 32-bitarsprogram körs som separata Unix-processer.

Winetricks är ett skript för att till exempel installera grundläggande komponenter som krävs för vissa applikationer som till exempel Adobe Photoshop. Exempel av en ungefärlig installation av Photoshop från en terminalemulator, skriv

wget http://kegel.com/wine/winetricks
sh winetricks corefonts vcrun6 msxml6 gdiplus gecko vcrun2005
wine Setup.exe

Winetricks 20110311 har ett nytt grafiskt användargränssnitt.

CrossOver är en kommersiell version av Wine som marknadsförs och säljs av CodeWeavers. Google anställde CodeWeavers att fixa Wine Picasa som körde tillräckligt bra ska flyttas direkt till Linux, med samma binära som på Windows. Google betalade senare för förbättringar av Wines stöd för Adobe Photoshop CS2. Wine är också en vanlig mottagare av Google's Summer of Code program.[9] CodeWeavers stöder Wine projektet.[10][11] Crossover Linux stödjer bland annat World of Warcraft och Microsoft Office 2007 utom Access, som inte stöds för tillfället.[12] Microsoft Office 2010 fungerar inte bra i dagsläget.

  1. ^ ”Wine 9.0 Released” (på engelska). https://www.winehq.org/news/2024011601. Läst 16 januari 2024. 
  2. ^ ”Winelib”. Wine HQ. Arkiverad från originalet den 26 augusti 2012. https://web.archive.org/web/20120826190449/http://www.winehq.org/site/winelib. Läst 29 juni 2008. 
  3. ^ ”Why do some people write WINE and not Wine?” (på engelska). http://wiki.winehq.org/FAQ#head-8b4fbbe473bd0d51d936bcf298f5b7f0e8d25f2e. Läst 9 juli 2008. 
  4. ^ ”Non X86 Processors ARM etc..”. Arkiverad från originalet den 25 maj 2012. https://archive.is/20120525100546/http://wiki.jswindle.com/index.php/Installing_Wine%23Non_X86_Processors_ARM_etc..#Non_X86_Processors_ARM_etc... Läst 19 mars 2011. 
  5. ^ ”BenchMark-0.9.5 - The Official Wine Wiki”. wiki.winehq.org. Arkiverad från originalet den 9 december 2010. https://web.archive.org/web/20101209221003/http://wiki.winehq.org/BenchMark-0.9.5. Läst 15 november 2010. 
  6. ^ ”Browser benchmarks 2: even Wine beats Linux Firefox”. tuxradar.com. Arkiverad från originalet den 14 november 2017. https://web.archive.org/web/20171114202740/http://www.tuxradar.com/content/browser-benchmarks-2-even-wine-beats-linux-firefox. Läst 15 mars 2011. 
  7. ^ ”WineReleaseCriteria - The Official Wine Wiki”. Arkiverad från originalet den 25 maj 2012. https://archive.is/20120525100546/http://wiki.winehq.org/WineReleaseCriteria. Läst 28 maj 2011. 
  8. ^ ”Wine 1.3.15 Released” (på engelska). http://www.winehq.org/news/2011030401. Läst 15 mars 2011. 
  9. ^ Dan Kegel (14 februari 2008). ”Open Source Patches: Wine”. Google. Arkiverad från originalet den 6 januari 2009. https://web.archive.org/web/20090106202914/http://article.gmane.org/gmane.comp.emulators.wine.devel/56872. Läst 3 januari 2009. 
  10. ^ ”CodeWeavers: Proud Supporters of The Wine Project”. codeweavers.com. http://www.codeweavers.com/products/support_wine/. Läst 5 januari 2011. 
  11. ^ Winehq: download Arkiverad 14 mars 2011 hämtat från the Wayback Machine. (15.3.2011)
  12. ^ ”Microsoft Access 2007”. 18 maj 2010. http://www.codeweavers.com/compatibility/browse/name/?app_id=3907. Läst 28 maj 2011. 
  • Wine HQ officiell webbplats (engelska)
  • Wine Application Database Lista över applikationer som har testats med Wine - med info om hur det gick samt tips för att få det att fungera. (engelska)
  • Cygwin - mjukvara för att köra Unix-program under Windows
  • CrossOver Office - en kommersiell variant av Wine med teknisk hjälp och grafisk installation för många vanliga program. Används bland annat av Disney för att köra Photoshop under Linux.
  • Cedega - ett kommersiellt program som har sitt ursprung i Wine, men numera är helt fristående. Cedega inriktar sig främst på att köra spel som använder DirectX. Många[vem?] anser att Wine numera har lika bra eller bättre stöd för DirectX, men det kan vara värt att prova om det inte fungerar med Wine.
  • ReactOS - ett försök att implementera ett komplett operativsystem som är kompatibelt med Windows och alltså skulle kunna användas istället. Projektet delar mycket kod och flera utvecklare med Wine.
  • Dosbox - är en emulator som emulerar en IBM PC kompatibel dator som kör med MS-DOS
  • Darwine

Externa länkar

[redigera | redigera wikitext]
  • Frank's Corner med information om hur Wine kan användas. (engelska)
  • PlayOnLinux är en programvara som gör att du enkelt installera och använda många spel och program avsedda att köras med Microsoft Windows. (engelska)