VM="/sdcard/QEMU/lvm"
# Убираем переменные предыдущего SDL/X11-эксперимента.
unset DISPLAY WAYLAND_DISPLAY
unset SDL_VIDEODRIVER SDL_VIDEO_FORCE_EGL
unset EGL_PLATFORM
unset MESA_LOADER_DRIVER_OVERRIDE GALLIUM_DRIVER
# Ищем render node Samsung SGPU.
GPU_NODE=""
for node in /dev/dri/renderD*; do
[ -e "$node" ] || continue
driver="$(readlink -f \
"/sys/class/drm/${node##*/}/device/driver" \
2>/dev/null || true)"
if [[ "$driver" == */sgpu ]]; then
GPU_NODE="$node"
break
fi
done
if [ -z "$GPU_NODE" ]; then
echo "Не удалось определить SGPU render node."
ls -l /dev/dri/
else
echo "Используем GPU: $GPU_NODE"
qemu-system-aarch64 \
-machine virt,accel=kvm,gic-version=3 \
-cpu host \
-smp 4 \
-m 4096 \
-device virtio-gpu-gl-pci \
-display egl-headless,rendernode="$GPU_NODE" \
-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-vnc3d.log" \
-d guest_errors,unimp,cpu_reset \
-no-reboot
fi