Xiaomi POCO F1 (xiaomi-beryllium): Difference between revisions
No edit summary |
|||
Line 116: | Line 116: | ||
== 1. Display == | == 1. Display == | ||
Works fine. MSM DRM based panel. The Tianma variant is already in mainline Linux. | Works fine. MSM DRM based panel. | ||
The Tianma variant is already in mainline Linux. | |||
The EBBG panel variant is available in our kernel fork and works fine, but not still up-streamed. | The EBBG panel variant is available in our kernel fork and works fine, but not still up-streamed. | ||
Revision as of 05:39, 14 June 2021
![]() | |
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 |
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 |
Works |
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.
Know your 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 cat /proc/cmdline
. Output would be similar to:
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
1. Run pmbootstrap init
and select xiaomi as vendor and beryllium as device.
2. Select the Kernel variant based on the panel noted from the "Know your panel variant" section above.
3. Follow the onscreen instruction and configure as your needs.
Sample output:
[20:23:35] Location of the 'work' path. Multiple chroots (native, device arch, device rootfs) will be created in there. [20:23:35] Work path [/home/joel/.local/var/pmbootstrap]: [20:23:36] NOTE: pmaports path: /home/joel/.local/var/pmbootstrap/cache_git/pmaports [20:23:36] Choose the postmarketOS release channel. [20:23:36] Available (3): [20:23:36] * edge: Rolling release / Most devices / Occasional breakage: https://postmarketos.org/edge [20:23:36] * stable-next: Latest release / Recommended for best stability [20:23:36] * stable: Old release (unsupported) [20:23:36] Channel [edge]: [20:23:36] Choose your target device vendor (either an existing one, or a new one for porting). [20:23:36] Available vendors (59): acer, alcatel, amazon, arrow, asus, bq, chuwi, cubietech, essential, fairphone, finepower, fly, goclever, google, gp, hisense, htc, huawei, infocus, jolla, klipad, lark, leeco, lenovo, lg, medion, meizu, motorola, nextbit, nobby, nokia, nvidia, oneplus, oppo, ouya, pegatron, pine64, planet, purism, qemu, raspberry, samsung, semc, sharp, sony, surftab, t2m, tablet, teclast, tokio, trekstor, vernee, wexler, wiko, wileyfox, xiaomi, yu, zte, zuk [20:23:36] Vendor [xiaomi]: xiaomi [20:23:38] Available codenames (23): aries, armani, begonia, beryllium, cactus, cancro, clover, daisy, dior, ferrari, ido, kenzo, lavender, libra, mido, santoni, scorpio, tissot, vince, whyred, willow, wt88047, wt88047-downstream [20:23:38] Device codename [beryllium]: beryllium [20:23:42] Which kernel do you want to use with your device? [20:23:42] Available kernels (2): [20:23:42] * ebbg: EBBG Panel. To know the status of the port and which panel your device use, Visit the Poco F1 wiki page: https://wiki.postmarketos.org/wiki/Xiaomi_Poco_F1_(xiaomi-beryllium) [20:23:42] * tianma: Tianma Panel. To know the status of the port and which panel your device use, Visit the Poco F1 wiki page: https://wiki.postmarketos.org/wiki/Xiaomi_Poco_F1_(xiaomi-beryllium) [20:23:42] Kernel [tianma]: tianma [20:23:45] This device has proprietary components, which trade some of your freedom with making more peripherals work. [20:23:45] We would like to offer full functionality without hurting your freedom, but this is currently not possible for your device. [20:23:45] device-xiaomi-beryllium-nonfree-firmware: GPU, venus, modem firmware [20:23:45] Enable this package? (y/n) [y]:
STATUS
1. Display
Works fine. MSM DRM based panel. The Tianma variant is already in mainline Linux. The EBBG panel variant is available in our kernel fork and works fine, but not still up-streamed.
2. Touchscreen
For the Tianma variant, there are patches available for the NT36XXX touchscreen over here: https://lwn.net/ml/linux-kernel/20201028221302.66583-1-kholk11@gmail.com/ Its still not accepted. But works fine and included in our fork.
For the EBBG variant, Venji10 has written downstream based driver for focaltech touchscreen. Its not up-streamed yet. Included in our fork and works fine.
3. 3D GPU Acceleration
Since our panels are MSM DRM based, 3D acceleration works perfectly fine using the freedreno driver from mainline.
4. WiFi
2Ghz WiFi connection works perfectly fine. However, 5Ghz WiFi network has poor signal reception. Requires fix.
5. Bluetooth
The Bluetooth service crashes on boot and requires a restart in Phosh.
sudo service bluetooth restart
Now you should be able to see the devices show up in Settings->Bluetooth and Pair from the UI.
In case if you want to switch off and on the bluetooth in Phosh, use Settings->Power->Bluetooth toggle and not the Settings->Bluetooth toggle as it doesn't seem to work properly. Requires fix eventually.
See also
- pmaports!1156 Initial merge request
- SDM845 Mainline kernel: https://gitlab.com/sdm845-mainline/linux
- Another old WIP mainline kernel by Venji10: https://github.com/Venji10/linux-beryllium