Le texte ci-dessous réunit des éléments techniques et pratiques issus du sujet: faire fonctionner AUTOMATIC1111 webui pour Stable Diffusion dans un environnement FreeBSD utilisant linuxulator, avec des distros Linux distinctes (CentOS vs Ubuntu) en parallèle.
Contexte et enjeux
Le problème central est que le système peut être lentement compatible avec les demandes nécessitant une couche Linux unique dans FreeBSD, et les tentatives d’utiliser Ubuntu dans /compat/ubuntu peuvent perturber l’exécution de navigateurs DRM ou d’autres applications dans /compat/linux. On observe que les commandes du tutoriel fonctionnent différemment selon que l’on est sous CentOS ou sous Ubuntu, et que l’absence de gestionnaire de paquets dans CentOS peut compliquer l’installation.
On cherche à n’utiliser qu’un seul “distro” et idéalement choisir Ubuntu pour sa familiarité, tout en préservant le fonctionnement de Stable Diffusion et du webui AUTOMATIC1111. Certaines solutions évoquées incluent l’utilisation d’un chroot, d’un conteneur ou d’une VM bhyve, afin d’isoler les environnements tout en restant compatibles avec les exigences de Stable Diffusion et du système graphique critique pour le visionnage de contenus.
Éléments techniques et symptômes observés
Lorsque l’environnement Linux est CentOS, le Stable Diffusion webui peut fonctionner, mais sous Ubuntu, l’exécution échoue après des étapes comme l’installation de Miniconda ou la configuration des environnements Conda. Un message d’erreur typique est CondaFileIOError: '/home/marietto/miniconda3/pkgs/envs/*/env.txt'.
Un autre problème récurrent est que certains scripts s’attendent à une installation dans /compat/linux, et la modification du chemin dans les scripts (par ex. remplacer linux par ubuntu) peut ne pas suffire en raison des dépendances négociées par Conda, ou du chemin réel des binaires dans linuxulator. Dans certains cas, le lien bin/bash dans /compat/linux/bin peut être critique: remplacer dash par bash peut aider, mais cela ne résout pas nécessairement les dépendances NVIDIA et d’autres bibliothèques.
Approches possibles pour une seule distribution
Utiliser une VM dédiée sous bhyve avec CentOS complet, afin d’avoir yum/dnf fonctionnels et un environnement stable pour Stable Diffusion, tout en évitant les conflits avec Ubuntu dans le même système hôte. Cette approche permet d’avoir une “distro CentOS” pleinement opérationnelle et isolée, tout en laissant le système FreeBSD libre pour d’autres tâches.
Tester l’installation de CentOS dans un chroot ou une couche de compatibilité plus complète, ou envisager une approche via une distribution plus moderne de CentOS-like avec les outils de gestion requis, afin d’obtenir une expérience similaire à celle obtenue sous CentOS natif.
Explorer une migration vers Ubuntu en mode isolé (par exemple via une VM ou un conteneur) tout en conservant le reste du système FreeBSD; ce qui permettrait d’utiliser Ubuntu comme unique Linux layer et de configurer Stable Diffusion et le webui dans cet environnement, avec des sauvegardes et des scripts adaptés.
Utiliser des outils comme RINSE ou des chroot personnalisés pour créer une distribution “Ubuntu-like” dans FreeBSD et tester si le chemin, les bibliothèques et le gestionnaire de paquets se comportent comme prévu, mais en restant conscient des limitations liées à l’interopérabilité et à la sécurité.
Conseils pratiques et diagnostics
Vérifier les liens symboliques et les interpréteurs utilisés par les scripts (bash vs dash) et corriger si nécessaire, tout en testant les dépendances critiques comme les bibliothèques NVIDIA et les paquets Linux compatibles.
Documenter les erreurs CondaFileIOError et vérifier les chemins d’installation de Miniconda, notamment le chemin par défaut et les permissions des répertoires envs et env.txt.
Préparer des environnements séparés pour Stable Diffusion et les navigateurs DRM (par ex. Firefox/Chrome) afin d’éviter les conflits, puis tester l’accès DRM après la configuration d’AUTOMATIC1111.
Évaluer l’option de passer à une VM dédiée, avec un accès réseau et des ressources suffisantes, pour stabiliser l’exécution et simplifier les mises à jour des paquets et des dépendances.
Si nécessaire, adopter une configuration minimaliste sous Ubuntu dans une machine virtuelle distincte et y installer Stable Diffusion et le webui, en veillant à répliquer les étapes exactes du tutoriel tout en maîtrisant les chemins et les variables d’environnement.
Tableau récapitulatif des options
| Option | Avantages | Inconvénients |
|---|---|---|
| VM bhyve avec CentOS | Paquets yum/dnf fonctionnels, stabilité, isolation | Implémentation initiale plus lourde |
| Chroot/RINSE vers Ubuntu | Essai d’unifier autour d’Ubuntu | Complexité de configuration et de compatibilité |
| Ubuntu isolé (VM/Conteneur) | Familiarité, gestion de paquets apt | Besoin d’orchestrations supplémentaires |
| Ubuntu dans FreeBSD directement (/compat/ubuntu) | Humainement familier | Conflits avec autres couches Linux, erreurs de chemin |
Questions et recommandations
Ce scénario suggère deux axes principaux: soit on consolide autour d’un seul système Linux dans FreeBSD (idéalement Ubuntu pour la familiarité), soit on accepte une virtualisation/virtual machine dédiée pour CentOS afin d’assurer stabilité et compatibilité avec le webui et les bibliothèques nécessaires. La clé est d’éviter les dépendances croisées qui bloquent l’exécution lorsque le système Linux utilisé n’est pas exactement celui prévu par les scripts d’installation.
Raisons de privilégier une VM dédiée
Une VM dédiée évite les conflits de chemins, les dépendances inconsistantes et les limitations imposées par linuxulator dans FreeBSD lorsque plusieurs distros cohabitent. Cela permet d’installer et de mettre à jour Conda, Miniconda, et les paquets nécessaires sans modifier le système principal.
