De open projecten «fix-it-in-wine» en «dllmgr» bieden een nieuwe benadering voor het oplossen van compatibiliteitsproblemen van Windows-applicaties met Wine. Fix-it-in-wine bevat een set instructies en tools voor AI-agenten waarmee fouten in Wine kunnen worden gediagnosticeerd en verholpen die optreden bij de uitvoering van specifieke applicaties. Het dllmgr-project biedt een soort pakketbeheerder voor DLL's in Wine, waarmee bibliotheken uit andere versies van Wine, alternatieve implementaties van onafhankelijke ontwikkelaars en zelfgemaakte varianten met duizenden fouten kunnen worden gebruikt. Beide projecten zijn beschikbaar onder de BSD-licentie.
Met behulp van de ontwikkelde tools kan de gebruiker de AI-agent opdracht geven om uit te zoeken waarom een specifieke programma niet werkt, zonder te wachten op een oplossing van de ontwikkelaars van Wine. De agent analyseert het gedrag van de applicatie en de foutopsporingslogboeken, zoekt relevante berichten in Bugzilla van het Wine-project, identificeert de probleem DLL, verzamelt deze apart van de rest van Wine en probeert de fout op te lossen. De verkregen bibliotheek wordt alleen voor de geselecteerde applicatie geïnstalleerd, zonder wijzigingen aan de systeem-Wine, met de mogelijkheid om de wijziging ongedaan te maken.
In tegenstelling tot bestaande oplossingen, zoals PlayOnLinux, biedt het in plaats van het geheel installeren van een geschikte versie van Wine de mogelijkheid om de benodigde configuratie samen te stellen uit afzonderlijke DLL's en correcties voor deze. Bijvoorbeeld, als een applicatie werkt met de meeste Wine 9-bibliotheken maar een nieuwere implementatie van een functie uit Wine 11 vereist, is het niet nodig om de hele Wine te vervangen, maar slechts de juiste versie van een enkele bibliotheek te gebruiken. De gecorrigeerde versie van de DLL kan in de algemene catalogus worden gepubliceerd, zodat andere gebruikers de kant-en-klare oplossing kunnen toepassen.
Aangezien het problematisch is om via AI gegenereerde oplossingen voor Wine door te voeren vanwege projectregels, wordt voorgesteld om naar upstream geen kant-en-klare patches te sturen, maar een beschrijving van de geïdentificeerde fouten, de reproduceerbaarheid ervan, de diagnostische resultaten, uitleg over de oorzaken van het onjuiste gedrag en een beschrijving van de gevonden oplossing. In de toekomst kan zich op basis van de ontwikkelde projecten een gedecentraliseerd ecosysteem vormen voor het verspreiden van oplossingen voor Wine, onafhankelijk van het hoofdproject.
Op dit moment bevinden de projecten zich in de fase van vroege prototypes. In fix-it-in-wine zijn er al diagnostische tools, foutopsporing met Bugzilla, het bouwen van losse DLL's, installatie van lokale vervangen en hun terugdraaien, maar er is nog geen ondersteuning voor het corrigeren van enkele belangrijke Wine-bibliotheken en bibliotheken met Unix-componenten.
In dllmgr zijn de bestandsindeling, de validatie en indexering gerealiseerd, evenals experimentele scripts voor de toepassing van afzonderlijke patches, maar er ontbreken volledige grafische en console-interfaces.
Bron: opennet.ru
