
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 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.
Varianten
- Wine-Staging ist eine Entwicklungsversion, die sehr neue Feature enthält und entsprechend auch oft defekt sein kann.
- 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
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 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.
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)
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.
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.
Tools
Es gibt zahlreiche Frontends für Wine, welche einem das Leben einfacher machen:
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
- 72075 Aufrufe