
Was ist Wine?
Mit Wine lassen sich Windows-Anwendungen unter Linux laufen lassen. Dabei werden Funktionsaufrufe, die es eigentlich nur unter Windows gibt mit Wine nachgebaut und so der Anwendung zur Verfügung gestellt. Über viele Jahre hinweg wurden so entsprechend alle Windows-Aufrufe auch unter Linux ermöglicht. Daher ist Wine auch kein Emulator, sondern eher ein Wrapper um die Windows-API herum.
Neben Programmaufrufen werden auch Aufrufe für die grafischen Schnittstellen wie DirectX implementiert, dann intern aber nach OpenGL umgeleitet. Neuerdings werden diese Aufrufe mittels Zusatzprogrammen wie DXVK auf die neue Grafikschnittstelle Vulkan umgeleitet.
Viele Programme lassen sich so unter Linux zum Laufen bringen. Auch viele Spiele laufen mit Wine, wobei man hier besser die optimierte Variante Proton von Valve's Steam verwenden sollte. Mittlerweile funktionieren unter Wine zahlreiche Windowsprogramme. Ob das gewünschte Programm auch tatsächlich funktioniert ist jedoch meist Glücksache. Es gibt jedoch die WineHQ-Datenbank in welcher tausende von Programmen und Spiele gelistet sind und man sehr wahrscheinlich sein Programm finden kann.
Mit Crossover gibt es von der Firma Codeweavers aus Minnessota, USA auch eine kommerzielle besser unterstützte Version. Als grafische Oberfläche und Konfigurationswerkzeug kommt PlayOnLinux oder Winetricks zum Einsatz. Speziell für Spiele wird über Steam Wine der Form von Proton inklusive etlicher zusätzlicher Tools und Bibliotheken ausgeführt.
Eine Besonderheit der Firma Codeweavers ist, dass sie viele der Entwicklungen direkt an die Community geben und auch ein Beta-Programm für Abonnenten haben. Im Rahmen von Tests kann man Punkte sammeln und später ab einer bestimmten Stufe auch eine kostenlose Lifetime-Version von CrossOver bekommen. Ebenso gibt es zahlreiche Goodies wie T-Shirts, Aufkleber, Mauspads etc.
Varianten
- Wine-Stable: Die stabile Version von wine, die jedes Jahr im Herbst einen Codefreeze erhält um die Entwicklungen des Entwicklerzweigs wine-devel zu integrieren und zu bündeln. Die aktuelle stabile Version ist Version 11.0
- Wine-Devel - Wer die laufende Entwicklung von wine verfolgen will bekommt mit wine-devel alle zwei Wochen eine neue Version zum Testen als auch zum Reproduzieren von Bugs. Regressionen (Jargon für: Hat funktioniert - funktioniert jetzt nicht mehr) sind definitiv nicht auszuschließen.
- Wine-Staging - basiert auf dem Entwicklerzweig wine-devel (Is. oben) ist aber um einige Patches ergänzt, die getestet und später in wine integriert werden sollen. Im Bugzilla von wine existieren viele solcher Patches und Tester werden ausdrücklich ermutigt zu den einzelnen Bugs Feedback zu geben.
- Proton ist eine für Spielen optimierte Version von Valve.
- Crossover (früher Crossover Games)), basiert auf einer mehr oder weniger aktuellen Wine-Version, bringen aber eine benutzerfreundliche GUI sowie professionellen Support mit. Ist daher aber nur kostenpflichtig im Abo zu beziehen.
Inzwischen eingestellt:
- Cedega (davor WineX), basiert ebenfalls auf Wine, allerdings auf einer sehr alten. Wurde in den letzten Jahren stetig von Transgaming verbessert aber dann doch eingestellt.
Installation
Bei den allermeisten Distributionen wird Wine mitgeliefert, bzw. befindet sich in den Repositories, die Installation gestaltet sich dementsprechend einfach. Man kann es aber natürlich auch direkt von den Entwicklern beziehen, wenn man sich die Mühe machen möchte.
Debian / Ubuntu
Sowohl in Debian als auch in Ubuntu könnt ihr Wine ganz einfach aus dem Standard-Repository laden.
apt install wine
Möchtet ihr es trotzdem direkt von den Wine-Entwicklern beziehen, dann hilft euch die Anleitung im Wine-Wiki weiter: Link
openSUSE
In den Standard-Repositories könnt ihr euch wine oder wine-staging installieren:
sudo zypper in wine
oder
sudo zypper in wine-staging
Wie ihr Wine vom Projekt selbst installieren könnt, verrät euch das Wine-Wiki: Link
Slackware
Pakete von wine als auch von Entwicklerversionen werden zeitnah paketiert und auf sourceforge.net in einem separaten Verzeichnis veröffentlicht.
Konfiguration
Wine-Prefixe
Mit dem Wine-Prefix bezeichnet man ein virtuelles Verzeichnis, das ein Windows-Verzeichnisbaum nachbildet. Man trennt so verschiedene Programme voneinander ab, da oftmals spezielle Einstellungen notwendig sind, damit ein Programm läuft. Auch kann man über die verschiedenen Verzeichnisse auch unterschiedliche DirectX-Versionen oder ähnliches installieren. So kommen sich die wählbaren Windowsversionen von wine und verschiedenen Abhängigkeiten nicht in die Quere.
Standardmäßig, d.h. bei keiner besonderen Angabe, wird das Verzeichnis ~/.wine verwendet. Nun möchte man unter Umständenverschiedene Programme nicht miteinander vermischen, da eventuell unterschiedliche Konfigurationen je Programm gebraucht werden. Mit einem WINE-Prefix verwendet man für jedes Programm ein "frisches" Windows. Manche Programme und Spiele zum Beispiel "Anarchy Online" müssen beispielsweise unter einem Windows XP Prefix laufen.
Die einfachste Form ist über den Umgebungsparameter vor dem Wine-Aufruf:
WINEPREFIX=~/.wine-anno wine ~/wine-anno/drive_c/meinprogramm.exe
Existiert das Verzeichnis noch nicht, so wird es von Wine automatisch angelegt. Alternativ könnt ihr auch
WINEPREFIX=~/wine-anno wineboot
ausführen.
Möchte man das Programm vollständig löschen, so reicht es einfach das Prefix-Verzeichnis zu entfernen.
Wine-Prefix (32-bit) und Änderung ab wine 11.0
Falls ihr ein 32bit-Programm mit Wine starten wollt, müsst ihr das dem Wineprefix zuvor bekannt geben. Initialisiert euren Wine-Prefix bei der Erstellung dazu mit
WINEARCH=win32 WINEPREFIX=~/wine-anno wineboot
anlegen. Dieser Parameter ist nachträglich nicht mehr änderbar und wird ab wine 11.0 auch nicht mehr weiter unterstützt.
winecfg
In den neueren Wine-Versionen ist eine Windows-Oberfläche über das Programm winecfg verfügbar, mit der Wine konfiguriert werden kann. Hier können Profile für bestimmte Programme angelegt werden und dabei spezielle Einstellungen geladen werden.
Startet winecfg am besten in eurem jeweiligen Wine-Prefix:
WINEPREFIX=~/wine-anno winecfg
Dosbox-Integration
Das Dosbox-Projekt wurde seit Wine 1.3.12 integriert und leitet seitdem Aufrufe von DOS-Executables direkt an Dosbox weiter, um sie ausführen. Dazu muss sich das Programm im Wine-Prefix befinden und Dosbox installiert sein.
.net Integration
Über ein Skript namens winetricks können .net Bibliotheken direkt von Microsoft bezogen und in das jeweilige Prefix (s. oben) eingebunden werden. Bis zur Version 4.8 existiert mit mono auch eine freie Implementierung von .net wobei Microsoft kürzlich die Schirmherrschaft darüber an Codeweavers, dem Hauptsponsor von wine, abgegeben hat. mono ist jedoch nicht zu 100% identitisch zu wine und manchmal benötigt man ein orignal Microsoft Paket.
Tools
Es gibt zahlreiche Frontends für Wine, welche einem das Leben einfacher machen:
- PlayOnLinux
- Winetricks bzw. Protontricks
- Swine
- Bottles
- Heroic Games Launcher
- Lutirs
Patches
Interessante Patches sind zum Beispiel:
- DXVK - Eine Vulkan-basierte Implementation von DirectX 11 für Wine - https://github.com/doitsujin/dxvk
- D9VK - Eine auf DXVK basierende Implementation für DirectX 9 basierend auf Vulkan.
Diese Patches sind alle bereits in Proton enthalten.
Benutzung
Bis auf ein paar Besonderheiten bei MSI oder den Bibliotheken wie DirectX (siehe weiter unten), könnt ihr eurer Programm ganz normal über z.B. die setup.exe aufrufen:
WINEPREFIX=wine-anno setup.exe
MSI-Installation
Wichtig zur Installation ist auch das Tool msiexec, das mit wine mitgeliefert wird. Mit ihm lassen sich MSI-Pakete ausführen (z. B. für STEAM). Man verwendet msiexec für die Installation eines MSI-Installationsarchives wie folgt:
msiexec /i DATEI.msi
Bibliotheken mit winetricks nachinstallieren
Winetricks bietet viele nützliche herunterladbare Bibliotheken an. Damit ihr diese gegenüber den von Wine-integrierten DLLs benutzen könnt, müsst ihr sie wie folgt installieren:
WINEPREFIX=wine-anno winetricks d3dx9_29
CD/DVD-Wechsel
Linux sperrt bei Zugriffen auf Speichermedien die Möglichkeit diese zu unmounten. Das ist bei einer Installation, die mehrere CDs/DVDs umfasst natürlich schlecht. Daher könnt ihr folgendes benutzen
wine eject
Das gibt eurer Laufwerk frei und ihr könnt den Datenträger auswechseln.
Prinzipiell geht alles was zu Wine gehört nach ~/.wine/ . Dort befinden sich auch die Links zu den "Windows-Laufwerken".
- Anmelden oder Registrieren um Kommentare zu schreiben
- 72709 Aufrufe



