Wine ist ein Wrapper für Funktionsaufrufe, die an Microsoft Windows gerichtet sind, leitet diese um und ersetzt sie durch Linux-Funktionsaufrufe. Das gleiche geschieht mit Aufrufen an DirectX, die in OpenGL-Befehle umgewandelt oder emuliert werden. 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.
Installation
Bei den allermeisten Distributionen wird Wine mitgeliefert, bzw. befindet sich in den Repositories, die Installation gestaltet sich dementsprechend einfach.
Da jedoch alle 2 Wochen eine neue Wine-Version erscheint sind diese mitgelieferten Versionen sehr schnell veraltet. Es empfiehlt sich die aktuellste Version von der Webseite des Projekts zu installieren. Es wird die jeweils aktuellste Version in zahlreichen Paket-Formate angeboten.
Wine Staging
Wine Staging ist die Testumgebung für neue und experimentelle Anpassungen an WINE, die noch nicht in die Entwicklung eingeflossen sind. Wine Staging hat eine eigene Webseite: https://wine-staging.com
openSUSE
openSUSE bietet OBS Repositories an, mit denen man aktuellere Wine-Versionen nutzen kann: http://software.opensuse.org/package/wine
Wenn ein Browser genutzt wird wie Firefox oder Chromium z.B. könnt ihr da direkt "1-Click" anwählen und nach Angabe des root Passwortes wird wine in der ausgewählten Version automatisch installiert.
Die Version für eure Distribution müsste automatisch richtig ausgewählt werden. Ansonsten könnt ihr die richtige unten aus der Liste noch auswählen.
Wenn Ihr eine aktuellere Version installieren möchtet welche nicht mit der aktuellen Version mitgeliefert wird kann man einfach auf "Möglicherweise instabile Pakete anzeigen" klicken.
Die Empfehlung liegt dabei die Version aus "Emulators:Wine" zu nutzen.
Ubuntu
Für Ubuntu wird ebenfalls ein Repository angeboten: http://www.winehq.org/download/deb
From Source
Zuerst solltet ihr die nötigen Abhängigkeiten zum bauen installieren.
Bei den meisten Distrubtions muss man dazu extra -dev oder -devel Pakete Installieren, bei Arch Linux zb. entfällt dies.
Bei Debian Distrubtions geht das ganze einfach mit folgendem Befehl:
apt-get build-dep wine
Bei anderen Distrubtions schaut bitte unter Recommended Packages im Wine Wiki (siehe Link).
Folgend führt ihr ./configure aus, dabei empfehle ich Wine via --prefix= in einen extra Ordner zu installieren wenn ihr es gepatcht habt, so das eure lokale Wine Version bleiben kann.
Der Ordner kann etwas wie $HOME/.local/share/wineversions/$wine_name sein.
Ich empfehle bei einem Programm wie Wine die CFLAGS anzupassen, als Arch User kann man hier einfach die Optionen aus /etc/makepkg.conf bzw. als Gentoo User /etc/portage/make.conf übernehmen.
Weitere Infos dazu gibt es in Compilation Optimization Guide, siehe weiterführende Links.
Der Rest ist einfach nur make && make install.
Konfiguration
In den neueren Wine-Versionen ist eine Windows-Oberfläche verfügbar, mit der Wine konfiguriert werden kann. Hier können Profile für bestimmte Programme angelegt werden und dabei spezielle Einstellungen geladen werden.
Wine-Prefixe
Mit dem WINE-Prefix bezeichnet man das Verzeichnis aus dem Wine heraus arbeitet. Standardmäßig, d.h. bei keiner besonderen Angabe, wird das Verzeichnis ~/.wine verwendet. Nun möchte man unter Umständen
verschiedene 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. Möchte man das Programm vollständig löschen, so reicht es einfach das Prefix-Verzeichnis zu entfernen.
Start Script
Grade wenn man eine extra Wine-Version für ein Programm verwendet oder andere Dinge vor oder nach dem start des Programms erledigt werden soll empfiehlt es sich einen Script für das Programm zu schreiben und diesen nach $HOME/bin bzw. $HOME/.local/bin kopieren.
Dieser kann dann etwa so aussehen:
set_wine_ver () { # sehr praktisch bei gepatchten Wine Versionen if [ -z "$1" ] ; then # unset wine version export LD_LIBRARY_PATH= export WINESERVER= export WINELOADER= export WINEDLLPATH= export BINPATH= WINE= else # use wine version from path given by "$1" export LD_LIBRARY_PATH="$1"/lib:$LD_LIBRARY_PATH export WINSERVER="$1"/bin/wineserver export WINELOADER="$1"/bin/wine export WINEDLLPATH="$1"/lib/wine export BINPATH="$1"/bin/ WINE=$BINPATH/wine fi } APPMAME='Star Wars: The Old Republic' APPPATH='/home/bidar/.local/share/wineprefixes/swtor/drive_c/Program Files/Electronic Arts/BioWare/Star Wars - The Old Republic' WINEPATH=/home/bidar/.wine-ver/swtor-git WINEPREFIX=/home/.local/share/wineprefixes/swtor cd "$APPPATH" if [ "$WINEPATH" ] ; then set_wine_ver "$WINEPATH" # wine version setzen so das, dass Programm mit der Passenden Version startet fi export WINEPREFIX ${WINE:-wine} explorer /desktop=SWTOR,800x600 launcher.exe
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.
Alternativen
- Crossover bzw. Crossover Games, basieren auf einer mehr oder weniger aktuellen Wine-Version, bringen aber eine benutzerfreundliche GUI sowie professionellen Support mit.
- Cedega, basiert ebenfalls auf Wine, allerdings auf einer sehr alten. Wurde in den letzten Jahren stetig von Transgaming verbessert aber dann doch eingestellt.
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.
Benutzung
Programme starten
Wine steuert seine Einstellungen über einen sogenannten WINEPREFIX. Dieser kann über die Konsole vor dem Aufruf von Wine gesetzt werden, um unterschiedliche Installationen zu konfigurieren.
WINEPREFIX=~/.wine
Um eine Einstellung via winecfg für Programm XY vorzunehmen, gebt folgendes ein:
WINEPREFIX=~/.wine/xy/ winecfg
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=test64 winetricks d3dx9_29
Falls ihr die 32bit-Variante der Bibliothek benötigt, müsst ihr den WINE-Prefix zuvor mit
WINEARCH=win32 WINEPREFIX=~/test32 winecfg
anlegen. Dieser Parameter ist nachträglich nicht mehr änderbar.
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".
WineD3D
WineD3D ist der interne Wrapper für DirectX 9 bis DirectX 11-Aufrufe nach OpenGL. Ab Wine 6.0 wird über vkd3d auch Vulkan als alternativer Renderer verwendet. DXVK nimmt ebenfalls das Mapping vor, jedoch standardmäßig Richtung Vulkan.
- Anmelden oder Registrieren um Kommentare zu schreiben
- 70275 Aufrufe