How to Check Camera2 API Support on Your Phone (2026)
Camera2 API hardware level decides whether manual control and RAW work in third-party camera apps. Here's how to check yours, and what LEGACY, LIMITED, FULL and LEVEL_3 mean.

If a camera app on your phone won't shoot RAW, can't see your telephoto lens, or a GCam port shows a black preview, the answer is usually one value: your Camera2 API hardware level.
To check it, install a free Camera2 API checker from the Play Store — Manual Camera
Compatibility or Camera2 API Check are the two commonly used ones — and open it.
It reads your camera hardware directly and reports a level per camera: LEGACY,
LIMITED, FULL or LEVEL_3. FULL and LEVEL_3 mean manual exposure and RAW
should work in third-party apps. LEGACY means almost nothing advanced will, no
matter which app you install.
That one number explains more third-party camera frustration than anything else on Android, so it's worth understanding what it actually controls.
What the Camera2 API is, briefly
Android's original camera API gave apps a shutter button and little else. Camera2, introduced in Android 5.0 Lollipop, exposed the parts photographers care about: manual ISO, manual shutter speed, manual focus, white balance, per-frame metadata, and RAW/DNG capture.
The catch is that Camera2 is a capability contract, not a guarantee. Every phone declares how much of it the hardware and firmware actually back, and manufacturers choose where to draw that line. Your phone can run Android 15 and still declare the lowest level.
This is why "does this app support RAW?" is the wrong question. The app can only request what your phone publishes.
The four levels, in order
| Level | What it means | Manual ISO / shutter | RAW / DNG |
|---|---|---|---|
LEGACY | Camera2 is emulated over the old API. Basic capture only. | No | No |
LIMITED | Some Camera2 features backed, many not. The most common budget result. | Partial | Sometimes |
FULL | Per-frame control and metadata properly supported. | Yes | Usually |
LEVEL_3 | FULL plus RAW reprocessing and extra output streams. | Yes | Yes |
There's also EXTERNAL, which describes plug-in cameras such as USB webcams rather
than a phone's own sensors.
Read the table as a floor, not a promise. LIMITED is the ambiguous one and the one
most budget phones report: some devices at LIMITED still expose RAW on the main
sensor, others expose neither RAW nor a usable manual mode. Only the checker on your
specific phone will tell you.
The detail almost everyone misses: it's per camera, not per phone
A phone does not have one Camera2 level. Each camera reports its own. OnePlus
owners documented this years ago: a rear camera reporting LEVEL_3 on a phone whose
front camera reported a much lower level.
The consequences are exactly the ones people complain about:
- RAW that works at 1× and disappears on zoom. Realme owners have reported this on Realme's own community forum — RAW available on the main camera, unavailable on the periscope.
- A telephoto no app can select. Vivo owners have documented the telephoto being unselectable in every third-party camera app on some models. Nothing OS has been reported doing the same on the CMF Phone 2 Pro, locking third-party apps out of both the telephoto and the ultrawide.
- A front camera with no manual control on a phone whose rear camera has full manual control.
So when a checker gives you a good level, confirm which camera it applies to. The main sensor is usually the best-supported one on any phone — which is also why it's where a third-party camera app delivers most of its value.
How to check, three ways
1. A dedicated checker app (easiest). Manual Camera Compatibility and Camera2 API Check both read live capabilities and print a per-camera report: hardware level, which manual controls are backed, whether RAW is available, and which lenses are exposed to third-party apps. Two minutes, no root.
2. Open Camera's built-in toggle (free, and it proves the point). Install Open Camera, go to Settings → Camera API, and try switching to Camera2. If the option is missing or the preview breaks, your phone isn't backing it. If manual ISO and shutter controls appear and work, it is.
3. ADB, if you want the raw value. With USB debugging on and platform-tools installed:
adb shell dumpsys media.camera | grep -i "hardware level"
Output naming varies by OEM, so treat a checker app's report as the friendlier version of the same information.
What each result means for you
LEGACY — Stop shopping for camera apps. No third-party app will give you manual
exposure or RAW, and GCam ports will fail or run without their HDR+ pipeline. Your
best photos will come from the stock camera plus good technique: clean the lens,
expose for the highlights, stay at 1×.
LIMITED — Test before you commit. Some manual controls may work while RAW
doesn't, or RAW may work only on the main sensor. An app that does its own multi-frame
merge on whatever the phone does expose is a better bet here than a GCam port that
needs deep access to run at all.
FULL or LEVEL_3 — You have real options. Manual apps such as ProShot and Open
Camera will give you working sliders; a computational app can capture and merge a RAW
burst. A GCam port becomes possible, though still unofficial and still config-
dependent.
Why this matters most for GCam ports
GCam's HDR+ pipeline is the most demanding thing you can ask of Camera2. It needs manual sensor control, RAW streams and per-frame metadata simultaneously, because that's how it captures a burst and aligns it.
That's why a port can install perfectly and then show a black preview, see only the main sensor, or force-close the instant you press the shutter — the app is requesting capabilities the phone never declared. Checking your level first tells you whether the hunt is worth starting. Our GCam port not working guide covers the full troubleshooting sequence, and GCam vs AI camera apps covers the trade-off even when a port does run.
A camera app that works with what your phone exposes
The reason Camera2 level matters so much for GCam is that GCam was written for one family of hardware. An app designed for the whole Android range has to work with what it's given.
That's the approach SensePose takes: a real-time AI Pro Mode reads the scene and sets ISO, EV, aperture and shutter live, the way a DSLR photographer would, then it captures a burst of RAW frames and merges them into one HDR+ image on-device — the same multi-frame method Google Pixel and iPhone cameras use — with optional cloud 2× upscaling and tone grading to finish. It targets Android 10+ rather than a specific chipset, and it needs no XML config matched to your sensor.
It cannot rewrite your Camera2 level. If your phone declares LEGACY, or hides a
telephoto from third-party apps, no app changes that — and any app claiming otherwise
is overselling. What it does is get the most out of the camera your phone does
expose, which on nearly every phone is the main sensor you shoot with most.
One clarification, since the name misleads people: SensePose is an AI camera, not a
pose-estimation or motion-capture tool. Its optional, experimental framing coach is
secondary to the camera and image-processing pipeline. It's on Google Play
(com.profazia.sensepose) — free, Android 10+, ~28 MB, from maker Profazia.
Checking a specific phone? The Vivo, Oppo and Realme guides cover each brand's restrictions, and best AI camera app for Android explains what Pro Mode, RAW HDR+ and neural upscaling each do.
FAQ
How do I check if my phone supports Camera2 API?
Install a free checker app from the Play Store — Manual Camera Compatibility or
Camera2 API Check — and open it. It reads your camera hardware live and reports a
hardware level per camera (LEGACY, LIMITED, FULL or LEVEL_3), which manual
controls are backed, and whether RAW capture is available. Open Camera's Settings →
Camera API toggle is a second free way to test it, and adb shell dumpsys media.camera
gives you the value directly.
What do LEGACY, LIMITED, FULL and LEVEL_3 mean?
They're Camera2's four support tiers, lowest to highest. LEGACY emulates Camera2 over
the old API and supports basic capture only. LIMITED backs some features and not
others. FULL supports proper per-frame control and metadata, so manual exposure and
usually RAW work. LEVEL_3 adds RAW reprocessing and extra output streams on top of
FULL.
Can I enable Camera2 API if my phone doesn't support it?
Not meaningfully. Forcing the flag on a device whose firmware doesn't back it — which
generally requires root — tends to produce broken previews and crashes rather than
working manual controls, because the capability is a hardware-and-firmware property
rather than a setting. The realistic path on a LEGACY phone is to get the most out of
the stock camera instead.
Why does RAW work at 1× but not on my zoom lens?
Because Camera2 levels and capabilities are declared per camera, not per phone. Several manufacturers expose the main sensor generously while restricting the telephoto or periscope — Realme owners have reported RAW at 1× but not on the periscope, and Vivo owners have reported telephoto lenses that no third-party app can select at all. It's a platform decision above the app layer, so no camera app can work around it.
Does a high Camera2 level mean GCam will work on my phone?
It makes it possible, not certain. FULL or LEVEL_3 means the deep access GCam's
HDR+ pipeline needs is likely present, but there's still no official Google Camera
build for non-Pixel phones — you need a port matched to your device with the right XML
config, and an OS update can break a working one. A high level tells you the hunt isn't
doomed from the start.
Does Camera2 API support affect photo quality on the stock camera?
No. Your phone's own camera app talks to the camera through the manufacturer's internal pipeline, not through the public Camera2 API, so it can use hardware a third-party app never sees. That's exactly why a stock camera can shoot RAW on a telephoto lens while every third-party app on the same phone is stuck at 1× with JPEG only.
Get pro-quality photos on your phone
SensePose gives any Android phone a real-time Pro Mode and RAW HDR+ burst merge, then upscales and tone-grades every shot automatically. Free on Android.