Xiaomi Redmi 4X (xiaomi-santoni)

From postmarketOS
Jump to: navigation, search
Xiaomi Redmi 4x
xiaomi-santoni running pmOS demos
xiaomi-santoni running pmOS demos
Manufacturer Xiaomi
Name Redmi 4x
Codename xiaomi-santoni
Released 2017
Original software Android 6.0 (can be upgradable to 7.1)
postmarketOS kernel 3.18.140
Hardware
Chipset Qualcomm MSM8940 Snapdragon 435
CPU Octa-core 1.4 GHz Cortex-A53
GPU Adreno 505
Display 720x1280
Storage 16 GB / 32 GB / 64GB
Memory 2 GB / 3 GB / 4 GB
Architecture aarch64
Unixbench Whet/Dhry score 1526.7
Features
USB Networking
Works
Flashing
Works
Touchscreen
Works
Display
Works
WiFi
Works
Xwayland
Works
FDE
Partial
Mainline
Battery
Works
3D Acceleration
Accelerometer
Audio
Works
Bluetooth
Partial
Camera
Broken
GPS
Mobile data
SMS
Calls
USB OTG
Works



Contributors

  • pinoaffe
  • asriel-danctnix
  • Danct12

Maintainer(s)

  • Danct12

Users owning this device


What works

  • Install to SD Card
  • Boots
  • Flashing
  • Touch
  • Wayland
  • XWayland
  • USB Ethernet/Internet
  • WiFi
  • Vibrator
  • Audio
  • Xorg
  • USB OTG
  • charging-sdl

What does not work

  • Camera
  • GPS
  • Mobile Data
  • SMS
  • Calls
  • Accelerometers
  • Bluetooth (partially)
  • 3D Acceleration (will never happen due to downstream kernel)
  • Display Power Management on Wayland
  • Full Disk Encryption (does unlock, but failed to look up the partition after booting)

Bugs?

  • Framebuffer programs, such as fbterm will have it's red and blue color palette swapped for some odd reason, it might be better to look into this, as you might use them later. This will also affect programs that make use of fbconfig.
  • alsamixer doesn't work, will result in a error telling mixer controls doesn't exist, workaround to control the volume is to use PulseAudio.

Mainline kernel?

Not yet, as MSM8937 isn't in mainline. MSM8940 is similar to MSM8937.

Parts Components In Torvalds tree?
Chipset MSM8940 No
GPU Adreno 505 Yes (a5xx_gpu.c)
Touch Screen FT5X06 Yes (edt-ft5x06.c)
Fingerprint Sensor FPC1020 No
Accelerometer + Gyroscope ICM20607 No
ALSPS STK3X1X No
Magnetometer YAS537 No
Sound AW87319 No
Notifications LED AW2013 No
Front Camera OV5675 No
Back Camera S5K3L8 No

More information on this port

Bootloader Unlocking

Like other Xiaomi devices, the user will have to acquire the bootloader unlock key: https://en.miui.com/unlock

The device will not unlock if the device isn't 7 days old (from the time when your device connects to internet and powered on)

Key combinations for entering Recovery/Fastboot

Recovery

  • Turn the device off (or restart also works)
  • Hold both volume buttons (+ and -) and power button
  • Keep holding until you got to recovery.

Fastboot

  • Same as recovery, but this time hold the volume down key instead of both keys.

Installation

Installation over fastboot works, Android recovery zip installation is untested.

Bluetooth

Bluetooth on this phone is using the WCNSS chip, which provides two SMD channels to the BT core, one for command and one for event packets. Support for Bluetooth HCI SMD can be added using this patch.

With that patch applied, the Bluetooth interface can be bring up by set /sys/module/hci_smd/parameters/hcismd_set to 1. Then install bluez, start the service and use bluetoothctl to control it.

As right now, it seems to connect, but disconnect very quickly, it doesn't ask for pair code when connecting, so this needs to be investigated.

libhybris

Hybris implementation for this device has been added in !420. test_hwcomposer_7_caf passes, and even hwcomposer driver for X11 works!

However, the user needs to build/download pre-built system.img that is used for Halium. Which we'll update this section later when we got them uploaded.

As for the HWcomposer implementation for X11, it's not that fast and there are artifacts on the screen, and kwin on this device gives repeating texture.

Photos

See also