| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 |
- #!/bin/bash
- # GPU Setup Script for YouTube Predownloader
- # This script sets up Intel GPU hardware acceleration
- echo "🚀 Setting up Intel GPU hardware acceleration..."
- # Check if user is in video and render groups
- if ! groups "$USER" | grep -q "\bvideo\b"; then
- echo "Adding $USER to video group..."
- sudo usermod -a -G video "$USER"
- NEED_RELOGIN=true
- fi
- if ! groups "$USER" | grep -q "\brender\b"; then
- echo "Adding $USER to render group..."
- sudo usermod -a -G render "$USER"
- NEED_RELOGIN=true
- fi
- # Fix GPU device permissions
- echo "Setting GPU device permissions..."
- sudo chmod 666 /dev/dri/renderD128
- sudo chmod 666 /dev/dri/card1
- # Create udev rule for persistent permissions
- echo "Creating udev rule for persistent GPU permissions..."
- sudo tee /etc/udev/rules.d/99-gpu-permissions.rules > /dev/null << 'EOF'
- # Intel GPU permissions for hardware acceleration
- SUBSYSTEM=="drm", KERNEL=="renderD*", GROUP="render", MODE="0666"
- SUBSYSTEM=="drm", KERNEL=="card*", GROUP="video", MODE="0666"
- EOF
- # Reload udev rules
- sudo udevadm control --reload-rules
- sudo udevadm trigger
- # Test hardware acceleration
- echo "Testing hardware acceleration..."
- if vainfo --display drm --device /dev/dri/renderD128 > /dev/null 2>&1; then
- echo "✅ Intel VAAPI hardware acceleration is working!"
- else
- echo "❌ Hardware acceleration test failed"
- fi
- # Test FFmpeg VAAPI
- echo "Testing FFmpeg VAAPI support..."
- if ffmpeg -hide_banner -f lavfi -i testsrc=duration=1:size=320x240:rate=1 \
- -vaapi_device /dev/dri/renderD128 -vf 'format=nv12,hwupload' \
- -c:v h264_vaapi -frames:v 1 -f null - > /dev/null 2>&1; then
- echo "✅ FFmpeg VAAPI H.264 encoding is working!"
- else
- echo "❌ FFmpeg VAAPI test failed"
- fi
- if [[ "$NEED_RELOGIN" == "true" ]]; then
- echo ""
- echo "⚠️ Group membership changes require a logout/login to take effect."
- echo " Either logout and login again, or restart your session."
- fi
- echo ""
- echo "🎬 GPU acceleration setup complete!"
- echo " Your OptiPlex with Intel HD Graphics 630 is ready for fast video conversions!"
|