Anaconda + Debian12.1 : L'HORREUR!

Tags: #<Tag:0x00007f50a017abe0>

Bonjour

J’ai plutôt l’impression que c’est NVIDIA qui ne veut pas partager avec les développeurs Linux les information qui leur seraient indispensables pour pouvoir faire fonctionner CUDA sur leurs cartes graphiques.

Pour pouvoir faire fonctionner CUDA, je me rappelle, il y a une dizaines d’années environ, avoir dû installer le pilote propriétaire téléchargé depuis le site de NVIDIA.

Ceci dit, contrairement à ce que j’avais lu dans certains forum, le script d’installation du pilote propriétaire avait tout installé proprement sans aucun problème.

Oui, ça c’est clair et ça dure depuis longtemps. Qu’ils ne veulent pas partager, pourquoi pas, s’il y a des brevets. Mais alors qu’ils développent un drviver Linux en confidentialité avec Debian…
Oui, c’est un rêve de doux naïf, je sais.
J’ai aussi essayé avec l’install de nvidia… et je n’ai pas la même expérience que toi :pensive: Faut dire qu’avec UEFI & co, avec un proc graphique intel par défaut et une nvidia en plus (gérer la bascule sur sur un portable…) je ne partais pas avec toutes les chances de mon coté.
Ça n’a jamais fonctionné !

Bonjour

Quand le BIOS de la machine le permet, je désactive systématiquement l’UEFI (et donc son fameux « secure boot ») et je n’ai jamais rencontré de problème pour installer le pilote propriétaire pour ces cartes graphiques, j’ai peut-être simplement eu de la chance.

Mais je n’ai eu jusqu’à présent que trois machines qui étaient équipées de cartes graphiques NVIDIA, alors je ne peux pas dire que mon expérience personnelle (avec seulement trois cartes NVIDIA) est à suivre dans tous les cas.


Voir aussi :

docs.nvidia.com → UEFI Secure Boot

wiki.debian.org → SecureBoot

désolé, mais je suis parti en vacances alors je n’ai pas pu te répondre avant.
Puisque le sujet m’intéresse, je regarde l’installation la semaine prochaine.

Tu peux, suivant les machines, juste désactiver le secure boot pour ton OS. C’est ce que j’ai fait sur mon portable pour permettre à Debian de démarrer. et ce, sans avoir à désactiver UEFI proprement dit.

@oscourt à part faire ta pleureuse, on n’a pas vraiment d’info sur les véritables problèmes que tu as rencontré.

On ne sait toujours pas de quelle carte nvidia tu disposes, tu pourras au moins nous le dire ? Et nous donner l’output de lspci -nn ?

As-tu au moins lu cette page de documentation, en français qui plus est: fr/NvidiaGraphicsDrivers - Debian Wiki

Tu n’as vraiment aucune excuse !

Désolé pour le ton agressif, mais ce genre de complainte « bouh Debian il est méchant avec ma nvidia » ne permet en rien de t’aider.

Je me suis inscrit sur ce forum en 2006 car je debutais sur Debian et galérais avec ma nvidia. Jamais je ne me serais permis ça, je me serais vite fait reprendre par les membres de l’époque à coup de RTFM.

Je suis disposé à t’aider si tu nous partages de vraies infos utiles comme le modèle de ta carte et un retour de ta part après lecture et application de ce qui est marqué ici: fr/NvidiaGraphicsDrivers - Debian Wiki

Bisous :kissing_cat:

1 J'aime

Effectivement, tu as raison d’être désolé de ton agressivité :slight_smile: car ce forum n’est pas un lieu d’invective, mais d’entr’aide.
Je le fréquente depuis un certain temps et mes propos sont toujours tempérés. J’espère que tu vas te ressaisir. plus pour toi que pour moi : j’en vu d’autres sur les forum et malheureusement c’est un des reproches que fait le grand public aux forums Linux.

La condescendance des « sachants » renvoie les gens « normaux » dans les filets et n’encourage pas à l’adoption du libre. !
Essaie le bourgeon de framboisier, ma femme m’en dit le plus grand bien.

Contrairement à ce que suggère ton propos, je ne viens pas PLEURER mais je DEMANDE JUSTE SI quelqu’un a essayé et réussi à installer la suite anaconda sur un bookworm tout neuf, et si oui, comment il (elle) a fait… C’EST TOUT !

Tout le reste n’est que digression. Je demande si qqn a été dans les mêmes ennuis ET s’en est sorti.

— Fin de la polémique – Veuillez m’excuser de m’être laissé entraîner —
« Je ne te dis pas que ce n’est pas injuste, je te dis que ça soulage » (M. Audiard, Les tonton flingueurs)

Cela dit, tu es le premier à me demander des précisions pointues sur le PC, donc je suppose que tu as une excellente connaissance de Debian, ce que je ne peux que respecter.
Pas de problème, les voilà : c’est un portable lenovo ideapad gaming 3 15ACH6 avec un Ryzen 5 5600H avec radeon vega grapphics 1.20 series mobile et une geforce GTX 1650 mobile.
Le tout sous Debian 12.1, xfce4.18, XOrg1.21.1.7, 6 Go ram (un peu léger, je sais, mais le propos est de faire tourner Anaconda, pour l’augmentation de RAM, on verra qd ça marchera…).

Il y a peut-être un switch évident (mais que j’ai zappé) entre radeon et nvidia, mais si tes compétences sont à la hauteur de ta virulence, tu vas très vite pouvoir m’aider à remettre tout ça dans l’ordre.
Je ne demande que ça :slightly_smiling_face: :smiling_face_with_three_hearts:
Merci par avance

Je te remercie. Pas grave je ne suis pas dans l’huile ! :slight_smile: J’espère que tu as passé de bonnes vacances.

Ah ah ah :smiley: oui je peux être grincheux mais je sais aussi faire des bisous :kissing_cat:
Je sais pas comment il a pu se passer 13 jours sans que personne ne te demande les specifications de ta machine.
Il est tout bonnement impossible de t’aider sans connaître le matériel que tu as.

Donc en lisant la doc que je t’ai collée plus haut, on peut y voir qu’il y a 2 versions de driver nvidia disponibles.

  • 525.89.02: pour les cartes plus récentes
  • 390.144: pour les cartes plus anciennes

Il semblerait que ta carte fasse partie des cartes plutôt récentes car listée dans la liste des cartes supportées par le driver 525.89.02.

Si j’en crois la doc, sur une Debian 12 toute fraiche (il y aura peut-être des souci sur la tienne car tu as visiblement déjà fait des installations / réinstallations sans succès, il faudrait repartir une installation neuve pour être sûr).

Je vais copier-coller le contenu de la doc qui te concerne:

  1. Ajoutez les éléments « contrib », « non-free » et « non-free-firmware » à /etc/apt/sources.list, par exemple :
# Debian Bookworm
deb http://deb.debian.org/debian/ bookworm main contrib non-free non-free-firmware
  1. Mettez à jour la liste des paquets disponibles, puis installez le paquet nvidia-driver, ainsi que le micrologiciel nécessaire :
# apt update 
# apt install nvidia-driver firmware-misc-nonfree

DKMS construira le module nvidia pour votre système via le paquet nvidia-kernel-dkms.

Attention, il y a un warning tout particulier dans le cas où Secureboot est activé

  • À-propos de SecureBoot* : si vous avez activé SecureBoot, vous devez signer les modules résultants. Des instructions détaillées sont disponibles ici.

Dans le doute, désactive SecureBoot, sinon il faut bien lire toute cette page pour comprendre ce que tu fais: fr/SecureBoot - Debian Wiki

  1. Redémarrez votre ordinateur pour charger le nouveau pilote.

Et à partir de là, normalement le driver nvidia devrait être chargé. Je n’ai plus de carte nvidia car je n’en ai pas besoin, mais j’en ai eu dans le passé et suivre pas-à-pas ce qui est écrit dans la doc a toujours fonctionné dans mon cas.

En cas de souci, essaie d’être un peu plus précis et colle-nous ici les messages d’erreur.

Ta prose est très jolie et poétique, mais on a besoin de détails précis pour t’aider au mieux.

nvidia ça a toujours été la plaie sur Linux. Voici une petite séquence de 17 secondes où Linus Torvald exprime sa déception vis-à-vis de nvidia et conclut par un magistral et désormais célèbre fuck you nvidia: https://www.youtube.com/watch?v=_36yNWw_07g

J’ai oublié le plus important, une fois que ton driver nvidia est installé, tu veux installer cuda, la procédure se trouve toujours sur la même page: fr/NvidiaGraphicsDrivers - Debian Wiki

CUDA 11.8.89 est disponible dans les dépôts non-free :

# apt install nvidia-cuda-dev nvidia-cuda-toolkit

Ceci installe nvcc et ses suivants. Le profileur visuel est dans un paquet séparé nommé nvidia-visual-profiler.

Salut AnatomicJC
C’est bien aussi, de faire des bisous ! :blush: ça fait du bien à qui les reçoit, mais aussi à qui les donne !

Il me semble que j’ai déjà fait la plupart des manips que tu suggères (le bon driver, les non-free dans la source-list, le secure boot…). Mais j’y suis allé au pendule car je croyais avoir compris que bookworm intégrait lui-même les firmware non-free (du coup pourquoi modifier la sources-list ?? m’étais-je demandé).
Le fait est que je suis parti d’un bookworm tout neuf (12.1) mais qu’à force d’install-puis-remove-purge-puis-réinstall, il y a un risque qu’il soit un peu boîteux. Pourtant, en général, pour des trucs simples il est vrai, Debian encaisse plutôt bien mes purge/install…

Celà dit, il est normal que personne ne m’ait demandé des précisions sur le PC car j’ai dit dès le début que je venais sur le forum pour savoir si qqn avait eu (VRAIMENT eu) envie d’installer Anaconda sous bookworm en pariant sur une install simple (sans une palanquée de apt install ) et obtenu le même pb pour pouvoir en parler, ceci afin d’éviter les habituels RTFM et yakafokon sans intérêt. Je l’ai ré-écrit à chaque post ou presque.
A priori il n’y a pas encore de bi-compétence Anaconda/CUDA-Bookworm.
Curieux… mais assez logique, le couple étant plutôt récent !

Je ne peux pas t’assurer que mes manips sont exactement les mêmes que celles que tu proposes, car je suis parti en vacances moi-même [coucou limax ! revoyure après la rentrée :wink:]… Mais afin d’éviter de passer le PC par la fenêtre en cas de « nervouze breakdown comme on dit de nos jours », je l’ai laissé à la maison, ce qui m’évitera des frais de PC, de fenêtre et d’agence de location.

Je remercie ceux qui tentent de m’aider : rendez-vous après la rentrée !
:kissing_heart: à tous
(moi aussi, je peux faire des bisous :innocent:)

Bonjour à tous,

Me revoilà… oui, après plus d’un an !
Désolé de ce faux bond mais des problèmes sévères m’ont fait mettre en pause cette discussion.

Tout cela m’est sorti de la tête et j’ai donc tout repris à zéro.
J’ai fini par me dépatouiller et voici une install qui fonctionne, pour la cas où des téméraires voudraient chercher des infos comme je le faisais à l’époque…

Allons-y.
nb. je me rends compte que le fait de mettre un « # » à la place de « $ » en tête de ligne pour dire « mode ROOT » au lieu de mode user fait passer les lignes en gras dans l’interface. Dont acte.

============ État des lieux ============
*** même PC que précédemment (Lenovo Ideapad gaming 3, voir plus haut) mais avec une ram de 32G.
*** nouvel SSD de 1To (soyons large, les fichiers IA sont souvent généreux).
*** vérification de l’activation de nvidia dans le bios : OK

============ Installation de Debian 12 ============
*** à partir d’une image iso sur clef usb par net-install.
→ in fine, je me retrouve avec 12.7
pourquoi pas.

============ Pré-requis ============
*** vérifier la présence des dépôts « contrib », « non-free » et « non-free-firmware » dans le fichier /etc/apt/sources.list. La subtilité étant de ne pas confondre non-free-firmware et non-free (tout court). Il faut les deux. Par exemple :
deb Index of /debian bookworm main contrib non-free non-free-firmware

================================================================

  1. Installation des outils nvidia

*** vérifier la présence de la carte nvidia

~$ lspci -nn | egrep -i « 3d|display|vga »
01:00.0 3D controller [0302]: NVIDIA Corporation TU117M [GeForce GTX 1650 Mobile / Max-Q] [10de:1f9d] (rev a1)
05:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. [AMD/ATI] Cezanne [Radeon Vega Series / Radeon Vega Mobile Series] [1002:1638] (rev c6)

→ OK, elle est là

*** installer nvidia-detect pour savoir quel driver utiliser :

apt install nvidia-detect

*** puis le lancer :

~$ nvidia-detect
Detected NVIDIA GPUs:
01:00.0 3D controller [0302]: NVIDIA Corporation TU117M [GeForce GTX 1650 Mobile / Max-Q] [10de:1f9d] (rev a1)
Checking card: NVIDIA Corporation TU117M [GeForce GTX 1650 Mobile / Max-Q] (rev a1)
Your card is supported by all driver versions.
Your card is also supported by the Tesla 470 drivers series.
It is recommended to install the
nvidia-driver

==== MAIS AVANT d’installer les drivers :

apt install linux-headers-amd64

[…il cause…]

*** puis on rentre dans le dur :

apt install nvidia-driver firmware-misc-nonfree

[… c’est long… une tera-palanquée de trucs…]

→ Ah ! un conflit avec le driver de base. Bonne nouvelle : il y a de la vie.
(–> conflit avec « nouveau ». Redémarrer le PC.)

==== Dont acte. Redémarrage, tel un windows moyen :))

*** puis installer des utilitaires

apt install build-essential gcc dirmngr ca-certificates software-properties-common apt-transport-https dkms curl -y

It’s crucial to ensure the authenticity and integrity of software packages. When importing the GPG key for your specific Debian version, you verify the authenticity of the repository packages. The key signs the packages, and by importing them, you tell your system to trust these signed packages.
Bookworm, run:

curl -fSsL https://developer.download.nvidia.com/compute/cuda/repos/debian12/x86_64/3bf863cc.pub | sudo gpg --dearmor | sudo tee /usr/share/keyrings/nvidia-drivers.gpg > /dev/null 2>&1

(OK, j’obéis)
*** Integrating the NVIDIA Repository into Your Debian System
With the GPG key, you can now add the NVIDIA repository to your Debian system. This repository contains the necessary packages for CUDA installation.
Bookworm, use:
echo ‹ deb [signed-by=/usr/share/keyrings/nvidia-drivers.gpg] Index of /compute/cuda/repos/debian12/x86_64 / › | sudo tee /etc/apt/sources.list.d/nvidia-drivers.list

(OK, j’obéis encore)

*** mettre de l’ordre

apt update && apt upgrade -y

*** et enfin (ouf !)

apt install nvidia-cuda-dev nvidia-cuda-toolkit

(…c’est loooong…)

*** on vérifie la présence de leur compilo :
nvcc --version

==== OK il est là et hop ! Re-windowserie (windows-II, « Le Retour » :)) :
(*** on redémarre ***)

================================================================
2. Installation d’Anaconda

*** install prérequis (une ribambelle. On mégote pas)

apt-get install libgl1-mesa-glx libegl1-mesa libxrandr2 libxrandr2 libxss1 libxcursor1 libxcomposite1 libasound2 libxi6 libxtst6

*** récupérer l’installateur à cette adresse :
https://repo.anaconda.com/archive/Anaconda3-2024.06-1-Linux-x86_64.sh (prendre la dernière version à jour)

*** puis chmood +x et le lancer
accepter (ou non) l’init automatique.

*** lancer :
conda activate
anaconda-navigator
(et bien sûr : update quand on l’ouvre! )

===================================================================
3. MIRACLE mes frères.

Ça marche ! On va pouvoir se prendre la tête avec Tensorflow.
Attention Anaconda est gentil mais un peu lourdingue. Il faut TOUT lui dire. Mais c’est une autre histoire…

Anaconda, (contrairement à ce que suggèrent certains post) est très vivement recommandé car il automatise les manips sur les env virtuels et je dois dire que ça soulage vraiment quand il faut changer de version de python à la troisième décimale pour satisfaire une dépendance pointilleuse. Je me vois mal faire des apt install toutes les 30 secondes dans des envs à gérer moi-même. L’intérêt de l’informatique c’est précisément de faire faire le boulot par les machines :)).

Merci à tous de votre écoute. À la prochaine ! :wink:

Bonjour @oscourt ,

De quelles manipulations sur les environnements virtuels parlez-vous ? python3 -m venv myenv et les source ./bin/activate et source ./bin/deactivate font bien le travail. Si vous pouviez en dire un peu plus de manière à percevoir en quoi Anaconda apporte un plus sur le sujet.

1 J'aime

Bonjour.
La seule raison raisonnable de télécharger Anaconda c’est quand on fait du data science/ machine learning/ calcul scientifique car cette bibliothèque importe les dépendances les plus utilisées pour cet usage.
Si c’est juste pour gérer tes environnements ,comme dit précédemment, un simple venv suffit. (et par ailleurs pour cet usage Conda ou miniconda aurait fait l’affaire).

1 J'aime

Oui, c’est très exactement ce que je dis depuis le début :slight_smile: . La gestion des env étant un « bonus collatéral » non-négligeable.

quand on installe TF, il est très sourcilleux sur les versions des bibs et de python. Anaconda simplifie la vie pour passer de 3.7 à 3.8, voire 3.9.xx en un clic, dépendances comprises.

Je n’en doute pas, je te remercie de la précision, mais je suis parti sur Anaconda il y a déjà plus d’un an. Si cette information argumentée m’était parvenue à l’époque, pourquoi pas…
Maintenant que j’ai réussi à m’en sortir avec des essais-erreurs, j’ai juste voulu transmettre ici mon expérience pour, qui sait, aider ceux qui rencontrent peut-être les mêmes problèmes que moi il y a deux ans en partageant les infos que j’aurais aimé dénicher à l’époque. Je suis parti et reste -maintenant que ça a l’air de fonctionner- avec Debian 12.7/nvidia/CUDA/Anaconda/Keras/Tensorflow… et j’essaie d’avancer sur l’IA. (en application du deuxième principe de l’informatique : « if it works, don’t modify »)

Mais c’est le rôle de la création et de l’activation d’un environnement virtuel que j’ai déjà cité précédemment et qui s’effectue en seulement deux lignes et dont tout programmeur Python sérieux se doit de connaître. Anaconda n’apporte rien de plus en matière d’automatisation à ce sujet. Pour certains programmes lourds ou fragile en dépendances, Anaconda simplifie la tâche d’installation mais pas à proprement parler au niveau des environnements virtuels qui restent d’une simplicité à mettre en œuvre.

j’admets ! Mais Anaconda le fait en un clic :sweat_smile: alors je délègue. Tu sais, quand j’ai commencé dans le privé… c’était avec le Microsoft-C 5.1 sous windows 3.11 (à l’école, c’était un clone de CP/M : il n’y avait même pas de dossiers hiérarchiques et oui, j’ai connu les dinosaures et j’ai d’ailleurs personnellement enterré le dernier :woozy_face: Tout était sous la racine et on jouait sur les noms de fichiers pour s’en sortir). Et puis j’ai progressé en même temps que l’air du temps… Unix, Ultrix (vax), Linux… Alors python, je le trouve vraiment très sympa, mais si je peux masquer tout les dépendances et autres, je fonce, parce que pour l’instant je regarde l’IA. Cela dit, je comprends parfaitement que la gestion des env soit une sorte de réflexe aujourd’hui… Un jour, sûrement, j’en aurai marre de (Ana)conda et ses copains et je m’écrirai un script shell à 2 sous pour faire pil-poil ce que je veux. J’applique le premier principe : « si la machine peut le faire à ta place, délègue ! »

Très bien. Ce qui me chagrinait c’est qu’en parlant d’environnement virtuel, je m’attendais à de nouvelles fonctionnalités ou commandes dans ce sens. C’est plus une reprise de termes marketing (qui ne s’est pas fait avoir :wink:) au regard de l’absence de réelle nouveauté que de parler réellement d’automatisation des manips sur les environnements virtuels. De toute évidence c’est une excellente chose qu’en un seul clic, Anaconda puisse permettre d’avoir par exemple Tensor Flow, ne serait-ce que pour démarrer rapidement. Ah au fait, l’horreur ne serait donc plus au niveau d’Anaconda… Ceci dit attention à la simplicité apparente de Python car qui dit Python dit références et parler de références revient à parler de pointeurs; nul doute que la connaissance du C est un plus, presque indispensable. Merci pour ces échanges courtois et qui rendent agréable le sujet.

Qui se rappelle encore d’Ultrix !? :wink: J’ai abordé Unix par là aussi… mais Ken Olsen s’était réveillé trop tard : il était persuadé de détenir avec VMS le meilleur OS du monde, et n’avait pas cru à Unix… ni aux PCs d’ailleurs : et voilà comment DEC a entamé sa longue descente. :cold_sweat:
À l’époque, c’était quand même le deuxième constructeur mondial, (loin) derrière IBM.

Oui… Ah… (sniff) le Vax 780 /VMS/C (le premier, le vrai, le Kernighan & Ritchie. Pas besoin de C++ : on se faisait des tableaux de pointeurs sur fonction et ça roulait ! :blush: ) qui n’en a pas rêvé parmi les scientifiques Fortraniens… (les gestionnaires étant plutôt IBM MVS/CICS/DB2). Racheté par Compaq. La déchéance presque ultime (déchéance ultime eût été par IBM et son horrible AS400 « VaxKiller »). Mais soyons honnêtes… Même ceux qui ont cru à Unix ont voulu mettre LEUR Unix en avant, tous incompatibles, SUN, APOLLO… qui s’en souvient ? J’ai vu apparaître Minix de Tannenbaum (un bouquin rouge pour les listings ! ), dont j’ai découvert plus tard qu’il était planqué dans les puces Intel… Bon, je prends ma tisane vespérale et je file au lit :cold_sweat: Bonne nuit les petits (Nounours et le marchand de sable sont passés)