# 1. 殺掉所有可能干擾的背景進程與 ADB
echo "🧹 1. 清理背景進程與 ADB..."
sudo pkill -9 x11vnc
sudo pkill -9 scrcpy
sudo pkill -9 openbox
sudo pkill -9 Xvfb

# 2. 停止並刪除舊的 3 台容器
echo "🗑️ 2. 停止並刪除 3 台舊容器..."
docker stop redroid_1 redroid_2  2>/dev/null
docker rm redroid_1 redroid_2  2>/dev/null

# 3. 徹底清空共用記憶體 (解決 offline 卡死的關鍵)
echo "🧽 3. 清理獨立記憶體暫存區..."
sudo rm -rf /dev/shm/redroid_1 /dev/shm/redroid_2
mkdir -p /dev/shm/redroid_1 /dev/shm/redroid_2

# 4. 啟動機器 1 號 (Port: 5555)
echo "🚀 4. 啟動機器 1 號..."
docker run -itd --privileged --name redroid_1 -p 5555:5555 \
    --dns 1.1.1.1 --dns 8.8.8.8 --shm-size=2g --memory=6g --memory-swap=6g --cpus=1.8 \
    --log-opt max-size=50m --log-opt max-file=3 \
    -v /root/redroid_data_1:/data \
    redroid/redroid:12.0.0_64only-latest \
    androidboot.redroid_width=480 androidboot.redroid_height=1280 androidboot.redroid_dpi=72 \
    androidboot.redroid_fps=12 androidboot.redroid_gpu_mode=guest androidboot.use_memfd=true \
    persist.sys.timezone=Asia/Hong_Kong persist.sys.locale=zh-HK debug.sf.nobootanimation=1 \
    ro.sys.fw.bg_apps_limit=10 dalvik.vm.heapstartsize=256m dalvik.vm.heapgrowthlimit=2048m \
    dalvik.vm.heapsize=4096m dalvik.vm.dex2oat-filter=speed dalvik.vm.image-dex2oat-filter=speed \
    dalvik.vm.dex2oat-threads=1
    
x11vnc -display :1 -rfbport 5901 -forever -shared -bg -passwd 123456 -ncache 10 -listen 0.0.0.0
iptables -I INPUT -p tcp --dport 5901 -j ACCEPT
sleep 2    
    echo "⚡ 7. 注入效能 BUFF (深度優化 2 台機器的系統資源與防干擾)..."
adb start-server
sleep 2
# 針對機器 1, 2, 3 (對應 Port 5555, 5556) 進行批量優化
for port in 5555 ; do
    DEVICE="127.0.0.1:$port"
    echo "🔗 正在連線並優化 $DEVICE ..."
    
    # 連線設備並稍微等待確保穩定
    adb connect $DEVICE
    sleep 1 

    # 1. 關閉所有 UI 渲染特效 (極速渲染，防 U2 抓到殘影)
    adb -s $DEVICE shell "settings put global window_animation_scale 0"
    adb -s $DEVICE shell "settings put global transition_animation_scale 0"
    adb -s $DEVICE shell "settings put global animator_duration_scale 0"

    # 2. 關閉所有不必要的系統提示音與觸控音效 (減少 AudioServer 佔用 CPU)
    adb -s $DEVICE shell "settings put system sound_effects_enabled 0"

    # 3. 關閉低電量警告與沉浸式模式提示 (防止系統彈窗干擾 U2 點擊)
    adb -s $DEVICE shell "settings put global low_battery_sound_timeout 0"
    adb -s $DEVICE shell "settings put secure immersive_mode_confirmations 0"

    # 4. 強制關閉藍牙與 Wi-Fi 的後台掃描 (Redroid 虛擬機不需要，極大節省 CPU)
    adb -s $DEVICE shell "settings put global ble_scan_always_enabled 0"
    adb -s $DEVICE shell "settings put global wifi_scan_always_enabled 0"
    
    echo "✅ $DEVICE 效能 BUFF 注入完成！"
done

echo "🎉 所有機器優化完畢！"

# 1. 建立一個 2 倍寬的虛擬螢幕
nohup Xvfb :1 -screen 0 960x1280x24 -ac +extension GLX +render -noreset > /dev/null 2>&1 &
sleep 2

# 2. 指定 Display 並啟動視窗管理員
export DISPLAY=:1
nohup openbox > /dev/null 2>&1 &
sleep 1

export LIBGL_ALWAYS_SOFTWARE=1

# 3. 啟動 1 號機 (5555) -> 靠左 (X座標 0)
nohup scrcpy -s 127.0.0.1:5555 \
    --bit-rate 2M --max-fps 15 \
    --window-x 0 --window-y 0 \
    --window-width 480 --window-height 1280 \
    --window-borderless > /dev/null 2>&1 &


sleep 2

# 6. 啟動唯一的 VNC 伺服器 (5901)
nohup x11vnc -display :1 -nopw -listen 0.0.0.0 -rfbport 5901 -forever -shared > /dev/null 2>&1 &
