Wie verhindert man, dass Wine-Updates bestehende Software-Konfigurationen oder Präfixe unbrauchbar machen?

Melden

Das Problem bei Wine-Updates ist oft, dass eine neue Version Änderungen am Wine-Prefix (dem virtuellen C:-Laufwerk) vornimmt oder Regressionsfehler einführt, die eine vorher funktionierende Software unbrauchbar machen.

Hier sind die besten Strategien, um Wine-Umgebungen stabil zu halten:

1. Die goldene Regel: Separate Prefixes nutzen

Installiere niemals alle Programme in den Standard-Ordner (~/.wine). Wenn ein Update ein Programm zerschießt, sind sonst alle anderen auch betroffen.

  • Vorteil: Jedes Programm hat seine eigene isolierte Umgebung.
  • Umsetzung: Erstelle für jedes Programm einen eigenen Prefix:
    WINEPREFIX=~/.wine-meinprogramm wine setup.exe

    Zum Starten musst du den Pfad immer mitgeben oder ein Alias/Starter-Skript nutzen.

2. Nutzung von Wine-Managern (Bottles, Lutris)

Dies ist die empfehlenswerteste Methode für die meisten Nutzer. Tools wie Bottles oder Lutris abstrahieren die Wine-Verwaltung.

  • Bottles: Jede "Flasche" (Prefix) kann eine eigene Wine-Version nutzen. Wenn du dein System-Wine aktualisierst, bleibt die Version innerhalb der "Bottle" unberührt, bis du sie manuell änderst.
  • Lutris: Erlaubt es, für jedes Spiel/Programm eine spezifische Wine-Version (z. B. eine ältere GE-Proton oder eine spezifische Staging-Version) festzulegen.
  • Vorteil: Du bist unabhängig vom Wine-Paket deiner Linux-Distribution.

3. Wine-Version im Paketmanager "pinnen" (Hold)

Wenn du Wine direkt über die Paketquellen deiner Distribution beziehst, kannst du verhindern, dass es bei einem System-Update aktualisiert wird.

  • Debian/Ubuntu/Mint:
    sudo apt-mark hold winehq-stable
  • Arch Linux (pacman.conf): Füge IgnorePkg = wine in der /etc/pacman.conf hinzu.
  • Nachteil: Du erhältst keine Sicherheitsupdates mehr für Wine.

4. Den "Wine-Configuration-Update"-Dialog unterdrücken

Wenn du Wine aktualisierst und ein altes Prefix startest, erscheint oft das Fenster "Wine-Konfiguration wird aktualisiert". Dies verändert Dateien im Prefix. Man kann dies verhindern, indem man die automatische Aktualisierung deaktiviert (nur für Fortgeschrittene empfohlen):

Setze die Umgebungsvariable:

WINEDLLOVERRIDES="winemenubuilder.exe=d" WINEPREFIX=... wine programm.exe

(Dies verhindert vor allem, dass Wine die Dateiverknüpfungen im System überschreibt.)

5. Dateisystem-Snapshots (Btrfs / Timeshift)

Wenn dein System auf Btrfs läuft, kannst du vor einem großen Update einen Snapshot machen.

  • Sollte das Wine-Update dein Prefix unbrauchbar machen, kannst du den alten Zustand des Ordners ~/.wine... in Sekunden wiederherstellen.
  • Alternativ: Den Prefix-Ordner einfach manuell zippen/kopieren, bevor man ein Update wagt.

6. Portable Wine-Builds nutzen

Anstatt das systemweite Wine zu nutzen, kannst du vorkompilierte Wine-Versionen (z. B. von PlayOnLinux oder GloriousEggroll) in einen lokalen Ordner herunterladen.

Du startest dein Programm dann direkt mit dem Pfad zur spezifischen Wine-Binärdatei:

~/mein-wine-pfad/bin/wine programm.exe

Da dieses Wine-Verzeichnis nicht in /usr/bin/ liegt, wird es vom Paketmanager niemals angefasst.

Zusammenfassung der Best Practice:

  1. Nutze Bottles, wenn du eine grafische Oberfläche willst. Es isoliert Versionen perfekt.
  2. Nutze separate WINEPREFIX für jedes wichtige Programm.
  3. Mache Backups der Prefix-Ordner (die system.reg, user.reg und der drive_c Inhalt sind entscheidend).
  4. Vermeide wine-staging, wenn Stabilität wichtiger ist als die neuesten Features, da hier öfter Regressionsfehler auftreten als in der stable-Version.
0