Update README.md

This commit is contained in:
Ssyleric
2025-11-29 14:34:17 +01:00
committed by GitHub
parent a1235071a6
commit b59e031295

211
README.md
View File

@@ -1 +1,210 @@
# ComfyUI-GPU-AMD # 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 :
```bash
uname -a
# Linux pve 6.8.12-16-pve ...
```
- GPU AMD visible sur lhôte :
```bash
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**.
```bash
pct stop 21608188
nano /etc/pve/lxc/21608188.conf
```
Configuration **finale** utilisée (adapter uniquement cores/mémoire si besoin) :
```ini
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 :
```bash
pct start 21608188
pct console 21608188
# login : root
```
---
## 4. ETAPE 2 Vérifier le GPU dans le CT ComfyUI
Dans le conteneur :
```bash
ls -l /dev/kfd /dev/dri/renderD128
grep -w 'video\|render' /etc/group
```
Exemple attendu :
```text
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 :
```bash
apt update
apt install -y vainfo mesa-va-drivers mesa-vulkan-drivers ffmpeg
```
---
## 6. ETAPE 4 Test VAAPI avec `vainfo`
Dans le CT :
```bash
export LIBVA_DRIVER_NAME=radeonsi
vainfo --display drm --device /dev/dri/renderD128 | egrep 'Driver version|VAProfile'
```
Sortie attendue (exemple réel) :
```text
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 :
```bash
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 :
```text
[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.