Ever wonder why photos on your Xiaomi look worse than on the flagships of other brands, despite the similar characteristics of the camera? The reason often lies in the software restrictions β the manufacturer artificially blocks access to advanced features through the camera. Camera2 API. This interface allows applications (like Google Camera) to use the cameraβs hardware to its full power: manual shutter speed settings, RAW-shooting, improved processing HDR+ Even a night mode without artifacts.
In this article, we will discuss all the working ways to activate the Camera2 API on Xiaomi, Redmi and POCO smartphones, from simple tweaks through the engineering menu to deep modifications to the system. Importantly, the methods differ depending on the version of MIUI (12, 13 or 14), the availability of an unlocked bootloader and root rights. We will also explain the risks of certain actions and how to check whether the activation worked. If you are ready to improve the quality of the photo by 30-50% without buying a new phone, read on.
What is the Camera2 API and why Xiaomi is blocking it
The Camera2 API is a modern software interface from Google that replaces the outdated Camera1 API (aka Legacy).
- πΈ RAW-shoot (DNG) with full control of white balance, exposure and noise reduction.
- β‘ Manual shutter speed settings (up to 30 seconds), ISO (up to 102400) and focus.
- π Improved nighttime with multi-frame processing (like Google Camera).
- π₯ Support 4K@60fps and 10-bit HDR-Video (on supported chipsets).
So why is Xiaomi turning off these features by default?
- Battery Optimization: Advanced camera features consume more power, which can reduce battery life.
- Stability: Not all camera modules (especially budget ones) work properly with the Camera2 API, resulting in artifacts.
- Marketing: The manufacturer wants to highlight the differences between budget and flagship models.
- Own algorithms: Xiaomi uses proprietary image processing libraries that conflict with the Camera2 API.
Interesting fact: even on flagships like the Xiaomi 13 Ultra, some of the Camera2 API features are disabled by default. For example, without activation, you can not use Astrophotography Mode in Google Camera.
How to check if the Camera2 API is enabled on your Xiaomi
Before you start activating, make sure that the Camera2 API is indeed disabled.
- Install the Manual Camera Compatibility (or Camera2 Probe) app from Google Play.
- Run it and pay attention to the lines: LEGACY β obsolete API (minimalism). LIMITED β partial support Camera2 API (no RAW manually). FULL β Full support (all working). LEVEL_3 β Extended support (for flagships).
RAW
Manual Sensor
YUV Reprocessing
β
Example of the result on the Redmi Note 10 Pro without activation:
Hardware Support Level: LIMITED
RAW Capture: β
Manual Sensor: β
YUV Reprocessing: β
Depth Output: β
If you FULL or LEVEL_3 β Congratulations, no activation required! otherwise read on.
π‘
On some models (such as the POCO X3 Pro) after upgrading to MIUI 14 Camera2, the API may shut down on its own.
Method 1: Activate Camera2 API via ADB (without root)
This is the most secure method that works on most Xiaomi devices with MIUI 12-14.
- π₯οΈ Computer with Windows/Linux/macOS.
- π USB-cable (preferably original).
- π± Included debugging by USB phone-on.
Step 1. Enable debugging over USB:
- Go to Settings β About Phone β MIUI version and tap 7 times on the line to activate the developer mode.
- Return to Settings β More β For Developers and Enable: Debugging over USB OEM Unlock (if any)
Step 2. Connect your phone to your PC and execute the command:
adb shell setprop persist.camera.HAL3.enabled 1Step. 3. Restart the device and check the status through Camera2 If the method worked, you'll see. FULL or LEVEL_3.
Install ADB-PC drivers|Enable debugging on USB phone-on|Connect your phone to the original cable|Execute commands at the terminal|Reset the device-->
On some models (for example, Redmi Note 9 Pro) after this command, you additionally need to execute adb shell setprop persist.vendor.camera.HAL3.enabled 1 - otherwise the changes will not apply.
β οΈ Attention: On devices with MIUI 14 and a MediaTek chipset (e.g. Redmi Note 12) this method may not work due to the manufacturer's lock, in which case root or modified firmware will be required.
Method 2: Change build.prop (root or TWRP required)
If ADB-The team didnβt help, the next step is to edit the system file build.prop. This method requires the rights of a superuser or custom Recovery (TWRP).
Instructions for root users:
- Install any file manager with root support (such as Root Explorer or Mixplorer).
- Go to /system/build.prop and open the file in the text editor.
- Add the following lines at the end: persist.camera.HAL3.enabled=1 persist.vendor.camera.HAL3.enabled=1 persist.camera.eis.enable=1
- Save the changes, set the rights to 644 (rw-r--r---) and restart the phone.
Instructions for TWRP:
- Download modified build.prop for your model (see XDA Developers).
- Reboot to TWRP (hold Power + Volume Up).
- Make a backup of the current build.prop (in case of rollback).
- Replace the file with Advanced β File Manager.
| Xiaomi model | Does ADB work? | Need root? | Notes |
|---|---|---|---|
| Redmi Note 10 Pro | β Yes. | β No. | Sometimes you need an additional team for vendor.camera. |
| POCO F3 | β Yes. | β No. | After upgrading to MIUI 13, it can be reset |
| Xiaomi 12T | β No. | β Yes. | You need to edit build.prop or Magisk module |
| Redmi Note 12 Pro+ | β No. | β Yes. | Lock at the core level, you need a patch for boot.img |
β οΈ Attention: Incorrect editing build.prop can lead to bootloop.Always backup and check the syntax of the file!If the phone doesn't turn on after changes, restore the original build.prop via TWRP.
Method 3: Installation of a custom core or Magisk module
If previous methods have failed, the most radical (but also the most effective) way is to install a modified kernel or Magisk module, which is true for devices with locked Camera2 API at the firmware level (for example, Xiaomi 13 or Redmi K50).
Option 1: Magisk module
- Install Magisk (if not already installed).
- Download the Camera2API Enabler module with XDA Developers (search by phone model).
- Install the module through Magisk Manager and restart.
Option 2: Castomic core
Some cores (such as FrancoKernel or Kirisakura) already include patches for the Camera2 API.
- Unlock the bootloader through the Mi Unlock Tool.
- Install TWRP for your model.
- Download the custom core (check compatibility with the MIUI version!).
- Flush the kernel through TWRP and clear the cache (Wipe β Dalvik/ART Cache).
What if the camera stopped working after the kernel was installed?
Method 4: Use of the Engineering Menu (MTK-chipset)
On devices with MediaTek processors (e.g. Redmi Note 10, POCO M4 Pro), you can try activating the Camera2 API via a hidden engineering menu, which does not require root, but does not work on all models.
Instructions:
- Open the Phone app and enter the code ##36446337## (some firmware may not work β try #4636## β Phone information).
- Go to the Hardware Testing β Camera section.
- Find the Camera API or HAL3 Enabled option and turn it on.
- Save the settings and restart the phone.
If the engineering menu does not open, try an alternative method:
- Install the MTK Engineering Mode app from Google Play.
- Go to Hardware Testing β Camera β Camera API.
- Select HAL3 and apply the changes.
β οΈ Note: On some devices (e.g. Redmi) 9A) Change of settings in the engineering menu can lead to resetting IMEI Do not change settings other than Camera. API!
Problems After Activation of Camera2 API and Their Solutions
Even if you successfully activate the Camera2 API, the following problems may occur:
| Problem. | Possible cause | Decision |
|---|---|---|
| The camera makes an error when starting. | Conflict with a Magisk module or kernel | Disable all modules associated with the camera, or return the stock core |
| Google Camera is out of the way | Incompatible version of GCam or XML-configuration | Download the GCam version for your model (search for XDA or 4PDA). |
| RAW-files are not saved | Lack of rights to write to the DCIM folder | Grant permissions via adb shell pm grant... or use another file manager |
| Video recorded with artifacts | HAL3 is unstable on your chipset | Return to LEGACY or use the stock camera app |
If the cameraβs stock app stopped working after activating the Camera2 API, try:
- π Clear the cache and data of the Camera application.
- π₯ Install an alternative firmware (e.g. Pixel Experience or LineageOS).
- π οΈ roll back change through TWRP (if you've done backup).
π‘
If the camera is performing worse after the Camera2 API is activated (for example, lags or noise appear), go back to stock settings. Your camera module may not physically support advanced features.