Files
encoderPro/check-gpu.sh
2026-01-24 17:43:28 -05:00

58 lines
1.6 KiB
Bash

#!/bin/bash
# GPU Detection Diagnostic Script
# Run this inside the Docker container to check GPU availability
echo "========================================"
echo "GPU Detection Diagnostic"
echo "========================================"
echo ""
echo "1. Checking /dev/dri devices..."
ls -lah /dev/dri/ 2>&1 || echo "ERROR: /dev/dri not found!"
echo ""
echo "2. Checking FFmpeg version..."
ffmpeg -version | head -5
echo ""
echo "3. Checking FFmpeg encoders..."
ffmpeg -hide_banner -encoders 2>&1 | grep -i "qsv\|nvenc\|vaapi\|x265\|x264"
echo ""
echo "4. Checking for Intel QSV specifically..."
if ffmpeg -hide_banner -encoders 2>&1 | grep -qi "hevc_qsv"; then
echo "[OK] Intel QSV H.265 (hevc_qsv) is available"
else
echo "[FAIL] Intel QSV H.265 (hevc_qsv) NOT found"
fi
if ffmpeg -hide_banner -encoders 2>&1 | grep -qi "h264_qsv"; then
echo "[OK] Intel QSV H.264 (h264_qsv) is available"
else
echo "[FAIL] Intel QSV H.264 (h264_qsv) NOT found"
fi
echo ""
echo "5. Checking vainfo (Intel GPU information)..."
vainfo 2>&1 | head -20
echo ""
echo "6. Testing QSV encoding (if available)..."
if ffmpeg -hide_banner -encoders 2>&1 | grep -qi "hevc_qsv"; then
echo "Running test encode with QSV..."
ffmpeg -f lavfi -i testsrc=duration=1:size=1280x720:rate=30 \
-c:v hevc_qsv -preset medium -global_quality 23 \
-f null - 2>&1 | tail -10
else
echo "Skipping QSV test (encoder not available)"
fi
echo ""
echo "7. Checking hardware acceleration..."
ffmpeg -hide_banner -hwaccels 2>&1
echo ""
echo "========================================"
echo "Diagnostic Complete"
echo "========================================"