Bullseye +Blender 3.0 + Nvidia Cuda + Geforce RTX 2070

Résolu/Fermé
Guppy88 Messages postés 11 Date d'inscription samedi 20 juin 2009 Statut Membre Dernière intervention 14 janvier 2022 - Modifié le 7 janv. 2022 à 12:06
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 - 10 janv. 2022 à 13:02
Bonjour,

J'essaie de faire fonctionner
blender
3.0 avec une Debian bullseye et une carte graphique Nvidia Geforce RTX 2070.

blender
fonctionne de façon aléatoire : il se ferme ou ne veut pas faire de rendu, mais pas toujours.
J'ai tenté un
nvidia-settings
avec mon profil utilisateur et j'ai obtenu la réponse suivante :

(nvidia-settings:4488): GLib-GObject-CRITICAL **: 19:14:37.224: g_object_unref: assertion 'G_IS_OBJECT (object)' failed


Je ne sais pas ce que cela signifie vraiment. Par ailleurs
nvidia-smi
me donne :

Tue Jan  4 19:01:12 2022       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 460.91.03    Driver Version: 460.91.03    CUDA Version: 11.2     |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|                               |                      |               MIG M. |
|===============================+======================+======================|
|   0  GeForce RTX 2070    On   | 00000000:07:00.0  On |                  N/A |
|  0%   47C    P8    25W / 175W |    962MiB /  7979MiB |      1%      Default |
|                               |                      |                  N/A |
+-------------------------------+----------------------+----------------------+
                                                                               
+-----------------------------------------------------------------------------+
| Processes:                                                                  |
|  GPU   GI   CI        PID   Type   Process name                  GPU Memory |
|        ID   ID                                                   Usage      |
|=============================================================================|
|    0   N/A  N/A      1497      G   /usr/lib/xorg/Xorg                303MiB |
|    0   N/A  N/A      1616      G   /usr/bin/gnome-shell              329MiB |
|    0   N/A  N/A      2376      G   ...b/firefox-esr/firefox-esr      325MiB |
+-----------------------------------------------------------------------------+


La commande
lsmod | grep nvidia
renvoie :
nvidia_uvm           1163264  0
nvidia_drm 61440 4
drm_kms_helper 278528 1 nvidia_drm
nvidia_modeset 1232896 9 nvidia_drm
nvidia 34205696 453 nvidia_uvm,nvidia_modeset
drm 618496 7 drm_kms_helper,nvidia_drm


... et
clinfo
cela

Platform Name                                   NVIDIA CUDA
Number of devices 1
Device Name GeForce RTX 2070
Device Vendor NVIDIA Corporation
Device Vendor ID 0x10de
Device Version OpenCL 1.2 CUDA
Device UUID 34c171e6-2a8f-96e1-73d3-3bf7b91b36e1
Driver UUID 34c171e6-2a8f-96e1-73d3-3bf7b91b36e1
Valid Device LUID No
Device LUID 0000-000000000000
Device Node Mask 0
Driver Version 460.91.03
Device OpenCL C Version OpenCL C 1.2
Device Type GPU
Device Topology (NV) PCI-E, 0000:07:00.0
Device Profile FULL_PROFILE
Device Available Yes
Compiler Available Yes
Linker Available Yes
Max compute units 36
Max clock frequency 1620MHz
Compute Capability (NV) 7.5
Device Partition (core)
Max number of sub-devices 1
Supported partition types None
Supported affinity domains (n/a)
Max work item dimensions 3
Max work item sizes 1024x1024x64
Max work group size 1024
Preferred work group size multiple (kernel) 32
Warp size (NV) 32
Preferred / native vector sizes
char 1 / 1
short 1 / 1
int 1 / 1
long 1 / 1
half 0 / 0 (n/a)
float 1 / 1
double 1 / 1 (cl_khr_fp64)
Half-precision Floating-point support (n/a)
Single-precision Floating-point support (core)
Denormals Yes
Infinity and NANs Yes
Round to nearest Yes
Round to zero Yes
Round to infinity Yes
IEEE754-2008 fused multiply-add Yes
Support is emulated in software No
Correctly-rounded divide and sqrt operations Yes
Double-precision Floating-point support (cl_khr_fp64)
Denormals Yes
Infinity and NANs Yes
Round to nearest Yes
Round to zero Yes
Round to infinity Yes
IEEE754-2008 fused multiply-add Yes
Support is emulated in software No
Address bits 64, Little-Endian
Global memory size 8366915584 (7.792GiB)
Error Correction support No
Max memory allocation 2091728896 (1.948GiB)
Unified memory for Host and Device No
Integrated memory (NV) No
Minimum alignment for any data type 128 bytes
Alignment of base address 4096 bits (512 bytes)
Global Memory cache type Read/Write
Global Memory cache size 1179648 (1.125MiB)
Global Memory cache line size 128 bytes
Image support Yes
Max number of samplers per kernel 32
Max size for 1D images from buffer 268435456 pixels
Max 1D or 2D image array size 2048 images
Max 2D image size 32768x32768 pixels
Max 3D image size 16384x16384x16384 pixels
Max number of read image args 256
Max number of write image args 32
Local memory type Local
Local memory size 49152 (48KiB)
Registers per block (NV) 65536
Max number of constant args 9
Max constant buffer size 65536 (64KiB)
Max size of kernel argument 4352 (4.25KiB)
Queue properties
Out-of-order execution Yes
Profiling Yes
Prefer user sync for interop No
Profiling timer resolution 1000ns
Execution capabilities
Run OpenCL kernels Yes
Run native kernels No
Kernel execution timeout (NV) Yes
Concurrent copy and kernel execution (NV) Yes
Number of async copy engines 3
printf() buffer size 1048576 (1024KiB)
Built-in kernels (n/a)
Device Extensions cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_fp64 cl_khr_byte_addressable_store cl_khr_icd cl_khr_gl_sharing cl_nv_compiler_options cl_nv_device_attribute_query cl_nv_pragma_unroll cl_nv_copy_opts cl_nv_create_buffer cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_device_uuid

NULL platform behavior
clGetPlatformInfo(NULL, CL_PLATFORM_NAME, ...) NVIDIA CUDA
clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...) Success [NV]
clCreateContext(NULL, ...) [default] Success [NV]
clCreateContextFromType(NULL, CL_DEVICE_TYPE_DEFAULT) No platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU) No devices found in platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU) No platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_ACCELERATOR) No devices found in platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_CUSTOM) Invalid device type for platform
clCreateContextFromType(NULL, CL_DEVICE_TYPE_ALL) No platform

ICD loader properties
ICD loader Name OpenCL ICD Loader
ICD loader Vendor OCL Icd free software
ICD loader Version 2.2.14
ICD loader Profile OpenCL 3.0


Device Version OpenCL 1.2 CUDA


Je crois qu'il faudrait que j'ai Opencl 3.0. Mais je viens de tout réinstaller et j'ai toujours OpenCl 1.2. Je ne sais pas quoi faire.

Merci pour l'aide que vous pourrez m'apporter.

2 réponses

mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
Modifié le 5 janv. 2022 à 13:06
Bonjour,

Ta carte nvidia est détecté et son pilote me semble correctement installé. On est bien d'accord que tu as installé le pilote
nvidia
en activant les dépôts
non-free
, comme expliqué dans ce tutoriel ?

En tout cas, le problème semble plus venir de
blender
. Ensuite, vu qu'en bullseye pour le moment c'est blender 2.93.5+dfsg-1 en ce moment, je doute que tu l'aies installé via
apt
(i.e.
apt update && apt install blender
). L'avantage d'installer un logiciel via
apt
, c'est que tu n'as pas à te préoccuper des dépendances, c'est ton gestionnaire de paquets qui les gère toi.

Du coup,est-ce que tu veux absolument
blender
3.0, ou est-ce que
blender
2.93.5+dfsg-1 pourrait suffire ? Car pour le moment, même en debian sid, tu n'auras via
apt
que
blender
2.93.5+dfsg-1 (voir ce lien).
  • Si ça te suffit, fais-tout via
    apt
    , et la version 3.0 finira bien par être disponible dans quelque temps :-) Pense alors à supprimer celui que tu as installé manuellement (et qui doit être dans
    /usr/local
    ). Si malgré tout, les problèmes persiste, tu pourrais alors faire un rapport de bogues (voir
    reportbug
    ).
  • Si tu veux absolument utiliser la version 3.0, il faut regarder dans le détails les dépendances attendues sur le site de blender. Selon le site de blender, il n'y en a pas (ou je suppose que tout est dans leur archive) et il ne parlent pas d'OpenCL.
    • Si tu as installé
      blender
      via
      apt
      , il faudra simplement donner le chemin absolu vers l'exécutable que tu souhaites lancer.
    • Sinon, ton système s'appuiera sur ta variable d'environnement
      PATH
      pour choisir lequel lancé, par défaut, celui dans
      /usr/local
      .


Bonne chance
0
Guppy88 Messages postés 11 Date d'inscription samedi 20 juin 2009 Statut Membre Dernière intervention 14 janvier 2022
5 janv. 2022 à 19:57
Tout d'abord merci pour ta réponse.


Il n'y a pas très longtemps que je suis passé à Bullseye et pour l'instant, j'essaie de mettre en place toutce que j'avais l'habitude de faire avec Buster. Que j'avais depuis le tout de son existence en SID. J'aurais d'autres questions à poser d'ailleurs.


J'ai bien sûr téléchargé blender 3.0 depuis le site de Blender et extrait les fichiers dans un répertoire Blender sur mon Bureau, comme je l'ai fait pour toutes les versions antérieures de Blender avec Buster. Cela a toujours bien fonctionné.

J'avais pensé que j'avais mal installé le driver Nvidia et effacé le tout, puis purgé pour être sûr qu'il ne reste rien de l'ancienne installation.
Il m'a fallu recharger les headers, effacés par l'autoremove , puis j'ai recommencé l'installation avec apt. Je ne me suis rendu compte qu'après de l'existence du tuto sur ce forum. De toute façon, je n'ai pas installé sudo.

Je pense qu'elle est correcte puisque Blender 2.93 installé depuis l'icône "Logiciels" de la barre "Activité" semble fonctionner correctement lui.
Je dispose d'ailleurs
- de l'icône Nvidia, qui ouvre la fenêtre NVIDIA X Server Settings,
- Blender 2.93 accepte de faire un rendu en mode GPU avec Cycles , cela ne peut se faire que si CUDA est disponible pour pouvoir cocher l'option GPU compute.
0
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
7 janv. 2022 à 12:05
Bonjour,

J'avais pensé que j'avais mal installé le driver Nvidia et effacé le tout, puis purgé pour être sûr qu'il ne reste rien de l'ancienne installation.

Quelques précisions :
  • Purger un paquet (
    sudo apt purge ...
    ) efface les fichiers créés lors de l'installation du paquet (librairies, binaire, fichiers de configuration dans
    /etc
    ). Bien évidemment, purger un paquet ne supprime pas les fichiers qui ont été créé par la suite. Si le paquet en question est une application, cela inclue le profil utilisateur (e.g.
    ~/.mon_application/
    ) ou les fichiers que tu as pu créer avec.
  • Supprimer un paquet (
    sudo apt purge ...
    ) a le même effet, sauf que les éventuels fichiers de
    /etc
    sont conservés. C'est intéressant si tu veux supprimer un logiciel mais garder sa configuration au cas où. Pour éviter de l'écraser,
    apt
    garde cette information (on le voit au niveau du statut des paquets, cf
    dpkg -l
    )


Si on revient au paquet nvidia, lorsque tu purges
xserver-xorg-video-nvidia
(ou
nvidia-kernel-dkms
),
apt
supprime les fichiers conformément à la liste des fichiers référencé dans le paquet (voir
apt-file list xserver-xorg-video-nvidia
). Note que les fichiers ne sont jamais déployés dans
/usr/local
conformément aux conventions de la FHS.

Les installations qui ne sont pas faites via
apt
sont déployées dans
/usr/local
et ainsi il n'y a aucun risque de "collision". Cela signifie que si tu purges un paquet, il ne supprime pas les éventuels résidus dans
/usr/local
. Si tu veux nettoyer l'installation du pilote nvidia faite par le script, il faut soit lancer la désinstallation via le script nvidia (version propre), soit faire le ménage à la main avec
rm
(version sale).

Personnellement, je recommande de toujours installer le pilote nvidia via APT. Ainsi, celui-ci est mis à jour avec le reste du système. En particulier, il est recompilé quand tu mets à jour ton noyau (paquets
linux-image-...
).

Je ne me suis rendu compte qu'après de l'existence du tuto sur ce forum. De toute façon, je n'ai pas installé sudo.

En fait, ça n'est pas nécessaire. Tu peux simplement lancer les commandes précédées de
sudo
sans
sudo
du moment que tu es root.

Dans mes messages, je mets
sudo
pour éviter d'avoir à préciser dans mes messages que la commande doit être lancée en root (et sinon en tant qu'utilisateur). Pendant un moment je mettais l'invite de commande ($ pour les utilisateurs, # pour root), mais tout le monde ne connaît pas cette convention de notation et certains croient que ça fait partie de la commande. De manière générale (en particulier sous Debian), je ne recommande pas forcément d'installer
sudo
.

Bonne chance
0
Guppy88 Messages postés 11 Date d'inscription samedi 20 juin 2009 Statut Membre Dernière intervention 14 janvier 2022 > mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024
7 janv. 2022 à 20:25
Merci pour ces précisions, j'avais effectivement compris qu'il suffisait d'être root , donc quand je rencontre sudo, je fais su - pour passer en root et j'applique les commandes.

Le dernier pilote nvidia installé l'a été avec apt et je me suis limité à la version de Blender 2.93 contenue dans les paquets Debian. Il a l'air de fonctionner correctement accepte l'option CUDA qui permet de cocher les rendus en mode GPU.
Je vais suivre ton conseil et m'en tenir à cette version.
0
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749 > Guppy88 Messages postés 11 Date d'inscription samedi 20 juin 2009 Statut Membre Dernière intervention 14 janvier 2022
10 janv. 2022 à 13:02
Merci pour ton retour et bonne continuation :-)
0