Jump to content

Xiaomi POCO F1 (xiaomi-beryllium): Difference between revisions

From postmarketOS Wiki
Joel (talk | contribs)
Update features and add contributors + maintainers
Joel (talk | contribs)
Add instruction on how to select panel variant
Line 52: Line 52:
== How to enter flash mode ==
== How to enter flash mode ==
You have to press Power and Vol- to enter the bootloader.
You have to press Power and Vol- to enter the bootloader.
== Selecting the Panel Variant ==
There are two variant of Xiaomi Poco F1 with different display panel and touchscreen combo.
1. EBBG Panel - <code>dsi_ebbg_fhd_ft8719_video_display</code>
2. Tianma Panel - <code>dsi_tianma_fhd_nt36672a_video_display</code>
To know your panel variant, get into a terminal with root access (you can use TWRP recovery's terminal as it has root access or rooted android ROM)
1. Run <code>su</code> to make sure you have root access
2. Run <code>dmesg</code>
3. In the top of the output, there will be a Kernel command line similar to:
<pre>
[    0.000000] Kernel command line: rcupdate.rcu_expedited=1 console=tty0 earlycon=msm_geni_serial,0xA84000 androidboot.hardware=qcom androidboot.console=ttyMSM0 video=vfb:640x400,bpp=32,memsize=3072000 msm_rtb.filter=0x237 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 service_locator.enable=1 swiotlb=2048 androidboot.configfs=true loop.max_part=7 androidboot.usbcontroller=a600000.dwc3 root=/dev/dm-0 dm="system none ro,0 1 android-verity /dev/sde48" androidboot.verifiedbootstate=orange androidboot.keymaster=1  androidboot.veritymode=enforcing androidboot.bootdevice=1d84000.ufshc androidboot.serialno=b79782d2 androidboot.baseband=sdm msm_drm.dsi_display0=dsi_tianma_fhd_nt36672a_video_display: androidboot.ramdump=disable androidboot.secureboot=1 androidboot.dp=0x0 androidboot.cpuid=0x205772eb androidboot.hwversion=4.19.0 androidboot.hwc=INDIA androidboot.cert=M1805E10A androidboot.hwlevel=MP
</pre>
4. Note the value of <code>msm_drm.dsi_display0</code>. In the example above, it's  <code>dsi_tianma_fhd_nt36672a_video_display</code>, i.e Tianma panel variant. For EBBG panel variant, it would be <code>dsi_ebbg_fhd_ft8719_video_display</code>
During <code>pmbootstrap init</code> select the kernel variant by choosing either tianma or ebbg based on the above output.


== Installation ==
== Installation ==

Revision as of 14:48, 11 May 2021

Xiaomi Pocophone F1
Manufacturer Xiaomi
Name Pocophone F1
Codename xiaomi-beryllium
Released 2018
Hardware
Chipset Qualcomm SDM845 Snapdragon 845
CPU Octa-core (4x 2.8 GHz Kryo 385 Gold & 4x 1.8 GHz Kryo 385 Silver)
GPU Adreno 630
Display 1080x2246 LCD
Storage 64/128/256 GB
Memory 6/8 GB
Architecture aarch64
Software
Original software MIUI 9.6 (based on Android 8.1)
postmarketOS
Category testing
Pre-built images no
Mainline yes
Features
Flashing
Works
USB Networking
Works
Internal storage
No data
SD card
No data
Battery
Partial
Screen
Works
Touchscreen
Works
Multimedia
3D Acceleration
Works
Audio
Works
Camera
No data
Camera Flash
No data
Connectivity
WiFi
Works
Bluetooth
No data
GPS
No data
NFC
No data
Modem
Calls
No data
SMS
No data
Mobile data
No data
Miscellaneous
FDE
No data
USB OTG
No data
HDMI/DP
No data
Sensors
Accelerometer
No data
Magnetometer
No data
Ambient Light
No data
Proximity
No data
Hall Effect
No data
Haptics
No data
Barometer
No data


Contributors

Venji10, Joel

Maintainer(s)

Venji10, Joel

Users owning this device

  • Abishek (Notes: daily driver running phosh)
  • Adrian (Notes: EBBG panel, AOSP build toy)
  • Anjanmomi (Notes: daily driver running Sxmo)
  • Antonroots
  • Ash
  • Baonks81 (Notes: 6GB/128GB)
  • Brittle
  • CalcProgrammer1
  • Clamor (Notes: Tianma panel model)
  • Dferrg
  • Entrider (Notes: Running LineageOS. Daily driver.)
  • FerassElHafidi (Notes: Daily driver running Sxmo, also see User:FerassElHafidi/Dogfooding:Pocophone_F1)
  • Fraolt (Notes: Daily driver User:Fraolt/Dogfooding:Pocophone_F1)
  • Hilledkinged (Notes: EBBG display type)
  • Illen (Notes: 6/64 GB. Runs LineageOS)
  • Iourine (Notes: with LineageOS)
  • Joel (Notes: Tianma-Panel)
  • Lokenk (Notes: Android, daily driver 2 versions 128 and 64)
  • LongnoseRob (Notes: pmOS (edge), UI: phosh)
  • Magdesign (Notes: sxmo, daily, many hacks)
  • NekoCWD (Notes: 6/64GB, EBBG, broken mobile antenna, postmarketOS lab rat)
  • Nima
  • PiotrZPL (Notes: Running AwakenOS and Ubuntu Touch as a secondary device.)
  • Powwu (Notes: Co-daily driver on Phosh)
  • Retourmy (Notes: Tianma panel version, LineageOS, still in my backpack, just in case)
  • Retr0 (Notes: Daily driver, running LineageOS 18.1 A11 with Magisk, Kali NetHunter installed)
  • Ridge (Notes: Testing pmOS with Phosh)
  • Roboe (Notes: (second hand) daily driver; 128GB, Tianma panel; running Lineage OS)
  • Rontti (Notes: notes on daily driving phosh on user page)
  • R
  • Schrmh (Notes: Runs Mobile NixOS)
  • SergDS
  • Shubhamvis98 (Notes: Daily driver)
  • Sohrabbehdani (Notes: EBBG panel, running Phosh)
  • Sulu
  • Sven (Notes: Running edge with Phosh, EBBG panel and TIANMA panel)
  • The Arjdroid (Notes: (Daily Driver) not running postmarketOS on it but in general it has very good custom ROM and custom Kernel and custom Recovery support so wouldn't be surprised if things run very well.)
  • The DarkFire (Notes: secondary driver / personal phone, mainline)
  • TheBads (Notes: dead)
  • Toby (Notes: Phosh)
  • UnDevDeCatOS (Notes: goofy aliexpress screen, needs custom dts with tianma screen + ebbg touchscreen, daily driver)
  • Venji10
  • Wann (Notes: Unlocked - Running Gnome Mobile - Main Phone)
  • Wizzdom (Notes: Tianma-Panel, Tinkering with Sxmo)


How to enter flash mode

You have to press Power and Vol- to enter the bootloader.


Selecting the Panel Variant

There are two variant of Xiaomi Poco F1 with different display panel and touchscreen combo.

1. EBBG Panel - dsi_ebbg_fhd_ft8719_video_display

2. Tianma Panel - dsi_tianma_fhd_nt36672a_video_display


To know your panel variant, get into a terminal with root access (you can use TWRP recovery's terminal as it has root access or rooted android ROM)

1. Run su to make sure you have root access

2. Run dmesg

3. In the top of the output, there will be a Kernel command line similar to:

[    0.000000] Kernel command line: rcupdate.rcu_expedited=1 console=tty0 earlycon=msm_geni_serial,0xA84000 androidboot.hardware=qcom androidboot.console=ttyMSM0 video=vfb:640x400,bpp=32,memsize=3072000 msm_rtb.filter=0x237 ehci-hcd.park=3 lpm_levels.sleep_disabled=1 service_locator.enable=1 swiotlb=2048 androidboot.configfs=true loop.max_part=7 androidboot.usbcontroller=a600000.dwc3 root=/dev/dm-0 dm="system none ro,0 1 android-verity /dev/sde48" androidboot.verifiedbootstate=orange androidboot.keymaster=1  androidboot.veritymode=enforcing androidboot.bootdevice=1d84000.ufshc androidboot.serialno=b79782d2 androidboot.baseband=sdm msm_drm.dsi_display0=dsi_tianma_fhd_nt36672a_video_display: androidboot.ramdump=disable androidboot.secureboot=1 androidboot.dp=0x0 androidboot.cpuid=0x205772eb androidboot.hwversion=4.19.0 androidboot.hwc=INDIA androidboot.cert=M1805E10A androidboot.hwlevel=MP

4. Note the value of msm_drm.dsi_display0. In the example above, it's dsi_tianma_fhd_nt36672a_video_display, i.e Tianma panel variant. For EBBG panel variant, it would be dsi_ebbg_fhd_ft8719_video_display


During pmbootstrap init select the kernel variant by choosing either tianma or ebbg based on the above output.

Installation

Run pmbootstrap init and select beryllium as device.

Choose a display environment of your choice.

Works with mainline: USB, panel (with HW acceleration), keys, WiFi, booting modem, internal storage and SDCard support (newest kernel not in pmaports yet, have to build it using envkernel)

Works with downstream: USB, panel, touchscreen, keys

See also