Emulator won’t start
Section titled “Emulator won’t start”“Hardware acceleration unavailable”
Section titled ““Hardware acceleration unavailable””Emu falls back to CPU-based emulation when hardware acceleration is not available. This is significantly slower.
- Linux: Verify KVM is enabled:
ls /dev/kvm. If missing, enable virtualization in your BIOS/UEFI settings. - Windows: Enable Hyper-V or WHPX in Windows Features.
- macOS: Hardware acceleration is available by default on Apple Silicon.
Emulator exits immediately
Section titled “Emulator exits immediately”If an emulator crashes on startup, try cold booting it — this discards any saved state that may be corrupted. In the device list, use the emulator’s context menu to select Cold Boot.
If that doesn’t help, check the emulator log. Emu writes emulator output to a log file that you can view from the device context menu.
Android SDK setup appears when SDK is already installed
Section titled “Android SDK setup appears when SDK is already installed”On macOS, Emu may show the SDK setup screen on launch even though you already have the Android SDK installed. This is expected — macOS does not pass environment variables like ANDROID_HOME from your shell profile (~/.zshrc, ~/.bashrc) to GUI apps launched from Finder, Spotlight, or the Dock.
When the setup screen appears, select your existing SDK directory (typically ~/Library/Android/sdk). Emu saves this location and won’t ask again.
Mirror not connecting
Section titled “Mirror not connecting”All mirror backends failed
Section titled “All mirror backends failed”Emu tries multiple streaming backends in order and falls back through each one. If all fail:
- Verify the device is online in the device list.
- For emulators, verify gRPC is enabled (it is by default in modern Android Emulator versions).
- Try switching the mirror backend manually in Settings > Mirroring.
- Restart the device connection by clicking on a different device and back.
Brief frame gap on rotation
Section titled “Brief frame gap on rotation”When the device rotates, the video encoder restarts. You may see a brief blank frame (~100ms). This is a limitation of the current scrcpy protocol version and may be eliminated in a future update.
Text input issues
Section titled “Text input issues”Non-Latin characters not appearing
Section titled “Non-Latin characters not appearing”Android’s default input pipeline cannot inject non-Latin characters (CJK, emoji, accented characters) via key events. Enable the Companion IME in Settings to use a direct text injection path that supports all Unicode characters.
If the companion IME is not available, Emu falls back to clipboard paste — it copies the text to the device clipboard and triggers a paste action.
Network inspector
Section titled “Network inspector”No traffic appearing
Section titled “No traffic appearing”- Verify the proxy is started — click Enable in the Network tab.
- The device must be a rooted emulator (
userdebugorengsystem image). Play Store images and non-rooted physical devices cannot have the proxy certificate injected.
Certificate errors in the app
Section titled “Certificate errors in the app”Some apps use certificate pinning, which rejects the injected proxy certificate. Emu cannot intercept traffic from these apps without modifying the app itself.
Snapshots
Section titled “Snapshots”“Snapshots are not supported with this emulator’s GPU mode”
Section titled ““Snapshots are not supported with this emulator’s GPU mode””Emulator snapshots are incompatible with certain GPU modes. Switch the GPU mode to Host or Auto in the device wizard or settings to enable snapshot support.
File browser
Section titled “File browser”Directory listing shows empty for /sdcard
Section titled “Directory listing shows empty for /sdcard”The /sdcard path is a double symlink on Android (/sdcard → /storage/self/primary → /storage/emulated/0). The first listing attempt may return empty. Emu automatically resolves the symlink and retries — if you see an empty listing, navigate into the path again and it will populate.