meta data for this page
  •  

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
vm:proxmox:lxc:google_coral [2024/12/08 11:53] niziakvm:proxmox:lxc:google_coral [2026/03/30 09:07] (current) niziak
Line 55: Line 55:
 lxc.cgroup2.devices.allow: c 226:128 rwm # iGPU lxc.cgroup2.devices.allow: c 226:128 rwm # iGPU
 lxc.cgroup2.devices.allow: c 189:* rwm # USB Coral TPU lxc.cgroup2.devices.allow: c 189:* rwm # USB Coral TPU
 +lxc.cgroup2.devices.allow: c 510:* rwm # AMD KFD
 lxc.mount.entry: /dev/bus/usb/002 dev/bus/usb/002 none bind,optional,create=dir,mode=664 # USB Coral TPU lxc.mount.entry: /dev/bus/usb/002 dev/bus/usb/002 none bind,optional,create=dir,mode=664 # USB Coral TPU
 lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file 0,0 # iGPU (u=root g=render) lxc.mount.entry: /dev/dri/renderD128 dev/dri/renderD128 none bind,optional,create=file 0,0 # iGPU (u=root g=render)
 +lxc.mount.entry: /dev/kfd dev/kfd none bind,optional,create=file 0,0 # AMD kernel fusion driver (u=root g=render)
 </file> </file>
  
Line 77: Line 79:
 <file ini /etc/udev/rules.d/99-igpu.rules> <file ini /etc/udev/rules.d/99-igpu.rules>
 KERNEL=="renderD128", MODE="0664", OWNER="100000", GROUP="111000" KERNEL=="renderD128", MODE="0664", OWNER="100000", GROUP="111000"
 +KERNEL=="kfd", MODE="0664", OWNER="100000", GROUP="111000"
 </file> </file>
  
Line 86: Line 89:
 ===== ERROR: Unable to poll intel GPU stats: Failed to initialize PMU! (Permission denied) ===== ===== ERROR: Unable to poll intel GPU stats: Failed to initialize PMU! (Permission denied) =====
  
-Rendering on ''/dev/dri/renderD128'' works but container lacks the necessary permissions to access the performance monitoring unit.+This error is "informational"
 +Rendering on ''/dev/dri/renderD128'' **works** but container lacks the necessary permissions to access the performance monitoring unit.  
 +Frigate wants this to show GPU usage statistics.
  
 Reproduce in LXC: Reproduce in LXC:
Line 110: Line 115:
 sysctl --write kernel.perf_event_paranoid=NEWVALUE sysctl --write kernel.perf_event_paranoid=NEWVALUE
 </code> </code>
 +
 +I suppose this is not possible to use unpriv LXC and enable ''CAP_SYS_ADMIN'' (multiple trials with ''lxc.cap.drop'' and ''lxc.cap.keep'').
 +It works when <code bash>sysctl --write kernel.perf_event_paranoid=0</code> which is still safer (there were kernel vulnerabilities) than giving container ''CAP_SYS_ADMIN''.
 +
 +When Frigate is running and performance events are accessible in LXC, command <code bash>intel_gpu_top</code> show nicely formatted text statistics:
 +
 +{{:vm:proxmox:lxc:pasted:20241208-144931.png}}
  
 ===== references ===== ===== references =====