Performance: Android 14 emulator extremely slow and laggy on Proxmox-hosted VM with KVM
Operating System
Ubuntu 24.04.4
Docker Image
budtmo/docker-android:emulator_14.0
Expected behaviour
The Android 14 emulator should run smoothly and responsively with:
- Smooth UI interactions (tap, swipe, scroll without lag)
- Quick app installation via ADB (30 seconds to 2 minutes)
- Responsive emulator screen in noVNC browser
- Normal performance comparable to running Android on a modern device
Actual behaviour
The emulator runs extremely slowly with:
- Very laggy UI — noticeable delay between tap and response
- Extremely slow app installation — takes 5-10+ minutes for a bit large APK ie: 400-1.1gb apk.
- Sluggish overall responsiveness — feels like using a 2010-era device
- High CPU/resource usage despite KVM acceleration enabled
- noVNC browser view frequently freezes or lags behind actual emulator state
Logs
2026-08-13 11:18:03,545 INFO supervisord started with pid 9 2026-08-13 11:18:03,569 INFO supervisord started with pid 8 2026-08-13 11:18:03,572 INFO supervisord started with pid 7 2026-08-13 11:18:04,547 INFO spawned: 'appium' with pid 10 2026-08-13 11:18:04,548 INFO spawned: 'device' with pid 11 2026-08-13 11:18:04,548 INFO spawned: 'log_web_shared' with pid 12 2026-08-13 11:18:04,571 INFO spawned: 'android_port_forward' with pid 13 2026-08-13 11:18:04,573 INFO spawned: 'd_screen' with pid 14 2026-08-13 11:18:04,575 INFO spawned: 'd_wm' with pid 15 2026-08-13 11:18:04,576 INFO spawned: 'vnc_server' with pid 16 2026-08-13 11:18:04,580 INFO spawned: 'vnc_web' with pid 17 2026-08-13 11:18:04,664 WARN exited: log_web_shared (exit status 0; not expected) 2026-08-13 11:18:05,709 INFO success: appium entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) 2026-08-13 11:18:05,709 INFO success: device entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) 2026-08-13 11:18:05,710 INFO spawned: 'log_web_shared' with pid 53 2026-08-13 11:18:05,710 INFO exited: appium (exit status 0; expected) 2026-08-13 11:18:05,752 INFO success: android_port_forward entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) 2026-08-13 11:18:05,791 WARN exited: log_web_shared (exit status 0; not expected) 2026-08-13 11:18:05,803 INFO success: d_screen entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) 2026-08-13 11:18:05,803 INFO success: d_wm entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) 2026-08-13 11:18:05,803 INFO success: vnc_server entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) 2026-08-13 11:18:05,803 INFO success: vnc_web entered RUNNING state, process has stayed up for > than 1 seconds (startsecs) 2026-08-13 11:18:07,792 INFO spawned: 'log_web_shared' with pid 223 2026-08-13 11:18:07,893 WARN exited: log_web_shared (exit status 0; not expected) 2026-08-13 11:18:10,902 INFO spawned: 'log_web_shared' with pid 291 2026-08-13 11:18:10,990 WARN exited: log_web_shared (exit status 0; not expected) 2026-08-13 11:18:10,996 INFO gave up: log_web_shared entered FATAL state, too many start retries too quickly
Source: budtmo/docker-android