[Xiaomi Poco F1 ROMs, Kernels, Recoveries, & Other ] jodev:
View attachment 5153867

Ubuntu Touch for Poco F1

This rom is based on Ubuntu Touch linux distribution which uses halium as its hardware abstraction layer. Its not a typical android ROM. Ubuntu Touch is a mobile version of the Ubuntu operating system that was originally developed by Canonical Ltd. and is now being developed by the UBports community.

More can be read here : UBports Link & Halium Link

THIS ROM IS IN BETA Stage.

#include <std_disclaimer.h>

/*
* Your warranty is now void.
*
* We are not responsible for bricked devices, dead SD cards,
* thermonuclear war or you getting fired because the alarm app failed. Please
* do some research if you have any concerns about features included in this ROM
* before flashing it! YOU are choosing to make these modifications and if
* you point the finger at us for messing up your device, we will laugh at you. Hard & a lot.
*
*/

​

Installation:

Download and Install the Ubports Installer from here: https://devices.ubuntu-touch.io/installer/​

Put your phone in fastboot mode (Power + Vol Down) and connect.​

Open the installer. The device should be recognised automatically.​

Read the Warning and Follow the onscreen instruction.​

You will be needed to put your phone into recovery mode in between. Once installer copies all the files, the phone will automatically reboot into recovery again to install the OS. Finally, it will reboot into Ubuntu Touch automatically​

The instruction to install ubports without installer or pc: (Not recommended, as it will install old version of ubports which needs to be updated after installation. So do it only if not able to use the ubports installer)

1. Download the android pie firmware from here : https://xiaomifirmwareupdater.com/firmware/beryllium/stable/V11.0.5.0.PEJMIXM/

2. Download Ubports recovery from here: https://github.com/ubports-beryllium/artifacts/releases/download/v3/recovery.img

3. Download android pie vendor from here: https://github.com/ubports-beryllium/artifacts/releases/download/v3/vendor.img

4. Download the boot and system image from ubports gitlab ci. U can to select the latest "devel-flashable" ci job from the link. Then "Browse" artifacts from the right sidebar which u can get by clicking on the "<<" button in top right corner if u r using mobile phone to download it. Then click on the out folder. Download boot and system image file from there

Jobs · UBports / Porting / Community Ports / android9 / Xiaomi Poco F1 - Xiaomi Mi 8 / xiaomi-beryllium · GitLab

Xiaomi Poco F1

gitlab.com

As of writing this, the link of latest job is

out · Artifacts · devel-flashable (#1489635621) · Jobs · UBports / Community Ports / android9 / Xiaomi Poco F1 - Xiaomi Mi 8 / xiaomi-beryllium

Xiaomi Poco F1

gitlab.com

5. Copy these files to pendrive using otg or memory card as we will format data.

6. Take backup of ur internal storage data, if needed, as everything will be erased during the installation.

6. Reboot into twrp. Wipe cache, system, etc. Then click "Format Data" option. This will erase all ur data.

7. Reboot into twrp AGAIN. Install the latest firmware zip file from memory card/otg pendrive.

8. U can use twrp to flash the image files too by clicking "Install image" option in twrp. Then select

Boot image and flash to boot partition.

Recovery image to recovery partition (remember twrp will be replaced with ubports recovery. This is needed for updating ubports properly)

Vendor image to vendor partition

System image to system partition.

9. Reboot to system. And it should hopefully boot Ubports. If it doesn't boot on the 1st attempt. Try rebooting few times and see if it boots.

10. Once it boots, go to settings and update the os 1st. As the ci has old version of ubports.

Status of the Port:

Refer the Ubports Poco F1 page: https://devices.ubuntu-touch.io/device/beryllium/

Important Notes:

Dual sim now works in devel channel, should be included from next OTA release onwards(OTA19) . Single SIM in Slot 2 is stable. However calling from Slot 1 causes the call to fail and sometimes restart the UI. Mobile data can work from both slots. However, calls are only stable from Slot 2. Yet to figure out the cause.

VoLTE is not supported in Ubports itself. They are working on it. Hopefully they will add support for it soon.

Front Camera takes mirror image. Needs fix. Kind of default behaviour in many android phones. Its more accurate representation.

To install Waydoid

sudo mount -o remount,rw /
sudo apt update
sudo apt install waydroid
sudo waydroid init
sudo mount -o remount,ro /

And now you can launch waydroid as an normal app in app's menu.

Waydroid is preferred over Anbox as the performance is much better, has more features and runs more recent android version. Checkout the waydroid notes to install it. If waydroid doesnt work or if you want to specifically try out Anbox. It can be installed with

sudo anbox-tool install

and you can refer documentation here. However, there is a bug that prevents reboot to work when anbox is installed. You need to long press the power button to force restart the device. Also, when OTA updates are downloaded from settings, you need to long press power and volume up button to go into recovery mode to install the pending updates. Anbox support is experimental .

Your current recovery will be overwritten with Ubports Recovery. It is needed for OTA updates.

Reach Out:

Users and Devs interested in porting Linux to Poco F1 reach out to me (Joel S) on Ubuntu Touch for Poco F1 telegram group: https://t.me/ubportsforpocof1

There is now a Matrix Space for all Linux on Poco F1(mainline and halium) discussion over here: https://matrix.to/#/#linuxonpocof1:matrix.org

Other General Groups:

Halium telegram group

UBports telegram group

UBports Porting telegram group

Contribute

Do contribute to the project by helping in fixing bugs, adding features and testing!

Changelogs:

Beta:

Ubports installer is now the default way to install Ubuntu Touch on Poco F1

Ubports Recovery is ported and will be automatically installed by installer.

OTA updates are now supported for both OS and kernel! You can receive the latest features by just updating from settings.

Alpha 2:

Fixed battery drain issue. Should get multi-day standby now

Now using Lineage based kernel rather than Mi original kernel. So we got relatively new patches compared to older build

Issues/Bug Reports

Feel free to report issues here: Poco F1 Ubports Gitlab. Do attach the below logs for debugging:

kernel log:

dmesg

syslog:

cat /var/log/syslog

logcat:

sudo -s

LD_LIBRARY_PATH=/system/lib64 lxc-attach -e -n android -- /system/bin/logcat

You can also reach out to the respective telegram group mentioned below for support.

Credits

@erfanoabdi for his work on the Ubuntu Touch GSI. You can read his XDA thread on UBports GSI here

@geekyneo for helping in testing and bug reports.

@notkit, @RealDanct12

UBports and Halium Community for their extraordinary work and support.

Hack, Have Fun and Peace!

(This is my first ever thread in XDA, pardon my ignorance if any;))
​

XDA:DevDB Information

UBports Beryllium, ROM for the Xiaomi Poco F1

Contributors

jodev

Source Code: https://gitlab.com/ubports/community-ports/android9/xiaomi-poco-f1

Dev works: https://github.com/ubports-beryllium

ROM OS Version: 9.x Pie

ROM Kernel: Linux 4.x

ROM Firmware Used: V11.0.5.0 from https://xiaomifirmwareupdater.com/archive/firmware/beryllium/

Based On: Ubuntu Touch, LineageOS 16 vendor

Version Information

Status: Beta

Created 2020-07-14

Last Updated 2020-11-04