Les projets ouverts «fix-it-in-wine» et «dllmgr» proposent une nouvelle approche pour résoudre les problèmes de compatibilité des applications Windows avec Wine. Fix-it-in-wine comprend un ensemble d'instructions et d'outils pour les agents AI, permettant de diagnostiquer et de corriger les erreurs de Wine qui se manifestent lors de l'exécution d'applications spécifiques. Le projet dllmgr fournit une sorte de gestionnaire de paquets pour DLL Wine, permettant d'utiliser des bibliothèques d'autres versions de Wine, des implémentations alternatives par des développeurs indépendants et des solutions personnalisées corrigeant des erreurs spécifiques. Les deux projets sont distribués sous licence BSD.
Grâce aux outils développés, l'utilisateur peut demander à un agent AI de comprendre pourquoi un programme spécifique ne fonctionne pas, sans attendre que les développeurs de Wine corrigent l'erreur. L'agent analyse le comportement de l'application et les journaux de débogage, recherche les messages correspondants dans Bugzilla du projet Wine, identifie la DLL problématique, la collecte séparément du reste de Wine et tente de corriger l'erreur. La bibliothèque obtenue est installée uniquement pour l'application choisie, sans modifier le Wine système, avec la possibilité de revenir en arrière.
Contrairement aux solutions existantes, telles que PlayOnLinux, au lieu d'installer entièrement une version appropriée de Wine, il est possible de construire la configuration nécessaire à partir de DLL séparées et de correctifs pour celles-ci. Par exemple, si une application fonctionne avec la plupart des bibliothèques Wine 9, mais nécessite une mise en œuvre plus récente d'une fonctionnalité de Wine 11, il n'est pas nécessaire de remplacer tout Wine, il suffit d'utiliser la version appropriée d'une seule bibliothèque. La version corrigée de la DLL peut être publiée dans un répertoire commun afin que d'autres utilisateurs puissent appliquer la solution prête.
Étant donné qu'il est difficile de promouvoir les corrections générées par AI dans Wine en raison des règles du projet, il est proposé de transmettre en amont non pas des correctifs prêts, mais une description des erreurs identifiées, les conditions de reproduction, les résultats du diagnostic, les explications des causes des comportements incorrects et la description de la solution trouvée. À terme, sur la base des projets en cours de développement, un écosystème décentralisé pour la distribution des corrections de Wine pourrait être formé, distribuées indépendamment du projet principal.
À ce stade de développement, les projets sont au stade de prototypes précoces. Fix-it-in-wine dispose déjà d'outils de diagnostic, de recherche d'erreurs dans Bugzilla, de compilation de DLL individuelles, d'installation de remplacements locaux et de leur restauration, mais il n'y a pas encore de support pour la correction de certaines bibliothèques clés de Wine et de bibliothèques avec des composants Unix.
Dans dllmgr, le format de catalogue, sa vérification et son indexation, ainsi que des scénarios expérimentaux pour l'application de certains correctifs sont réalisés, mais il manque des interfaces graphiques et en ligne de commande complètes.
Source : opennet.ru
