2025-11-29 14:34:17 +01:00
2025-11-29 14:34:17 +01:00

README GPU AMD (VAAPI) pour LXC ComfyUI (CT 21608188)

1. Contexte & objectif

Ce document décrit comment exposer le GPU AMD Radeon RX 6700 XT du serveur Proxmox VE vers le conteneur ComfyUI LXC (CT 21608188, Debian 13), et comment vérifier le bon fonctionnement de laccélération matérielle vidéo (VAAPI) à lintérieur du conteneur.

⚠️ Important :

  • Ce README couvre lexposition du GPU et les tests VAAPI (décodage/encodage vidéo).
  • Laccélération Stable Diffusion / IA de ComfyUI côté AMD nécessite en plus une stack ROCm + PyTorch ROCm, non couverte ici.

2. Prérequis

  • Hôte Proxmox VE 8 avec noyau :
uname -a
# Linux pve 6.8.12-16-pve ...
  • GPU AMD visible sur lhôte :
lspci -nnk -s 23:00.0
# 23:00.0 VGA compatible controller [0300]: Advanced Micro Devices, Inc. ...
# Kernel driver in use: amdgpu

ls -l /dev/kfd /dev/dri
# /dev/kfd
# /dev/dri/card0
# /dev/dri/renderD128
  • LXC ComfyUI créé via community-scripts :
    • ID : 21608188
    • Hostname : comfyui
    • OS : Debian 13 (trixie)

3. ETAPE 1 Configuration du conteneur LXC ComfyUI

Éditer la configuration du CT côté PVE.

pct stop 21608188

nano /etc/pve/lxc/21608188.conf

Configuration finale utilisée (adapter uniquement cores/mémoire si besoin) :

arch: amd64
cmode: shell
cores: 4
features: keyctl=1,nesting=1
hostname: comfyui
memory: 32768
nameserver: 192.168.1.3
net0: name=eth0,bridge=vmbr0,gw=192.168.1.1,hwaddr=BC:24:11:40:40:37,ip=192.168.1.216/24,type=veth
onboot: 1
ostype: debian
rootfs: vm-docker:vm-21608188-disk-0,size=100G
searchdomain: z-server.me
startup: order=15
swap: 512
tags: ai;community-script
unprivileged: 1

# Exposition GPU AMD dans le CT
dev0: /dev/kfd,gid=993,uid=0
dev1: /dev/dri/renderD128,gid=44

Puis redémarrer le conteneur :

pct start 21608188
pct console 21608188
# login : root

4. ETAPE 2 Vérifier le GPU dans le CT ComfyUI

Dans le conteneur :

ls -l /dev/kfd /dev/dri/renderD128
grep -w 'video\|render' /etc/group

Exemple attendu :

crw-rw---- 1 root video 226, 128 ... /dev/dri/renderD128
crw-rw---- 1 root kvm   234,   0 ... /dev/kfd

video:x:44:root
render:x:992:root

👉 Ça confirme :

  • que les deux devices sont bien mappés dans le CT,
  • que lutilisateur root peut les utiliser.

5. ETAPE 3 Installer la stack VAAPI / Vulkan / FFmpeg dans le CT

Toujours dans le conteneur ComfyUI :

apt update
apt install -y vainfo mesa-va-drivers mesa-vulkan-drivers ffmpeg

6. ETAPE 4 Test VAAPI avec vainfo

Dans le CT :

export LIBVA_DRIVER_NAME=radeonsi

vainfo --display drm --device /dev/dri/renderD128   | egrep 'Driver version|VAProfile'

Sortie attendue (exemple réel) :

libva info: VA-API version 1.22.0
libva info: User environment variable requested driver 'radeonsi'
libva info: Trying to open /usr/lib/x86_64-linux-gnu/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_22
libva info: va_openDriver() returns 0
vainfo: Driver version: Mesa Gallium driver 25.0.7-2 for AMD Radeon RX 6700 XT ...
vainfo: Supported profile and entrypoints
      VAProfileH264High               : VAEntrypointVLD
      VAProfileHEVCMain               : VAEntrypointVLD
      VAProfileVP9Profile0            : VAEntrypointVLD
      VAProfileAV1Profile0            : VAEntrypointVLD
      ...

👉 Si tu vois bien :

  • la RX 6700 XT dans la ligne Driver version,
  • la liste des VAProfile*,

alors VAAPI est opérationnel dans le LXC ComfyUI.


7. ETAPE 5 Test dencodage matériel avec FFmpeg (h264_vaapi)

Toujours dans le CT :

ffmpeg -v verbose   -init_hw_device vaapi=va:/dev/dri/renderD128   -filter_hw_device va   -f lavfi -i testsrc2=size=1920x1080:rate=30   -t 5   -vf 'format=nv12,hwupload'   -c:v h264_vaapi   -f null -

Points clés dans la sortie :

[AVHWDeviceContext] Initialised VAAPI connection ...
[AVHWDeviceContext] VAAPI driver: Mesa Gallium driver ... for AMD Radeon RX 6700 XT ...
[h264_vaapi] Using VAAPI profile VAProfileH264High ...
[h264_vaapi] Using VAAPI entrypoint VAEntrypointEncSlice ...
frame=150 fps=... Lsize=N/A time=00:00:04.96 ...
video:7100KiB ...

👉 Si tu obtiens ces lignes avec 150 frames encodées et aucune erreur, lencodage H.264 via VAAPI dans le LXC ComfyUI est validé.


8. Intégration avec ComfyUI (principes)

ComfyUI lui-même (pour Stable Diffusion) ne sappuie pas sur VAAPI mais sur :

  • CUDA (NVIDIA) ou
  • ROCm / HIP (AMD) + PyTorch ROCm.

Ce README garantit que :

  • le GPU AMD est bien exposé au conteneur ComfyUI,
  • la stack vidéo (VAAPI / Mesa / FFmpeg) fonctionne.

Pour exploiter le GPU dans ComfyUI pour lIA (diffusion, etc.), il faudra :

  1. Installer une stack ROCm compatible Debian 13 / RDNA2.
  2. Installer un PyTorch ROCm compatible avec cette version de ROCm.
  3. Configurer ComfyUI pour utiliser ce backend (généralement via torch.device("cuda") / "hip" côté scripts).

9. Résumé rapide

  • /dev/kfd & /dev/dri/renderD128 mappés dans 21608188
  • vainfo voit la RX 6700 XT et les profils H264/HEVC/AV1
  • ffmpeg encode en h264_vaapi depuis testsrc2 sans erreur

Tu as donc un LXC ComfyUI avec GPU AMD exposé et VAAPI fonctionnel, prêt pour les prochains tests (ROCm / IA) ou pour traiter de la vidéo dans des workflows ComfyUI adaptés.

Description
No description provided
Readme 65 KiB