#!/bin/bash # Android Emulator Launch Options Helper # Lists all available launch scripts and their purposes # Author: Matthew Raymer echo "🚀 Android Emulator Launch Options" echo "==================================" echo "" echo "📋 Available Launch Scripts:" echo "" echo "1. 🎮 GPU Accelerated (Recommended)" echo " ./launch-emulator-gpu.sh" echo " - Full NVIDIA GPU acceleration with Vulkan" echo " - Best performance for development" echo " - Use when GPU binding works correctly" echo "" echo "2. 🔧 Pure OpenGL Mode" echo " ./launch-emulator-opengl.sh" echo " - Pure OpenGL rendering (no Vulkan)" echo " - Use when Vulkan+OpenGL mixed mode binds to Intel iGPU" echo " - Good fallback for GPU binding issues" echo "" echo "3. ⚡ ANGLE Mode" echo " ./launch-emulator-angle.sh" echo " - ANGLE (Almost Native Graphics Layer Engine)" echo " - Better NVIDIA compatibility on Linux" echo " - More stable rendering pipeline" echo "" echo "4. 🛡️ Mesa Fallback" echo " ./launch-emulator-mesa.sh" echo " - Software rendering as last resort" echo " - Use for stability testing" echo " - More CPU intensive but very stable" echo "" echo "5. 🌐 Network Fix Mode" echo " ./launch-emulator-network-fix.sh" echo " - Fixes DNS/network connectivity issues" echo " - Resolves Play Services ANRs and timeouts" echo " - Clean state with explicit DNS servers" echo "" echo "6. 🔍 Network Verification" echo " ./verify-emulator-network.sh" echo " - Diagnoses network connectivity problems" echo " - Tests DNS resolution and internet access" echo " - Identifies root cause of ANRs" echo "" echo "7. ⚡ Maximum Performance Mode" echo " ./launch-emulator-max-performance.sh" echo " - All performance optimizations enabled" echo " - 8 CPU cores, 6GB RAM allocated" echo " - Disabled unnecessary features" echo " - Use only on high-end systems (16GB+ RAM)" echo "" echo "🔍 Troubleshooting:" echo "" echo "If experiencing ANRs and Play Services failures:" echo "1. Run network verification: ./verify-emulator-network.sh" echo "2. Try network fix mode: ./launch-emulator-network-fix.sh" echo "3. Clear Play Services cache if needed" echo "4. Check VPN/firewall settings on host" echo "" echo "If emulator feels sluggish or GPU utilization is low:" echo "1. Check emulator banner for 'OpenGL Vendor=Google (NVIDIA)'" echo "2. Monitor GPU usage: nvidia-smi dmon -s u" echo "3. Try different GPU modes in order: GPU → OpenGL → ANGLE → Mesa" echo "4. See EMULATOR_TROUBLESHOOTING.md for detailed solutions" echo "" echo "📊 Performance Expectations:" echo "" echo "Hardware Acceleration (NVIDIA):" echo " - GPU Utilization: 20-60%" echo " - UI Responsiveness: Smooth, 60fps" echo " - Startup Time: 30-60 seconds" echo "" echo "Software Rendering (Mesa):" echo " - CPU Usage: 50-80%" echo " - UI Responsiveness: Slower, 30fps" echo " - Startup Time: 60-120 seconds" echo "" echo "📚 Documentation:" echo " - SETUP_GUIDE.md - Complete setup instructions" echo " - EMULATOR_TROUBLESHOOTING.md - GPU binding solutions" echo " - README.md - Project overview and quick start" echo "" echo "🎯 Quick Start:" echo " 1. If ANRs/Play Services issues: ./verify-emulator-network.sh" echo " 2. If network issues: ./launch-emulator-network-fix.sh" echo " 3. For GPU issues: ./launch-emulator-gpu.sh" echo " 4. If GPU binding issues: ./launch-emulator-opengl.sh" echo " 5. For maximum performance: ./launch-emulator-max-performance.sh" echo " 6. Last resort: ./launch-emulator-mesa.sh"