Wine

Bild des Benutzers comrad

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:

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".

Screenshots und Videos
Mastodon