WindowsBridge folgt einer modularen Architektur, die es Benutzern ermöglicht, nur die benötigten Komponenten zu installieren. Das System ist zweistufig aufgebaut:
- Shell-Skripte (Bash): Systemoperationen, Installation, Konfiguration
- GUI-Layer (Python/Yad): Benutzerfreundliche grafische Oberfläche
- Zweck: Orchestriert die Installation basierend auf Profilen
- Funktionen:
- Systemvorraussetzungs-Prüfung
- Profilauswahl (Minimal, Standard, Gaming, Full, Custom)
- Modul-Orchestrierung
- Fehlerbehandlung
- Logging
- Zweck: Basis-Systemkonfiguration
- Funktionen:
- Aktivierung von 32-bit-Unterstützung
- Vulkan-Installation
- GPU-Treiber-Erkennung und Installation
- NVIDIA-Treiber
- AMD-Treiber
- Intel-Treiber
- Kernel-Parameter-Optimierung
- Zweck: Wine-Umgebung einrichten
- Funktionen:
- Wine-Repository-Verwaltung
- Wine Installation (32/64-bit)
- Winetricks Installation
- Wineprefix-Erstellung
- Runtime-Installation:
- Visual C++ Runtimes (vcrun2019, vcrun2022)
- .NET Framework
- TrueType-Schriftarten
- Registry-Tweaks für:
- DPI-Skalierung
- Performance-Optimierung
- Input-Handling
- Zweck: Gaming-Komponenten installieren
- Funktionen:
- DXVK (DirectX 9-11 → Vulkan)
- VKD3D-Proton (DirectX 12 → Vulkan)
- Steam Installation
- Proton-GE Konfiguration
- Lutris Installation
- Heroic Launcher Installation
- GameMode Installation
- MangoHUD Installation
- Launcher-Integration:
- EA Launcher (via Lutris)
- Ubisoft Connect (via Lutris)
- Zweck: Benutzerfreundliche grafische Oberfläche
- Technologie: Python 3 + Yad
- Features:
- Willkommens-Dialog
- Profil-Auswahl
- Komponenten-Customization
- Bestätigungs-Dialog
- Fortschrittsanzeige
- Abschluss-Feedback
- Zweck: Komponenten aktualisieren
- Funktionen:
- Systemupdates
- Wine-Updates
- Winetricks-Updates
- Gaming-Komponenten-Updates
- Installer-Updates
- System-Setup
- Wine + Winetricks
- Basis Runtimes
- Minimal + Office-Tools
- Zusätzliche Business-Software
- Standard + Gaming-Komponenten
- DXVK, VKD3D, Steam, Lutris, Heroic
- Gaming + Alle optionalen Tools
- Benutzer-definierte Komponentenauswahl
┌─────────────────────────┐
│ installer.sh (Bash) │ ← Einstiegspunkt
└────────────┬────────────┘
│
├─→ check_root()
├─→ check_system()
├─→ check_modules()
│
├─→ GUI-Auswahl (optional)
│ └─→ gui_launcher.py
│
├─→ Profile-Ausführung
│ ├─→ system_setup.sh
│ ├─→ wine_setup.sh
│ └─→ gaming_setup.sh
│
└─→ Abschluss-Dialog
- Alle Skripte nutzen
set -efür automatisches Fehler-Stopping - Ausführliche Fehlermeldungen mit Kontext
- Logging in Farbe (Info, Success, Warning, Error)
- Dry-run Modus zur Simulation
- Verbose Mode für Debugging
windowsbridge/
├── installer.sh # Haupteinstiegspunkt
├── modules/
│ ├── system_setup.sh # System-Vorbereitung
│ ├── wine_setup.sh # Wine-Einrichtung
│ ├── gaming_setup.sh # Gaming-Tools
│ ├── updater.sh # Update-Mechanismus
│ └── gui_launcher.py # GUI (Python)
├── assets/
│ └── logo.png # Branding
├── docs/
│ ├── architecture.md # Diese Datei
│ ├── troubleshooting.md # Fehlerbehebung
│ ├── compatibility.md # Kompatibilitätsliste
│ └── FAQ.md # Häufige Fragen
└── README.md # Projekt-Übersicht
- Modularität: Jedes Modul ist unabhängig und wiederverwendbar
- Idempotenz: Mehrfaches Ausführen ist sicher
- Transparenz: Alle Aktionen werden erklärt
- Fehlertoleranz: Fehler werden abgefangen, nicht verschwiegen
- Benutzerpflege: Ausführliche Logging und Feedback
- Wartbarkeit: Klare Struktur und Kommentierung
- Bash 4.0+
- apt-get (Debian-Paketmanager)
- sudo-Rechte
- Internet-Verbindung
- Python 3.6+
- Yad (GUI)
- Flatpak (für moderne Anwendungen)
Das System ist leicht erweiterbar:
- Neue Module: Erstelle
modules/new_module.sh - Neue Profile: Bearbeite Profil-Definitionen in
installer.sh - Neue Komponenten: Erweitere GUI-Auswahl und Module
- Kompatibilitätsdatenbank
- Automatische Spiel-Optimierung
- Prefix-Snapshots
- DXVK-Version-Manager
- Community-Plugins