#!/usr/bin/env bash # Usage: ./calc_resolution.sh # Example: ./calc_resolution.sh 16:9 1080 if [ $# -ne 2 ]; then echo "Usage: $0 " exit 1 fi ASPECT="$1" HEIGHT="$2" # Extract numerator (W) and denominator (H) from the aspect ratio IFS=':' read -r W_RATIO H_RATIO <<< "$ASPECT" # Validate numeric input if ! [[ "$W_RATIO" =~ ^[0-9]+$ && "$H_RATIO" =~ ^[0-9]+$ && "$HEIGHT" =~ ^[0-9]+$ ]]; then echo "Error: aspect ratio and height must be numeric." exit 1 fi # Calculate width = (W_RATIO / H_RATIO) * HEIGHT WIDTH=$(awk -v wr="$W_RATIO" -v hr="$H_RATIO" -v h="$HEIGHT" 'BEGIN { printf "%d", (wr/hr)*h }') echo "Resolution: ${WIDTH}x${HEIGHT}" waydroid session start & WAYDROID_PID=$! # Wait for session to be ready while ! waydroid status | grep -E "^Session:.*RUNNING"; do echo "Waiting for waydroid" sleep 1 done echo "Sleeping 4 seconds for waydroid session to start" sleep 4 # waydroid session start --background echo "Setting waydroid width to $WIDTH" waydroid -w prop set persist.waydroid.width $WIDTH echo "Setting waydroid height to $HEIGHT" waydroid prop set persist.waydroid.height $HEIGHT waydroid session stop # Forward container → host → internet sudo iptables -C FORWARD -i waydroid0 -j ACCEPT 2>/dev/null || \ sudo iptables -A FORWARD -i waydroid0 -j ACCEPT # Forward responses from internet → host → container sudo iptables -C FORWARD -o waydroid0 -m state --state RELATED,ESTABLISHED -j ACCEPT 2>/dev/null || \ sudo iptables -A FORWARD -o waydroid0 -m state --state RELATED,ESTABLISHED -j ACCEPT # sudo waydroid container start waydroid session start & sleep 2 waydroid show-full-ui & sleep 16