Proxmox-Frigate : Coral usb – igpu

2) Pasando por el USB Coral

Si no tienes un USB coral puedes saltarte esta parte. Si tiene un coral M.2/PCIe, es probable que estas instrucciones no funcionen para usted.

Consola en su host Proxmox

Escriba lsusby debería ver algo como esto: anote el bus USB en el que está presente el coral.

imagen

Escriba lo siguiente en la consola de Proxmox

cd /etc/pve/lxc
ls

Ahora debería estar en la carpeta lxc y ver una lista de archivos CT conf. Necesitamos editar el archivo CT conf que corresponde al CT que hicimos arriba, puede encontrarlo en Proxmox

imagen
imagen

Entonces necesito escribir nano 114.confpara editar el archivo de configuración del CT en el que estoy trabajando. EL TUYO PUEDE DIFERIR

Necesitamos agregar lo siguiente al archivo conf: REEMPLAZAR EL NÚMERO DE AUTOBÚS EN LA ÚLTIMA LÍNEA POR EL SUYO

usb0: host=1a6e:089a,usb3=1
usb1: host=18d1:9302,usb3=1
lxc.cgroup2.devices.allow: c 189:* rwm
lxc.mount.entry: /dev/bus/usb/004 dev/bus/usb/004 none bind,optional,create=dir
imagen

Mi comprensión de los comandos anteriores:

usb0: host=1a6e:089a,usb3=1
usb1: host=18d1:9302,usb3=1 – Estos son los ID de dispositivos (creo) que puede tener el coral y creo que bloquean el dispositivo en el LXC

lxc.cgroup2.devices.allow: c 189:* rwm: esto permite que la ID del dispositivo USB pase a LXC

lxc.mount.entry: /dev/bus/usb/004 dev/bus/usb/004 none bind,optional,create=dir – Esto monta el dispositivo en el LXC en la ruta dev/bus/usb/004

Ctrl-xpara guardar el archivo

Eso es todo, si no necesitas iGPU o recursos compartidos de red, puedes continuar con el paso de instalación de Frigate.

3) Pasando por la iGPU

Esta es la parte que me atrapó durante días y todavía no estoy seguro de que la forma que sugiero aquí sea 100% correcta.

Intenté hacer idmaps y mapear el video y renderizar el grupo a los grupos en el LXC pero simplemente NO funcionó, luego encontré una publicación en reddit mientras buscaba usar udev (que funcionó en un CT privado pero no en un CT privado) que solucionó el problema.

Así que le sugiero que lea lo siguiente y comprenda lo que sucede antes de seguir los pasos. Ojalá alguien pueda decirme si el comando chmod a continuación está bien. Creo que permite a todos usar el dispositivo render128, lo que debería representar un riesgo menor que usar un CT privado.

La guía:

Consola en su host Proxmox

escriba lspci -nnv | grep VGAy confirme que se detecte su GPU

Escriba ls -l /dev/driy debería obtener algo como lo siguiente

Aquí puede ver que el dispositivo ‘card0’ tiene un número mayor de 226 y un número menor de 0.
El renderD128 tiene un número mayor de 226 y un número menor de 128.

Necesitamos decirle al contenedor que está permitido usar estos dispositivos.

Escriba lo siguiente en la consola de Proxmox

cd /etc/pve/lxc
ls

Ahora debería estar en la carpeta lxc y ver una lista de archivos CT conf. Necesitamos editar el archivo CT conf que corresponde al CT que hicimos arriba, puede encontrarlo en Proxmox

imagen
imagen

Entonces necesito escribir nano 114.confpara editar el archivo de configuración del CT en el que estoy trabajando. EL TUYO PUEDE DIFERIR

Necesitamos agregar lo siguiente al archivo de configuración: EL SUYO PODRÍA SER DIFERENTE A ESTO DEPENDIENDO DE LA ls -l /dev/driSALIDA
lxc.cgroup2.devices.allow: c 226:0 rwm
lxc.cgroup2.devices.allow: c 226:128 rwm
lxc.mount .entry: /dev/dri/renderD128 dev/dri/renderD128 ninguno enlazado,opcional,create=archivo 0, 0
lxc.mount.entry: /dev/dri dev/dri ninguno enlazado,opcional,create=dir

Mi comprensión de lo anterior:

lxc.cgroup2.devices.allow: c 226:0 rwm
lxc.cgroup2.devices.allow: c 226:128 rwm – Estos dos son los dispositivos que queremos que se le permita usar al LXC

lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 ninguno enlazado,opcional,create=archivo 0, 0
lxc.mount.entry: /dev/dri dev/dri ninguno enlazado,opcional,create=dir – Estos dos son los puntos de montaje dentro del contenedor LXC en el que se montarán los dispositivos.

Ctrl-xpara guardar el archivo

Ahora, en este punto el LXC debería tener el dispositivo montado pero no tendrá los permisos correctos. Hay muchas guías que le dirán que necesita acceder lxc.idmap:a su archivo de configuración. Intenté y intenté y traté de que esto funcionara de esa manera, pero siempre fallé. El dispositivo mostraría el grupo correcto (renderizado) y vainfo mostraría el dispositivo, pero nada dentro del CT podría usarlo. Sí, me aseguré de que los mapas fueran correctos y sí, agregué las líneas requeridas al /etc/subgidarchivo. Simplemente no funcionó. Me ENCANTARÍA que esto funcione y si alguien tiene una sugerencia, hágamelo saber.

De todos modos, esta guía utilizará el siguiente comando para obtener acceso a la GPU dentro del CT

En el tipo de consola host Proxmoxchmod 666 /dev/dri/renderD128

Esto dará acceso rw al dispositivo renderD128 para TODOS los usuarios.

Ahora bien, no he probado la siguiente parte porque mi host aún no se ha reiniciado, pero la publicación de Reddit anterior explica que el chmod no se mantendrá durante los reinicios y que se necesita lo siguiente para restablecerlo después de un reinicio.

nano /etc/udev/rules.d/99-intel-chmod666.rules

y ponle lo siguiente

KERNEL=="renderD128", MODE="0666"

Ahora también tengo instalados los controladores I965 en mi host proxmox. No puedo confirmar si esto es 100% necesario, así que les pediría a las personas que omitan el siguiente comando y vean si funciona; si no, pueden regresar e instalar

En la consola host de Proxmox,
apt install vainfo
esto debería instalar los controladores necesarios y, una vez instalados, la ejecución vainfodebería devolver algo como esto

Eso es todo, en este punto la iGPU debería funcionar en el CT. Si no necesita recursos compartidos de red, puede continuar instalando Frigate.

2 comentarios sobre “Proxmox-Frigate : Coral usb – igpu

  1. Anónimo Contestar

    Son las once ,estoy en la cama y se supone que ahora tengo que cerrar los ojos y dormir. Pero y como?… Cómo freno la reacción de mi cuerpo al leer lo que has escrito? La respiración se me acelera solo con imaginar. Mi corazón late dónde no debe.Estoy súper excitada . Dices que eres mala persona…y yo que soy?. Siento que esto no está bien y sin embargo me gusta me gusta me gusta…

  2. Alfredo Autor del artículoContestar

    Son las once ,estoy en la cama y se supone que ahora tengo que cerrar los ojos y dormir. Pero y como?… Cómo freno la reacción de mi cuerpo al leer lo que has escrito? La respiración se me acelera solo con imaginar. Mi corazón late dónde no debe.Estoy súper excitada . Dices que eres mala persona…y yo que soy?. Siento que esto no está bien y sin embargo me gusta me gusta me gusta…

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *