Jump to content

Xiaomi Redmi Note 10 Pro (xiaomi-sweet)

From postmarketOS Wiki
Revision as of 18:20, 12 February 2024 by Atipls (talk | contribs)
Xiaomi Redmi Note 10 Pro
Xiaomi Redmi Note 10 Pro
Xiaomi Redmi Note 10 Pro
Manufacturer Xiaomi
Name Redmi Note 10 Pro
Codename xiaomi-sweet
Released 2021
Hardware
Chipset Qualcomm Snapdragon 732G (SM7150-AC)
CPU Octa-core (2x2.3 GHz Kryo 470 Gold
6x1.8 GHz Kryo 470 Silver)
GPU Adreno 618
Display 1080 x 2400, 20:9, 6.67", AMOLED, 120Hz, 450/1200 nits
Storage 64/128 GB
Memory 6/8 GB
Architecture aarch64
Software
Android 11 (MIUI 12)
Android 13 (MIUI 14)
postmarketOS
no
postmarketos-qcom-sm7150
Features
Works
Works
Broken
Works
Touchscreen
Works
Multimedia
3D Acceleration
Works
Untested
Camera
Untested
Connectivity
WiFi
Works
Bluetooth
Untested
GPS
Untested
Modem
Calls
Untested
SMS
Untested
Mobile data
Untested
Miscellaneous
Untested
Untested
Sensors
Untested


Contributors

Maintainer(s)

  • atipls
  • Largely the sm7150-mainline team

Users owning this device

  • Adrian (Notes: goodix/fpc/bq, pmOS development device)
  • Ahi6 (Notes: Stock MIUI Global 14, daily driver)
  • AnaxMorden (Notes: Using Global 6/128GB (CrDroid))
  • Atipls (Notes: LineageOS, attempting mainline)
  • DymondZ (Notes: Global 6/64GB, AOSP)
  • Etn40ff (Notes: 8/128GB, AOSP)
  • Manofdiamond (Notes: Using Indian 6/128GB (AOSP))
  • Tau (Notes: Global 6GB/64GB (CrDroid))
  • Thedanilfez (Notes: PostmarketOS + LineageOS, daily driver)
  • Vvladii (Notes: Using Global 6/128GB (AOSP))
  • Zephyr1112 (Notes: 6/128GB, postmarketOS - Backup device, dead BMS)


Port status

Warning WARNING: THIS PORT WILL (PROBABLY) NOT WORK ON THE Redmi Note 12 Pro 4G (sweet_k6a). IF YOU TRY FLASHING IT, YOU MAY END WITH A BRICK!

Downstream kernel compiles with pmOS's build system but the resulting artifact does not boot. The same source code compiles also using android's build system and the resulting artifact boots. (See below for the required steps.)

Flash modes

  • Fastboot mode: Power + Volume Down (adb reboot bootloader)
  • Fastbootd mode: adb reboot fastboot
  • Recovery mode: Power + Volume Up (adb reboot recovery, fastboot reboot recovery)

Installation Instructions

Unlock Bootloader (if not done)

  • First unlock your device (if not done yet). Use MiUnlock to unlock (Windows only). // If MiUnlock doesn't detect your device, follow this: Google USB Drivers install guide
  • Follow the Instructions on the selected site
  • Note: After that do not log off your Mi Account on your phone or it won't work! It may take 7 days or more to be able to unlock your device!

Install TWRP on Redmi Note 10 Pro

  • Follow these Instructions.
  • Turn the device off (or restart also works)
  • Note: You may need to connect your device to a computer with a USB cord or the phone will skip boot to recovery.
  • Hold Volume Up and Power button
  • Keep holding Volume Up until you see the TWRP recovery Logo.

Install pmOS

  • Mainline aport is currently available at: https://github.com/sm7150-mainline/pmaports
  • Before installing, back up your dtbo partition (using twrp/android: on the device run dd if=/dev/block/by-name/dtbo of=/sdcard/dtbo.img and then adb pull /sdcard/dtbo.img on the host
  • Reboot into the bootloader and erase the dtbo partition: adb reboot bootloader and fastboot erase dtbo if you do not do this, Linux will not boot due to the bootloader trying to merge the dtbo with mainline dtb, which will fail.
  • Install pmOS like normal: pmbootstrap flasher flash_kernel/rootfs

To get 3D Acceleration working:


xiaomi-sweet:~$ ls -haltr /lib/firmware/qcom/a615_zap.mbn 
-rw-r--r--    1 root     root       13.9K Feb 11 09:57 /lib/firmware/qcom/a615_zap.mbn

  • Reboot and 3D Acceleration should be working!

The common a615_zap.mbn available at https://github.com/sm7150-mainline/firmware-adreno-gpu seems to fail with error -22, though it might work. Please test it if you can!

Tips and tricks

If pmOS is installed on a removable SD card android will continuously want mount and to reformat it. Unfortunately it does not look like it is possible to prevent this within android. A somewhat heavy duty workaround is to unbind the device, this requires root:

  • First find out which is the driver responsible for the sdcard:
  
 # readlink /sys/block/mmcblk0
 ../devices/platform/soc/8804000.sdhci/mmc_host/mmc0/mmc0:0001/block/mmcblk0
 
  • then unbind it
 
 # echo 8804000.sdhci > /sys/bus/platform/drivers/sdhci_msm/unbind
 

Mainlining

NOT VERIFIED: sourced from deviceinfohw, status from sm7150-xiaomi-sweet DTS (UNTESTED!)

Hardware type Chip Mainline status
WiFi chip wcn3990 Y
Charging IC TI bq2597x (early units) / LionSemi ln8000 (new units) Bringup in progress
Fuel gauge ? ?
GNSS ? ?
NFC ? (nq-nci driver on Android) Bringup in progress
Audio Awinic aw882xx, sm6150idpsndcar Bringup in progress
Accelerometer TDK icm4x6xx N/A
Touchscreen Goodix GT9896 (gtx8 driver on Android) Y
Display panel Samsung E3 Super AMOLED (dsi_k6_38_0c_0a_fhd_dsc_video_display interface on Android) Y (dsi0)
Ambient Light Sensor rohm_bu27030 ?
Gyroscope icm4x6xx ?
Magnetometer ak0991x ?
Video Adreno 618 N/A
UFS ? (64GB) / Micron MT128GASAO4U21 (128GB) Y / Y
Memory SK Hynix H9HQ15AFAMBDAR Y
Haptics Awinic AW8624 Y
SD Card Slot ? Y
USB ? Y
Flash ? Y

Sources and links

Other