85 lines
2.3 KiB
Plaintext
85 lines
2.3 KiB
Plaintext
_detect_cpu() {
|
|
# Detect CPU capabilities and symlink appropriate binary
|
|
if grep -q avx512f /proc/cpuinfo 2>/dev/null; then
|
|
ln -sf /usr/lib/voxtype/voxtype-avx512 /usr/bin/voxtype
|
|
echo "avx512"
|
|
else
|
|
ln -sf /usr/lib/voxtype/voxtype-avx2 /usr/bin/voxtype
|
|
echo "avx2"
|
|
fi
|
|
}
|
|
|
|
_detect_gpu() {
|
|
# Detect GPU for Vulkan acceleration recommendation
|
|
GPU_DETECTED=""
|
|
if [ -d /dev/dri ]; then
|
|
if ls /dev/dri/renderD* >/dev/null 2>&1; then
|
|
if command -v lspci >/dev/null 2>&1; then
|
|
GPU_INFO=$(lspci 2>/dev/null | grep -i 'vga\|3d\|display' | head -1 | sed 's/.*: //')
|
|
if [ -n "$GPU_INFO" ]; then
|
|
GPU_DETECTED="$GPU_INFO"
|
|
fi
|
|
fi
|
|
if [ -z "$GPU_DETECTED" ]; then
|
|
GPU_DETECTED="GPU detected (install pciutils for details)"
|
|
fi
|
|
fi
|
|
fi
|
|
|
|
if [ -n "$GPU_DETECTED" ]; then
|
|
echo ""
|
|
echo " GPU detected: $GPU_DETECTED"
|
|
echo ""
|
|
echo " For GPU acceleration (faster inference), run:"
|
|
echo " sudo voxtype setup gpu --enable"
|
|
echo ""
|
|
echo " Requires: vulkan-icd-loader package"
|
|
fi
|
|
}
|
|
|
|
post_install() {
|
|
echo ""
|
|
echo "==> Voxtype Post-installation Steps:"
|
|
echo ""
|
|
|
|
CPU_VARIANT=$(_detect_cpu)
|
|
echo " CPU backend: $CPU_VARIANT (using voxtype-$CPU_VARIANT)"
|
|
|
|
_detect_gpu
|
|
|
|
echo ""
|
|
echo " 1. Add your user to the 'input' group:"
|
|
echo " sudo usermod -aG input \$USER"
|
|
echo ""
|
|
echo " 2. Log out and back in for group changes to take effect"
|
|
echo ""
|
|
echo " 3. Download a whisper model:"
|
|
echo " voxtype setup --download"
|
|
echo ""
|
|
echo " 4. Start voxtype:"
|
|
echo " systemctl --user enable --now voxtype"
|
|
echo " Or run manually: voxtype"
|
|
echo ""
|
|
}
|
|
|
|
post_upgrade() {
|
|
echo ""
|
|
echo "==> Voxtype upgraded"
|
|
echo ""
|
|
|
|
CPU_VARIANT=$(_detect_cpu)
|
|
echo " CPU backend: $CPU_VARIANT (using voxtype-$CPU_VARIANT)"
|
|
|
|
_detect_gpu
|
|
|
|
echo ""
|
|
echo " New in 0.4.1-8:"
|
|
echo " - Clean binaries: no AVX-512/GFNI instruction contamination"
|
|
echo " - Fixes SIGILL crashes on Zen 3 and older CPUs"
|
|
echo ""
|
|
}
|
|
|
|
post_remove() {
|
|
rm -f /usr/bin/voxtype
|
|
}
|