#!/bin/bash
# ПО «Ловчий» 1.0 · самопроверка установки: нет ли компонентов NVIDIA, чем считает сеть, работает ли наведение
echo "== Видеокарты (lspci):"; if command -v lspci >/dev/null 2>&1; then lspci | grep -Ei "vga|3d|display" || echo "видеоадаптеров на шине PCI нет"; echo "устройств NVIDIA (lspci -d 10de:): $(lspci -d 10de: | wc -l)"; else echo "lspci не установлен (пакет pciutils)"; fi
echo "== Пакеты NVIDIA/CUDA/TensorRT в системе (dpkg):"; R=$(dpkg -l 2>/dev/null | grep -Ei "nvidia|cuda|tensorrt" | awk '{print $2, $3}'); [ -z "$R" ] && echo "нет" || echo "$R"
echo "== Зависимости пакета lovchiy-server:"; dpkg-query -W -f='${Depends}\n' lovchiy-server 2>/dev/null
echo "== Библиотеки программы, связанные с NVIDIA (ldd):"
R=$(ldd /opt/lovchiy/bin/lovchiy /opt/lovchiy/bin/lovchiy-ptz-sim /opt/lovchiy/bin/lovchiy-ptz-check /opt/lovchiy/lib/*.so* 2>/dev/null | grep -Ei "libcuda|libcudart|libcublas|libcudnn|libnvinfer|libnvonnxparser|libnvcuvid|libnvidia" | sort -u)
[ -z "$R" ] && echo "нет" || echo "$R"
echo "== Плагин GPU:"; [ -f /opt/lovchiy/lib/gpu/liblovchiy-gpu.so ] && echo "установлен (lovchiy-gpu-plugin)" || echo "не установлен"
echo "== Пробный запуск в режиме имитации (30 с, без окна):"
V=${1:-/opt/lovchiy/share/test/wide_a_h264.mp4}; V="$(readlink -f "$V")"
T=$(mktemp -d /tmp/lovchiy-check.XXXXXX)
LOVCHIY_WORK=$T LOVCHIY_STAT_PERIOD=10 timeout -s INT 30 /opt/lovchiy/bin/lovchiy-run --server --sim="$V" --log=$T/run.log --ptz-log=$T/ptz.csv >/dev/null 2>&1
grep -a "backend:\|НАВЕДЕНИЕ\|цель захвачена\|СТАТ" $T/run.log | head -12
echo "команд платформе (протокол $T/ptz.csv): $(grep -cE ';(ContinuousMove|Stop|GotoPreset|GotoHomePosition|RelativeMove);' $T/ptz.csv 2>/dev/null)"
