-
@nibzy26 you should use halium 12 , because halium 13 is not stable yet, so android 12
Your device has android 12 I believe so you should be good to go, we already have a port using halium 12. -
Redmi note 12 is not in the devices list on ubuntu touch.io .
Cant we just install UB Touch Base OS on it and later port the drivers ??
i am trying to reduce the time in porting effort
-
@nibzy26 what do you mean drivers? The device drivers are in the vendor partition that's why you need halium to communicate with them , and they are installed with the android, then you need your device android kernel to boot plus halium gsi and halium ramdisk and then add UT rootfs .. I strongly recommend you to read the porting guide.
https://docs.ubports.com/en/latest/porting/introduction/index.html
-
Hi @beyolf I just confirmed Redmi Note 12 has Android 13 in it so it requires Halium 13 which is not stable so it means I have to fid Android 11 or Android 12 based phones to port ubuntu touch on.
Just wondering why cant we just downgrade android version on redmi note and use hallium 11 for example ??
-
@nibzy26 unlucky then. You have to wait for halium 13
If you find official ROM with android 12 for it then you can use halium 12 if the official is from android 13 then you have to wait. You can downgrade only if the manufacturer provide official ROM otherwise no because the kernel is made to specifically to work with android 13 and it won't work well with other versions which means that probably most of the device peripheral will not function correctly .
-
-
@beyolf Thanks
I have linux background but this android / UB-Touch stuff is new to me. Just wondering what happens when a new phone with new version of android is released ? like
A) New phone with lets say android 13 is released
we wait for the manufacturer to release offical ROM for the android version ??
C) Open source community gets excited and they release porting softwares like new Hallium version e.g, 13 for android 13 ?
Also there is Lineage OS as well , they probably add support for it too ?
D) when all the softwares required for port become available then people start asking each other " Has anybody done the port "
E) Then after a while one or two people claim they have done the port ?So Does that how it works ?
-
Lineage OS does not use halium gsi as far as I know , it uses android gsi, because it is an android based os. Halium is HAL between the vendor specific blobs and Linux based OS as Ubuntu touch.
When new android comes up talented developers create halium port for the corresponding android version. Currently halium 13 is in development and not stable yet for use for any ports. In order to make a port of android device to UT or similar Linux OS you need the android kernel from the device manufacturer (Xiaomi in your case), a halium gsi and ramdisk for the corresponding android version and the UT rootfs. All of this is explained in the porting guide so I would advice you again to read it.
If the device which you wish to port UT to has only android 13 stock ROM , that means that it is based on android 13 gsi ,so it needs halium 13 port in order to be able to communicate with the hardware (vendor blobs in the vendor partition ). There is a possibility if you device has Lineage OS port for older android version to use that and use older halium version, but if it does not then you would need to wait for halium 13 to come up or join the effort in developing it.
Good luck!
-
@beyolf
Thanks , that clarifies few things for a newbie.
I am already thinking of selecting an older phone redmi 10 which has android 11 as I just want to make a port successful instead of wandering into unknowns.
So this android kernel from Xiaomi , is it part of their offical ROM image for a particular phone which I have to download as this step is not clear to me from the porting guide -
I am glad that i could help a bit. Xiaomi has official repo in github with kernels for their devices
https://github.com/MiCode/Xiaomi_Kernel_OpenSource
There you can find the official kernel source for your device.
Looks like there are 2 versions of Redmi Note 10 you have to select the right one based on the device code name.
Redmi note 10 5g (camellia) with MT chipset
Redmi note 10 (mojito) with QCOM chipsetIf i can help you with something else , let me know here or in telegram
Best of luck!
-
@beyolf Thanks
I guess one piece of the puzzle is Lineage OS
As per my understanding i can use Hallium 11 for android 11 based phones there s a guide for hallium there but where does this Lineage OS come into play .What do i need to do with it ? is it some alternate method of porting instead of hallium based ports ?. On its wiki page redmi 10 S phone is supported and some images are available to download
https://download.lineageos.org/devices/rosemary/builds
does this fact make things easier if it is listed under supported dvices on lineage OS wiki page.? -
@nibzy26 you dont need Lineage OS if you have official kernel avaliable. Some times its harder to find the manufacturers kernel so in that cases if the device has Lineage OS port it's kernel can be used instead. In your case thats not needed because you have official kernel from Xiaomi.
The other case which you might need to turn to Lineage OS is as specified previously, if you Don't have the right official ROM , then you can use Lineage OS ROM, but in your case thats not needed either, so you are safe to ignore Lineage OS at this point
Edit: also in the documentation there are 3 porting methods . The method which you should use is the Standalone kernel method , which is also the simplest way (Yayy)
-
@beyolf said in Xiaomi Redmi Note 12:
Edit: also in the documentation there are 3 porting methods . The method which you should use is the Standalone kernel method , which is also the simplest way (Yayy)
that's cool
lemme have a look at kernel methodthanks
-
Just to add a bit more clarification.
You need the official ROM because of the Vendor Specific Propitiatory Code or the vendor blobs as we call it , This blobs are located in the vendor partition of your device and are installed with the official ROM , UT cannot take this blobs and distribute them because this violates some license (Not very familiar what exactly) so thats why they need to be preinstalled on your device and thats done by the Official ROM (because they are distributed with it), when you flash UT on your device it does NOT delete this vendor partition (vendor blobs) but instead Halium is using it in order to make UT communicate with the hardware. Hope thats clarifies to you why you need Stock ROM installed on the device before installing UT.
-
Hi @beyolf:
Thanks for your explanation, but i have some questions about the stand alone kernel method:
1.I have a similar request, Now I have a android 10 device with its whole official code(kernel, vendor, system....etc) which use same CPU as Redmi note 9 pro, i mean , it use QCT 6250/7125..but i not found the my device name under https://gitlab.com/ubports/porting/community-ports.
I think the best match device is Redmi note 9 pro...2.I have just merged the Halium kernel patch to my kernel source code, then rebuild the boot image.
However, i don't know what i should do next,as the porting guide steps, I should download the halium ramdisk, halium gsi, and UBPorts rootfs with the scripts from https://mirrors.lolinet.com/firmware/halium/GSI/ubports_GSI_installer_v10.zip.
But it seems not work for me.I don't know what should i do next now....
-
Hello,
I wish you best of luck with your port effort and thank you for trying to bring new device to UT.
I would advice the following:
-
If you didn't read the porting guild please make sure to read it. Here is the link:
https://docs.ubports.com/en/latest/porting/introduction/index.html -
As it is mentioned in the porting guide it would be good to first try to boot the kernel and see if it works. If it does then you can start implementing the UT stuff. You can check the build scripts for miatoll devices.
https://gitlab.com/ubports/porting/community-ports/android10/xiaomi-redmi-note-9-pro/xiaomi-miatoll
- Join the UT porting telegram group.
https://t.me/ubports_porting
You can also contact me in telegram I will be happy to help with what I can.
Best of luck mate!
Edit: here is the kernel def config for miatoll
https://gitlab.com/ubports/porting/community-ports/android10/xiaomi-redmi-note-9-pro/kernel-xiaomi-sm6250/-/blob/halium-10.0-release/arch/arm64/configs/cust_defconfig?ref_type=heads -
-
https://github.com/bengris32/releases/releases/tag/ruby-21-1.0
lineageos 21 for xiaomi redmi note 12 pro