Wine

Windows-kompatible Laufzeitumgebung für POSIX-kompatible Betriebssysteme
(Weitergeleitet von WINE Is Not an Emulator)

Wine, ursprünglich ein rekursives Akronym und zugleich Apronym für „Wine is not an emulator“[5] (englisch für „Wine ist kein Emulator“), ist eine Windows-kompatible Laufzeitumgebung für POSIX-kompatible Betriebssysteme.

Wine

Logo

Konfigurationsfenster von Wine 5.5
Basisdaten

Maintainer Alexandre Julliard, Alexandre Julliard
Entwickler Die Wine-Autoren[1]
Erscheinungsjahr 4. Juli 1993
Aktuelle Version 9.0[2]
(16. Januar 2024)
Betriebssystem Linux, BSD, macOS, ReactOS (nativ), Solaris
Programmier­sprache C[3]
Kategorie Kompatibilitätsschicht, Laufzeitumgebung, Middleware
Lizenz GNU LGPL, GNU General Public License, GNU Lesser General Public License, Version 2.1, X11-Lizenz[4]
deutschsprachig ja
www.winehq.org

Eigenschaften

Bearbeiten

Mit Wine ist es möglich, viele Programme, die für die Microsoft-Windows-Betriebssysteme kompiliert wurden, auch unter Unix mit dem X Window System auszuführen.

Wine kann ohne Windows-Installation verwendet werden. Einige Programmbibliotheken sind noch nicht vollständig implementiert, aber Wine kann DLLs einer vorhandenen Windows-Version verwenden, um die Kompatibilität zu Windows-Anwendungen zu verbessern.

Einige, auch vielgenutzte, Windows-Anwendungen werden nicht in ihrer gesamten Funktionalität unterstützt; besonders bei Multimedia und 3D-Grafik gibt es Inkompatibilitäten. Die OpenGL-Implementierung ist allerdings fortgeschritten, sodass auch einige bekanntere 3D-Spiele mit einem kleineren Leistungsunterschied laufen. Auch einige Probleme mit kopiergeschützten Programmen und Spielen sind behoben worden.

Auf der offiziellen Wine-Website gibt es eine Liste mit Anwendungen, die unter Wine laufen.[6]

Neben der Laufzeitumgebung und Anwendungsprogrammierschnittstelle, welche die Basis von Wine bilden, werden auch Windows-Komponenten wie der Dateiverwalter Windows-Explorer und der Webbrowser Internet Explorer nachgebaut.[7][8]

Verfügbarkeit

Bearbeiten

Im Gegensatz zur im Closed Source entwickelten Windows-API ist der Quelltext von Wine und die Dokumentation mit Beispielen öffentlich zugänglich und darf unter den Bedingungen der GNU Lesser General Public License (LGPL) frei eingesetzt, modifiziert und (auch in modifiziertem Zustand) verbreitet werden.

Wine ist auf POSIX-Betriebssystemen wie Linux, Solaris und den verschiedenen BSD-Varianten lauffähig. Es existieren fertige Programmpakete für die gängigen Linux-Distributionen, einige BSD-Derivate und macOS (auf Intel-Hardware), die von der Wine-Projektseite bezogen werden können. Da der Wine-Quellcode frei verfügbar ist, kann das Programm auch auf Linux-/Unix-Systemen installiert werden, für die es keine fertigen Pakete gibt. Bei den populären Linux-Distributionen kann es direkt aus den Standard-Paketquellen installiert werden.[9][10][11]

Geschichte

Bearbeiten

Bob Amstadt, der ursprüngliche Koordinator des Wine-Projektes, und Eric Youngdale initiierten das Wine-Projekt 1993. Als besonderer Ansporn galten den Entwicklern damals die Erfolge von Sun Microsystems mit Wabi, das bei der Ausführung von Windows-Programmen unter Solaris eine höhere Leistung aufwies als unter einer nativen Windows-3.x-Umgebung.[12] Die ursprüngliche Zielsetzung war, Programme für Windows 3.x (16 Bit) voll zu unterstützen. Zurzeit liegt der Fokus der Entwicklung aber bei den mittlerweile dominierenden Win32-Anwendungen. Seit Juni 1994 leitet Alexandre Julliard das Projekt.

Ursprünglich wurde Wine unter der MIT-Lizenz veröffentlicht. Aber nach Streitigkeiten um Cedega, eine proprietäre Abspaltung von Wine, die ihre Weiterentwicklungen nicht an Wine zurückgab, steht Wine seit März 2002 unter der GNU Lesser General Public License (LGPL).

Mitte 2002 umfasste der in C geschriebene Quellcode mehr als eine Million Zeilen, Ende 2007 waren es bereits knapp zwei Millionen Zeilen. An dem Projekt sind über 1000 Hobby- und Profiprogrammierer beteiligt, die in der ganzen Welt verstreut sind.[1] Zurzeit (Stand: August 2011) werden etwa 90 Prozent der Systemaufrufe unterstützt, wodurch eine Vielzahl von Programmen unter Wine lauffähig sind. Die zurzeit noch nicht unterstützten Systemaufrufe führen, insbesondere bei spezialisierteren Anwendungen wie beispielsweise Computerspielen, zu Problemen. Wine ist nach über 15 Jahren noch immer im Entwicklungsstadium, etwa alle zwei Wochen steht eine neue Version zum Herunterladen bereit. Am 25. Oktober 2005 erschien die erste Beta-Version, die die Versionsnummer 0.9 erhielt.[13] Am 17. Juni 2008 wurde die Version 1.0 veröffentlicht,[14] eine vollständige Umsetzung der Windows-API stellt dies jedoch nicht dar. Die hauptsächlichen Kriterien für die Version 1.0 waren die Unterstützung von Adobe Photoshop 9.0 (CS2) und den Viewern von Microsoft Excel, Word, und PowerPoint der Versionen 97 und 2003.[15] Die Version 1.4 wurde am 7. März 2012 freigegeben und bietet Unterstützung für u. a. Microsoft Office 2010.

Wine wird hauptsächlich für und unter Linux entwickelt, kann aber ebenso gut für andere unixoide Systeme wie macOS[16], Solaris oder BSD und sogar für nicht unixoide Systeme wie OpenVMS kompiliert werden. Außerdem wurde ein Großteil der Wine-Bibliotheken der Windows-API in das Betriebssystem ReactOS integriert.

Anfang Februar 2014 wurde bekannt, dass es Bemühungen gibt, Wine auf Android, das auf Linux basiert, lauffähig zu machen. Diese Entwicklung befindet sich immer noch in einem frühen Stadium.[17]

Funktion

Bearbeiten
 
Wine und das Win32-API in verschiedenen Betriebssystemen.
 
WineHQ Bewertungen von Anwendungen über die verschiedenen Wine-Versionen
 
Das Windows-Programm eMule unter Linux

Wine ist kein Emulator, sondern stellt lediglich eine Implementation der Funktionen der Windows-API auf GNU/Linux und anderen Unix-ähnlichen Betriebssystemen zur Verfügung. Die Systemaufrufe werden an Linux beziehungsweise den Unix-Kernel sowie das X Window System weitergereicht. So ist es möglich, dass die über Wine ausgeführten Programme ähnlich schnell wie unter dem Originalbetriebssystem laufen können.

Wine kann die Win16-, Win32- und Win64-APIs von DOS (MS-DOS), Windows 3.1 bis Windows 10 bereitstellen. Der Grad an Unterstützung für die unterschiedlichen Windows-Anwendungen variiert nach Alter und genutzten API-Teilen: Versionen älter als Windows XP[18] werden gut und nahezu vollständig unterstützt. An einzelnen neueren Funktionen von Windows 7 oder 8 und Direct3D wird von den Entwicklern noch gearbeitet. Da die wenigsten Windows-Anwendungsprogramme alle Funktionen der Windows-API benötigen, sind viele trotz unvollständiger API vollumfänglich nutzbar.

Unterstützung für das klassische .Net-Framework ist dagegen insbesondere für neuere Anwendungen limitiert. Sie kann wahlweise über Mono realisiert werden oder indem das .Net-Framework mit Wine nativ installiert wird. In letzterem Fall sind dann allerdings nur 32-Bit-Anwendungen lauffähig.[19]

Ab Version 1.3.12 nutzt Wine den Emulator DOSBox, um Anwendungen auszuführen, die im DOS-Modus starten. Der Emulator ersetzt dann den Virtual 8086 Mode.[20] Dazu muss jedoch DOSBox ebenfalls installiert sein.[21]

Varianten

Bearbeiten

Ähnliche Anwendungen

Bearbeiten
  • Cygwin ist ein Wine-ähnlicher Wrapper mit einer POSIX-kompatiblen Schnittstelle auf Windows, der so unter anderem Linux-Anwendungen auf Windows lauffähig macht.
  • Darling ist eine Laufzeitumgebung, die macOS-Anwendungen auf Linux lauffähig macht.
  • Windows-Subsystem für Linux (WSL) ist eine Kompatibilitätsschicht zum Ausführen von Linux-Anwendungen in Windows 10.
Bearbeiten
Commons: Wine – Sammlung von Bildern, Videos und Audiodateien

Einzelnachweise

Bearbeiten
  1. a b wine/AUTHORS (englisch) – Liste beim WineHQ
  2. Wine 9.0 Released. 16. Januar 2024 (englisch, abgerufen am 16. Januar 2024).
  3. The wine Open Source Project on Open Hub: Languages Page. In: Open Hub. (abgerufen am 14. Juli 2018).
  4. winehq.org.
  5. Debunking Wine Myths. (Memento vom 28. September 2015 im Internet Archive) official Wine Wiki.
  6. appdb.winehq.org
  7. Windows-API für Linux: DIB-Engine soll Wine deutlich schneller machen. Golem, 17. Januar 2012.
  8. Wine 1.3.37 freigegeben. WineHQ, 13. Januar 2012.
  9. packages.ubuntu.com
  10. Package „Wine“ auf apps.fedoraproject.org@1@2Vorlage:Toter Link/apps.fedoraproject.org (Seite nicht mehr abrufbar, festgestellt im Juni 2024. Suche in Webarchiven)  Info: Der Link wurde automatisch als defekt markiert. Bitte prüfe den Link gemäß Anleitung und entferne dann diesen Hinweis.
  11. software.opensuse.org
  12. Fensterln geh’niX, Ausgabe 1/1997, zu Wabi 2.2 für Linux
  13. Windows-API-Emulator Wine in Version 0.9 freigegeben. Heise, 26. Oktober 2005.
  14. Wine 1.0 ist da: Prost! Heise, 17. Juni 2008.
  15. Wine Release Criteria. (Memento vom 23. Dezember 2015 im Internet Archive) Wine Wiki (englisch).
  16. vicjang: macOS. Wine Projekt, 4. April 2013, abgerufen am 25. Januar 2017.
  17. Alexandre Julliard: Wine on Android. (PDF) FOSDEM 2014. WineHQ, 1. Februar 2014, abgerufen am 3. Juni 2016 (englisch).
  18. Wine 0.9.58 Released (englisch) – Offizielle Ankündigung von Wine 0.9.58
  19. 8.2 Does Wine support .NET? Should I install native .NET in Wine? WineHQ FAQ.
  20. DOSBox. In: WineHQ Wiki. Abgerufen am 2. September 2016 (englisch).
  21. Mirko Lindner: Wine 1.3.12 startet DOSbox-Integration. In: pro-linux.de. 24. Januar 2011, abgerufen am 2. September 2016.
  22. …/ValveSoftware/Proton. GitHub (englisch).
  23. Steam: Windows-Spiele laufen jetzt auch unter Linux. Heise, 22. August 2018.