I'm trying to enable host camera passthrough in Android Cuttlefish but cannot find any working documentation or implementation. I've tested on multiple setups without success.
Setup Details
Host Systems Tested:
- Raspberry Pi 5 (ARM64) with ARM64 Cuttlefish build
- x86_64 laptop with x86_64 Cuttlefish build
- Both systems have working webcams accessible via
/dev/video*
Cuttlefish Version:
- Downloaded from ci.android.com (latest aosp-android-latest-release)
- ARM64 build: aosp_cf_arm64_only_phone (on Raspberry Pi)
- x86_64 build: aosp_cf_x86_64_only_phone (on laptop)
- Build ID: 13912524
Current Behavior
- Cuttlefish launches successfully with WebRTC on port 8443
- Web interface has camera controls (can turn on/off, browser asks for permissions)
- Camera never shows actual feed - only displays placeholder
--camera_server_port=5555flag exists but is undocumented- No camera-related processes running on host
- No camera-related logs in Cuttlefish output
Questions
Is camera passthrough actually supported in current Cuttlefish builds?
What are the correct flags to enable host camera passthrough?
Are there specific build requirements or kernel modules needed?
Is there any official documentation beyond the basic setup guide?
Environment Details
# Raspberry Pi 5 (ARM64)
uname -a # Linux r5 6.12.34+rpt-rpi-2712 #1 SMP PREEMPT Debian 1:6.12.34-1+rpt1~bookworm (2025-06-26) aarch64 GNU/Linux
# x86_64 Laptop
uname -a # Linux Yoga-Slim-7 6.16.1-uvc-gadget #6 SMP PREEMPT_DYNAMIC Wed Aug 20 12:58:39 BST 2025 x86_64 x86_64 x86_64 GNU/Linux
# Both systems
groups # Includes kvm, cvdnetwork, render, video
# Cuttlefish status
./bin/adb devices # Shows 0.0.0.0:6520 device
curl localhost:8443 # WebRTC interface accessible
The --camera_server_port flag suggests this functionality should exist, but there's no documentation on how to actually use it or configure the camera passthrough.
Has anyone successfully implemented camera passthrough with Cuttlefish? Any insights on the correct configuration would be greatly appreciated.
Tags: android, cuttlefish, android-emulator, camera, virtualization
What I've Tried
Flag Investigation:
./bin/launch_cvd --help | grep -i camera # Returns nothing ./bin/launch_cvd --help | grep -E "(camera|webcam|video)" # Returns nothingVarious Launch Attempts:
./bin/launch_cvd --camera_server_port=5555 --daemon ./bin/launch_cvd --enable_host_camera=true --daemon # Flag doesn't existSystem Verification:
ls -l /dev/video* # Shows /dev/video2 (working webcam) groups | grep video # User is in video groupAndroid Side Check:
./bin/adb shell ls /vendor/lib*/hw/*camera* # Shows camera HAL ./bin/adb shell getprop | grep camera # Shows camera properties
Implement V4L2 camera emulation in Cuttlefish.android.googlesource.com/device/google/cuttlefish/+/….