VM="/sdcard/QEMU/lvm"
export DISPLAY=:1
export SDL_VIDEODRIVER=x11
export SDL_VIDEO_FORCE_EGL=1
export EGL_PLATFORM=x11
unset WAYLAND_DISPLAY
# Запустить X11, если он ещё не работает
if [ ! -S "$TMPDIR/.X11-unix/X1" ]; then
nohup termux-x11 :1 \
> "$HOME/termux-x11-qemu.log" 2>&1 &
sleep 3
fi
# Проверить экспериментальные файлы
for file in \
"$VM/edk2-aarch64-code.fd" \
"$VM/edk2-vars-debian13-x11.fd" \
"$VM/debian13-virgl-x11.qcow2"
do
if [ ! -s "$file" ]; then
echo "Отсутствует файл: $file"
exit 1
fi
done
# Запустить Debian 13
exec qemu-system-aarch64 \
-machine virt,accel=kvm,gic-version=3 \
-cpu host \
-smp 4 \
-m 4096 \
-device virtio-gpu-gl-pci \
-display sdl,gl=es \
-vnc 127.0.0.1:1 \
-device qemu-xhci \
-device usb-tablet \
-device usb-kbd \
-drive if=pflash,format=raw,readonly=on,file="$VM/edk2-aarch64-code.fd" \
-drive if=pflash,format=raw,file="$VM/edk2-vars-debian13-x11.fd" \
-drive if=none,format=qcow2,id=os,file="$VM/debian13-virgl-x11.qcow2" \
-device virtio-blk-pci,drive=os,bootindex=1 \
-netdev user,id=net0,hostfwd=tcp:127.0.0.1:2223-:22 \
-device virtio-net-pci,netdev=net0 \
-serial stdio \
-D "$VM/qemu-debug-debian13-x11-vnc.log" \
-d guest_errors,unimp,cpu_reset \
-monitor tcp:127.0.0.1:4446,server,nowait \
-qmp tcp:127.0.0.1:4447,server=on,wait=off \
-no-reboot