• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

[ROM][BETA] Ubuntu Touch for Poco F1 [OTA][OFFICIAL INSTALLER][Halium-9][Pie Based]

Search This thread

jodev

Member
Mar 25, 2020
33
131


logo.png


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.

Code:
#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:
  1. Download and Install the Ubports Installer from here: https://devices.ubuntu-touch.io/installer/
  2. Put your phone in fastboot mode (Power + Vol Down) and connect.​
  3. Open the installer. The device should be recognised automatically.​
  4. Read the Warning and Follow the onscreen instruction.​
  5. 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
As of writing this, the link of latest job is

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:
  1. 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.
  2. VoLTE is not supported in Ubports itself. They are working on it. Hopefully they will add support for it soon.
  3. Front Camera takes mirror image. Needs fix. Kind of default behaviour in many android phones. Its more accurate representation.
  4. To install Waydoid

    Bash:
    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.
  5. 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
    Code:
    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 .
  6. Your current recovery will be overwritten with Ubports Recovery. It is needed for OTA updates.
Reach Out:
  1. 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
  2. There is now a Matrix Space for all Linux on Poco F1(mainline and halium) discussion over here: https://matrix.to/#/#linuxonpocof1:matrix.org
  3. Other General Groups:

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:
Code:
dmesg
syslog:
Code:
cat /var/log/syslog
logcat:
Code:
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
 

Attachments

  • screenshot20200715_081925624.jpg
    screenshot20200715_081925624.jpg
    131.7 KB · Views: 4,048
  • screenshot20200715_082014044.png
    screenshot20200715_082014044.png
    133.9 KB · Views: 3,999
  • screenshot20200715_082045603.jpg
    screenshot20200715_082045603.jpg
    108.3 KB · Views: 3,787
  • screenshot20200715_081910978.jpg
    screenshot20200715_081910978.jpg
    67.1 KB · Views: 3,726
  • screenshot20200715_082001680.png
    screenshot20200715_082001680.png
    133.1 KB · Views: 3,624
  • screenshot20200715_081923196.jpg
    screenshot20200715_081923196.jpg
    68.1 KB · Views: 3,543
Last edited:
G

GuestK00460

Guest
awesome

---------- Post added at 06:10 AM ---------- Previous post was at 06:08 AM ----------

is it official
 

19akasht

Member
Jul 15, 2015
8
0
24
Badlapur
Please share some screenshots

---------- Post added at 04:57 AM ---------- Previous post was at 04:54 AM ----------

Post some screenshots please
 

thomashastings

New member
Sep 28, 2020
2
2
I'm very grateful for this ROM, this is the firs time I could experience Ubuntu Touch on a device I own. Based on the current state, we may not be very far from a daily driver Ubuntu release here!
I can confirm that the following functionality works well
- General stability (no crashes or reboots)
- Installing applications (xkcd viewer, 2048, some webapps tested so far)
- Wifi, camera, bluetooth

However, there are two device-specific problems I should mention
- Ubuntu does not respect the notch, so the top panel is not completely usable in its current state
- Since the Poco F1 has no physical back button, the user must rely on the given application's implementation of moving back, which is not always perfect, and one-handed use is not really possible.

Additionaly, after the first installation all wifi settings just disappeared after a reboot, and a clean flash was needed to get it back.

IMPORTANT: Going back to any other ROM caused a bootloop for me, I had to fastboot flash a factory image first, Lineage OS worked fine after that.
 
  • Like
Reactions: gamerlucky

Rocket_F1

New member
Jan 1, 2020
1
0
Does it has anbox built in ??

Or do i have to install manually
If so, is anbox supported in this build??
 

jodev

Member
Mar 25, 2020
33
131
Or do i have to install manually
If so, is anbox supported in this build??

Hey, anbox support is not available in the current build. I tried enabling anbox, although it works well, internet inside anbox/android apps doesn't work in the default anbox image. I had to create a custom anbox image with scripts to fix internet setup to get it working properly. Since it wasn't easy to set it up, i didn't enable those options in the initial build.
 
Last edited:

Top Liked Posts

  • There are no posts matching your filters.
  • 52


    logo.png


    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.

    Code:
    #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:
    1. Download and Install the Ubports Installer from here: https://devices.ubuntu-touch.io/installer/
    2. Put your phone in fastboot mode (Power + Vol Down) and connect.​
    3. Open the installer. The device should be recognised automatically.​
    4. Read the Warning and Follow the onscreen instruction.​
    5. 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
    As of writing this, the link of latest job is

    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:
    1. 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.
    2. VoLTE is not supported in Ubports itself. They are working on it. Hopefully they will add support for it soon.
    3. Front Camera takes mirror image. Needs fix. Kind of default behaviour in many android phones. Its more accurate representation.
    4. To install Waydoid

      Bash:
      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.
    5. 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
      Code:
      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 .
    6. Your current recovery will be overwritten with Ubports Recovery. It is needed for OTA updates.
    Reach Out:
    1. 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
    2. There is now a Matrix Space for all Linux on Poco F1(mainline and halium) discussion over here: https://matrix.to/#/#linuxonpocof1:matrix.org
    3. Other General Groups:

    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:
    Code:
    dmesg
    syslog:
    Code:
    cat /var/log/syslog
    logcat:
    Code:
    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
    9
    Guys, dual sim, MTP, ADB is now supported in "devel" channel..! And will be available in the next stable OTA release. Do grab the UBports Installer and give it a spin.
    8
    Hey Guys!!!!!! Official Ubports Installer and OTA updates support for OS and kernel has landed! Checkout the main page for updated instruction! You can read about the status of the port here: https://devices.ubuntu-touch.io/device/beryllium/

    Regards
    5
    Update Guys. So i earlier worked on trying to get official builds over here: https://gitlab.com/ubports/community-ports/android9/xiaomi-poco-f1/xiaomi-beryllium

    But i was having issue with mobile data not working in official builds. Part of the reason why i didnt proceed with it after trying hard to fix it.

    But recently, got to know about a workaround! Its to related to this. ubports/ubuntu-touch#1657.

    Steps to fix mobile data issue in official builds:
    • Turn off the mobile data.
    • ssh/open terminal app and run
    • Code:
      /usr/share/ofono/scripts/set-context-property 0 Protocol ip
    • Turn on mobile data.
    Its a one time fix. it seems to persist after reboots. so first time after installation, we might have to do this temporarily. they ll eventually fix though!

    For those who want to try out Official Ubports Build:
    If few of you can test this, confirm its working fine and report here, i can update the post and release the official version and add support for flashing beryllium using the official UBports installer software. Thank you guys for your interest and support!