Et avant ça fonctionnait bien et cela sans rien changer à ta config ? c’est étrange ça. je ne vois pas pourquoi ce serait moins efficace dans une VM. j’avoue qu’habitant dans un quartier composé principalement de culs-de-sacs le passage est principalement lié aux gens du quartier, je n’ai pratiquement aucunes détections la nuit. je vais activer la détection de chats pour voir car ça ici, on en a une tripotée
Vraiment bizarre. Aucun soucis de détection la nuit … personne ou chat…
Tu as des filtres sur tes caméras ? genre anti-flicker ?
Salut,
c’est vrai que comme c’est pas ma conf, je n’ai rien mis là dessus. Par contre, pendant mes recherches j’étais tombé sur pas mal de trucs aussi sur le TPU en PCI. Si tu veux, je peux essayer de les re-collecter et les synthétiser.
L’essentiel est surtout au niveau de la conf du LXC et du docker, car ensuite Frigate ne fera que détecter le lien vers le TPU, s’il existe.
Mais comme je n’aurai rien pour tester, pas sûr que j’aboutisse à une suite d’instructions qui marche.
De ton coté, est ce que tu es parvenu à le faire marcher finalement?
Au démarrage de frigate, tu vois bien un message du genre « TPU detected » ?
Si tu es à l’aise avec l’anglais, il y a pas mal de chose sur les install PCI dans :
Discussion Frigate on LXC
Merci pour ta réponse,
J’ai deja bien oeuvré au niveau LXC je réussis à monter mon coral pci dessu mais frigate ne le reconnait pas.
C’est gentil de m’aider.
Pour le moment mon frigate n’est pas fonctionnel je ne comprend pas pourquoi. Je lis et relis la doc et je suis tombé la dessus :
En lisant je trouve ca interessant mais je ne suis pas arrivé à totalement le mettre ne place. J’ai une error que je ne comprend pas.
Frigate c’est un LXC où tourne Docker c’est bien ça ? Tu peux nous indiquer ce que tu passes comme paramètre concernant le device ? J’ai aussi un Coral en PCI-E, j’ai réussi à le configurer sur deux environnement différents, donc c’est fonctionnel sur un LXC (Alpine) où Docker tourne.
Je partage mon docker compose pour mon Frigate:
version: "3.9"
services:
frigate:
container_name: frigate
privileged: true # this may not be necessary for all setups
restart: unless-stopped
image: ghcr.io/blakeblackshear/frigate:stable
shm_size: "64mb" # update for your cameras based on calculation above
devices:
- /dev/apex_0:/dev/apex_0 # passes a PCIe Coral, follow driver instructions here https://coral.ai/docs/m2/get-started/#2a-on-linux
volumes:
- ./:/config/
- nfs-frigate:/media/frigate
- type: tmpfs # Optional: 1GB of memory, reduces SSD/SD Card wear
target: /tmp/cache
tmpfs:
size: 1000000000
ports:
- "5000:5000"
- "8554:8554" # RTSP feeds
- "8555:8555/tcp" # WebRTC over tcp
- "8555:8555/udp" # WebRTC over udp
environment:
- TZ=Europe/Paris
- FRIGATE_RTSP_PASSWORD="xxxxxxxxxxxxxxxxxxxxxx"
volumes: ## Définition des volumes déclarés ci-dessus
nfs-frigate: ## Le nom de mon volume en montage NFS
driver: local
driver_opts: ## Définition des options du montage
type: nfs ## Choix du type de montage
o: addr=xxx.xxx.xxx.xxx,nolock,soft,rw ## Indication de l'adresse IP du stockage et des options d'accès
device: :/volume1/homeassistant/frigate ## Indication du chemin du montage sur le stockage
J’ai la même config sous docker et malgré tout frigate ne trouve pas le coral alors que sous debian ( dans le lxc) il apparait bien.
Pour la partie usb il faut mapper le port sous le contenair lxc. En plus de la ligne sous docker compose.
Comme décris dans cette article.
Il doit y avoir sans doute la même chose a faire pour le port pcie interne non?
Peux tu mettre le fichier de conf de ton lxc?
Sur ton node, ca doit être dans etc/pve/lxc un fichier genre 101.conf ou 102.conf (avec le numéro de ton lxc).
Ca peut être une histoire de droit qu’il faut aller ecrire à la main dans ce fichier (le fait que la carte pci apparaisse dans les ressources de ta console proxmox peut ne pas être suffisant).
Je suppose que tu as installé les drivers Coral en pci:
Oui les drivers sont bien installé
arch: amd64
cores: 2
features: nesting=1
hostname: Frigate
memory: 4096
net0: name=eth0,bridge=vmbr0,firewall=1,hwaddr=BC:24:11:C8:FB:E3,ip=dhcp,ip6=dhcp,type=veth
onboot: 1
ostype: debian
rootfs: HP250:vm-103-disk-0,size=8G
swap: 512
unprivileged: 0
lxc.cgroup2.devices.allow: a
lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file 0, 0
lxc.mount.entry: /dev/apex_0 dev/apex_0 none bind,optional,create=file 0, 0
lxc.cap.drop:
lxc.mount.auto: cgroup:rw
Il en manque un bon bout dans ta config:
features: nesting=1
lxc.cgroup2.devices.allow: c 226:0 rwm
lxc.cgroup2.devices.allow: c 226:128 rwm
lxc.cgroup2.devices.allow: c 29:0 rwm
lxc.cgroup2.devices.allow: c 189:* rwm
C’est ça qui « donne » la clé coral au LXC… Le renderD128 c’est un driver pour ffmpeg.
Les numéros 226… ce sont les majeurs et mineurs du device créé par Linux.
Clé USB ou PCI, à la fin, ça fait un device sur Linux. C’est l’identité de ce device qu’il faut faire passer.
Vu que, si j’ai suivi, tu utilises un PCI, il est fort probable que les numéros soient différents.
Ouij’ai rajouté car mon conf est modifier pour plusieurs essaie.
C’est vrais que c’est pas le même numero j’aipas pensé à le changer
Comment je trouve ce numéro ? Je cherche Mais …
Pas obligatoire d’ajouter tous les
lxc.cgroup2.devices.allow:
Il suffit juste sur ton noeud Proxmox, d’effectuer un
ls -al /dev/apex_0
crw-rw---- 1 root apex 120, 0 Jan 6 08:54 /dev/apex_0
qui va te retourner deux numéro (XXX, X) après apex; ensuite dans le fichier .conf du LXC, ajouter seulement ceci:
lxc.cgroup2.devices.allow: c XXX:X rwm
ça sera entièrement suffisant, le reste des lxc.cgroup2.devices.allow n’est pas nécessaire puisque c’est uniquement pour faire du GPU passthrough
Purée ca marche !!
Mais du coup en faite il faut installer le coral sur le noeud proxmox et sur le lxc.
Merci bcp !!
Je ne sais pas ce qu’installer veut dire ici.
Proxmox, c’est l’OS (en fait un debian amélioré), c’est lui qui « voit » tous les périphériques du système, qui sous linux sont vus comme des devices.
Ensuite, il faut dire à proxmox de présenter ce device à LXC (la ligne cgroup2). Et ensuite dans LXC, tu l’utilises.
C’est très « logique » quand on connait le fonctionnement de linux
En fait, il faut installer la partie pilote « driver » sur le noeud Proxmox et mettre la bonne conf pour le LXC (voir plus haut), mais dans le LXC il n’y a rien à faire (pas d’installation de pilote).
Ok je vais recommencer mon lxc depuis le debut car ca ne fonctionne plus . Maintenantr que j’ai toutes les infos ca devrait le faire . Je vous tiens au courant.
Mince ca marche plus … sous proxmox tout es installé mais j’ai cette erreur :
decidement …