Armor 7 (Ulefone) TWRP and ROMs - Device Reviews and Information

Hola! There's little information or resources for this phone so far so I'm gonna give a summary of the ways to get root and install ROMs on the phone with a lot of links.
First you can install Magisk on the stock ROM using the Armor 6 method as described in this thread (via this post).
Secondly I built latest TWRP, download it here. I included my sloppy build for the Armor 7, and also the more proper Oppo RenoZ build that I slimmed down to fit into the 32MB recovery partition and confirmed it works. I don't know who made the Oppo ReonZ build, it's more complete but you have to switch from Chinese to English on init. I had to remove the SuperSU and unroot zips to slim it down. You might be able to remove some unused flash partitions and load bigger recovery images.
Via TWRP you can sideload magisk, SuperSU, gapps and whatever you wish on custom ROMs.
Thirdly you can load Phhusson's Quack Treble ROM (AOSP) or LineageOS, possibly many other custom GSIs too. Here's a list of known GSIs assembled by user phusson. These all come with the su binary pre-installed. The Android 9 (Pie) versions seem to work out of the box. The Android 10 (R) versions currently require that you run the following command from a PC during boot, otherwise bootup never finishes:
Code:
adb shell setprop debug.stagefright.ccodec 0
I'm told this has been fixed in the upstream code but it's not in the R releases yet. Additionally there are some screen artefacts on those builds which can be worked around by disabling the HW compositing feature in:
System -> Developer -> HW Accelerated Rendering -> Disable HW overlays
You may also want to disable the annoying "Wake-on-lift" feature in Display settings.
Pretty much everything works in those ROMs, battery life seems good, but the Armor 7 Camera features are not enabled in the stock Camera apps. I'm going to try to get the Camera app from the stock ROM copied and update this post with instructions.
The default firmware has the downside that it runs a service that basically kills all background processes and there are reports that it's hard to disable -- there's no such problem in the custom ROMs.
For the record, the official stock ROM is downloadable here (click EU or non-EU), for whenever you want to go back to the factory system or factory recovery (to remove TWRP). Remember you need to enable or disable dm-verity in the vbmeta partition, depending on which firmware you want to run. This is done by extracting the vbmeta.img file from the stock ROM linked above, rebooting into fastboot and running one of the following commands:
Code:
fastboot --disable-verity --disable-verification flash vbmeta vbmeta.img
or
Code:
fastboot --disable-verification flash vbmeta vbmeta.img
Also remember after flashing LineageOS (fastboot flash system lineage-17.1-20200607-UNOFFICIAL-treble_arm64_bvN.img), if you want GApps on the system, you should boot into TWRP and use ADB sideload to load the .zip downloaded from opengapps.org before doing the setup wizard on LineageOS for the first time.
Post here aboue whatever new ROMs and solutions you find for this phone.

Also quick info on how to modify the boot logo partition from Linux, there are already Windows tools for that (probably works for the Armor 7) but no info on how to do this from under Linux so here's how I flashed my own logo from my Ubuntu pc. Requires mono and Imagemagick installed.
1. Download and unzip that same Windows LogoBuilder utility for mediatek phones,
Code:
$ unzip ~/Downloads/LogoBuilder_v1.6.1.zip
$ cd LogoBuilder_v1.6
2. Extract the logo partition image from the phone or from the Armor 7 stock ROM package, in my case:
Code:
$ unzip ~/Downloads/GQ3083TF1_KSX90T_ulefone_EEA_20200327_V02\(EU\).zip X90T88C.GQU.Ulefone.EEA.HB.FHD.AYAZ.1225.V3.02/logo-verified.bin
3. Unpack the 40+ individual images from the logo partition using Windows/C# utility under mono:
Code:
$ mkdir unpacked
$ mono logo.exe unpack X90T88C.GQU.Ulefone.EEA.HB.FHD.AYAZ.1225.V3.02/logo-verified.bin unpacked
3. The bootloader splashscreen/bootlogo is now in unpacked/block1.dat and we need to convert it to a format that you can edit in Gimp or any other editor:
Code:
$ cp unpacked/block1.dat logo.rgba
$ convert -size 1080x2340 -depth 8 logo.rgba logo.png
4. Edit logo.png or replace it with a new PNG file. The file *must* be 1080x2340px in size and be a 24-bit RGB colors with alpha (transparency.)
5. Convert new logo back to .rgba. Use the command below and then check the size of the resulting new logo.rgba -- it must be exactly 10108800 bytes which is 1080 * 2340 * 4. If it's 7581600, or 1080 * 2340 * 3, that will mean you forgot to add the alpha channel to your png file (in Gimp, it's in Layer -> Transparency -> Add Alpha Channel).
Code:
$ convert logo.png logo.rgba
If the new file size is 10109312 instead, strip the 512 header using dd:
Code:
$ dd if=logo.rgba of=logo2.rgba bs=512 skip=1 # only if the file size was 10109312 instead of 10108800
6. re-pack the logo partition image:
Code:
$ cp logo.rgba unpacked/block1.dat # or logo2.rgba...
$ mono logo.exe pack unpacked logo-new.bin
The new img size is not exactly as the original img but it works nevertheless.
7. flash it over the logo partition, as root:
Code:
# fastboot flash logo logo-new.bin

A big thanks to you. I successfully installed LineageOS on my Ulenfone Armor 7
The biggest problem is this line to type on each reboot
Code:
adb shell setprop debug.stagefright.ccodec 0

atricault said:
A big thanks to you. I successfully installed LineageOS on my Ulenfone Armor 7
The biggest problem is this line to type on each reboot
Click to expand...
Click to collapse
Couldn't this be added to build.prop?

clewis.it said:
Couldn't this be added to build.prop?
Click to expand...
Click to collapse
Yeah, I think I added it to default.prop eventually, I'm back to the stock ROM for now so can't check. Try:
Code:
adb shell
su
mount -o remount,rw /
echo debug.stagefright.ccodec=0 >> /default.prop
I'm back to the stock ROM because I can't get the Camera app working on lineageos, I managed to extract the stock app and fix some missing class errors but I think it depends on all those mediatek services. Maybe there's an Android 10 stock ROM from some other device from which those could be copied...

balrog-kun said:
Yeah, I think I added it to default.prop eventually, I'm back to the stock ROM for now so can't check. Try:
Code:
adb shell
su
echo debug.stagefright.ccodec=0 >> /default.prop
I'm back to the stock ROM because I can't get the Camera app working on lineageos, I managed to extract the stock app and fix some missing class errors but I think it depends on all those mediatek services. Maybe there's an Android 10 stock ROM from some other device from which those could be copied...
Click to expand...
Click to collapse
I got this error :
/system/bin/sh: can't create /default.prop: Read-only file system
But I'll go back to stock ROM too, because of Camera and I don't have enought knowledges to try to solve the problem

Oh right I forgot, for future reference you need to remount the filesystem read-write before that last command:
mount -o remount,rw /
Adding this to the previous post.

balrog-kun said:
Oh right I forgot, for future reference you need to remount the filesystem read-write before that last command:
mount -o remount,rw /
Adding this to the previous post.
Click to expand...
Click to collapse
Sorry I'm back to stock ROM.
But before that I tried this line
Code:
mount -o rw, remount /
And got this error
Code:
mount: 'remount'->'/': No such file or directory
Do you fix the background process killer on stock ROM?

atricault said:
Code:
mount -o rw, remount /
And got this error
Code:
mount: 'remount'->'/': No such file or directory
Click to expand...
Click to collapse
That's gonna be because of the space between rw, and remount.
atricault said:
Do you fix the background process killer on stock ROM?
Click to expand...
Click to collapse
Honestly I haven't had this problem so far. I have Don't keep activities disabled in System->Developer Options->Apps but I think it was off by default. Maybe Standby apps also affects this?
I was recording a hike track in Strava today for a few hours, and I took pictures, made calls, googled, etc. while Strava was running.

balrog-kun said:
Secondly I built latest TWRP
Click to expand...
Click to collapse
Do you have any instructions on how to build TWRP for the armor phones? I would like try building one for the Armor 3W.

Camera works well in daylight (but not in the dark) on the latest Havoc-OS 3.6 20200613 arm64-ab. Screen artefacts still there though unless HW overlays is disabled.

clewis.it said:
Do you have any instructions on how to build TWRP for the armor phones? I would like try building one for the Armor 3W.
Click to expand...
Click to collapse
Not really, I roughly followed https://forum.xda-developers.com/showthread.php?t=1943625 and one or two other places. I used the omni "minimal" manifest which includes TWRP:
Code:
repo init -u git://github.com/minimal-manifest-twrp/platform_manifest_twrp_omni.git -b twrp-9.0
(the branch "twrp-9.0" is because the stock kernel is for Android 9, if Armor 3 comes with Android 8, use twrp-8.0)
Then I needed to create the "device tree" (apparently not related to Linux device trees...), I started with https://github.com/TeamWin/android_device_ulefone_Armor_6 and went about renaming files and updating all the values in all the files based on the values in build.prop / default.prop in the stock system.img. Also replaced prebuilt/kernel with the kernel from stock boot.img. Apparently using a prebuilt kernel is deprecated but it worked and I guess the build is faster.
I also replaced the init.*.rc files with the ones from the stock recovery.img but honestly I can't tell you exactly which files to use. I didn't exactly know what needs to go in which init.*.rc file and when they're called, and I didn't bother looking for documentation for that, but I did have to move some fragment between files to make adb work.
Another caveat was making sure the build system uses python 2 because apparently most scripts are not python 3-compatible.

CodeParadise said:
Camera works well in daylight (but not in the dark) on the latest Havoc-OS 3.6 20200613 arm64-ab. Screen artefacts still there though unless HW overlays is disabled.
Click to expand...
Click to collapse
Do you never get the "can't connect to camera" errors?
The main thing about the stock camera app is that you can be almost sure that you're getting the max available performance from the camera in terms of zoom, color, etc. I.e. it probably automatically switches to the 2x camera when you zoom in (no idea), there's the fast HDR mode, UHD mode, slow motion, etc.
With any 3rd party app my guess it's only using one of the rear cameras. With the stock app honestly I can't know for sure if/when it ever uses the aux rear cameras, I hope it does though. Honestly the 3-camera setup on this phone doesn't seem very useful but hopefully there's some logic behind it...
And BTW even on the stock ROM I'm unable to record in more than 30fps using HedgeCam 2 (OpenCamera). It looks like it detects the frame rates supported by the hardware (30, 60, 120) but it crashes when I start recording.

balrog-kun said:
Do you never get the "can't connect to camera" errors?
The main thing about the stock camera app is that you can be almost sure that you're getting the max available performance from the camera in terms of zoom, color, etc. I.e. it probably automatically switches to the 2x camera when you zoom in (no idea), there's the fast HDR mode, UHD mode, slow motion, etc.
With any 3rd party app my guess it's only using one of the rear cameras. With the stock app honestly I can't know for sure if/when it ever uses the aux rear cameras, I hope it does though. Honestly the 3-camera setup on this phone doesn't seem very useful but hopefully there's some logic behind it...
And BTW even on the stock ROM I'm unable to record in more than 30fps using HedgeCam 2 (OpenCamera). It looks like it detects the frame rates supported by the hardware (30, 60, 120) but it crashes when I start recording.
Click to expand...
Click to collapse
I do get those errors, more so after trying different camera apps. The GSI camera implementation on this phone certainly needs more work. I notified the phh GSI group on Telegram and hopeful newer GSI versions will begin to fix the issue but as you say, getting the full camera functions equivalent to the stock ROM camera may be a long stretch.

this version of twrp does not work with the armor 7 made my phone bootloop and I had to reflash stock recovery.

grenskul said:
this version of twrp does not work with the armor 7 made my phone bootloop and I had to reflash stock recovery.
Click to expand...
Click to collapse
Could be wrong vbmeta image, they work for me.

Anyone tired this with the Armor 7E ?

Hi,
I'm stuck in a pickle here and would much appreciate any guidance.
Firstly, I'm a bit of a noob. So please bear with me.
I managed to unlock my Armor 7 and I'm able to fastboot into it (I see the device appearing through the shell after typing 'fastboot devices').
I followed balrog-kun guidance and downloaded his/her modified TWRP, and even Oppo's one, and flashed firstly balrog's TWRP onto the phone, but that made my phone keep booting, get a message of 'Orange State - Your device has been unlocked and cannot be trusted. Your device will restart in 5 seconds', takes about 10 seconds, restarts, and the same thing keeps happening.
I then tried flashing Oppo's. The same thing keeps happening.
When I flash them, I use the following:
fastboot flash recovery recovery.img
EDIT: If I may add, I also tried:
fastboot boot recovery.img
and the same thing happens.
Update: I managed to get the stock recovery flashed back into the phone and it is back up and running. Now, how do I flash barlog's TWRP successfully without running into a boot loop?
Any guidance would be much appreciated.
Thank you.

grenskul said:
this version of twrp does not work with the armor 7 made my phone bootloop and I had to reflash stock recovery.
Click to expand...
Click to collapse
Hey grenskul, I think I'm facing the same issue. Can you please share where you got the stock recovery? Thanks.
Update: I managed to find it from Ulefone's website, flahsed it and the phone is back up. Thanks.

Further update: after reading towards the end of Balrog's first post, I got the vbmeta.img from the stock and flashed it using the first command from the same post. That made flashing balrog and Oppo's TWRPs smoothly - the phone doesn't get stuck in a bootloop anymore.
BUT, when I go into recovery, I still get the stock recovery and not TWRP....?
Any thoughts?
UPDATE: For some reason, I had to reflash the recovery a couple of times (!) - used the TWRP supplied by balrog and now I got TWRP working (thank you!).
By the way: In my journey I'm following this post to upgrading my Amror 7 from Android 9 to Android 10 using the supplied Lineage version (17.1), but I also found 18.1 from the same contributor (Andy).

Related

[FIX] FED-Patcher v7 (ForceEncrypt Disable Patcher)

Hello everybody,
I created a tool for the nexus 9 that gets rid of the ForceEncrypt flag in a generic way (meaning it should work no matter what rom you are on). It does that by patching the currently installed boot.img.
Background
The Android CDD (Compatibility Definition Document) suggests that all devices SHOULD enable full disk-encryption (FDE) by default. Even though I support every step towards more security I have to criticize this approach. FDE comes at a price. Encryption takes time because some component has to de- and encrypt the stuff on the disk at some point and in the case of the nexus 9 (aka flounder) it's the CPU's task. Even though the nexus 9's CPU has 2 pretty fast cores you can still easily feel the difference between FDE in the on- or off-state. The I/O is faster and boot-times take only half as long. (I did not do any measurements)
There is an ongoing discussion about this topic in cyanogenmod's gerrit. Although it's a fun read it is pretty clear that this exchange of views is not going anywhere near a useful outcome.
Because performance is important to me and my tablet does not need the extra security I created the FED-Patcher (ForceEncrypt Disable Patcher)
How does it work?
FED-Patcher is a simple flashable ZIP that is supposed to be run in a recovery that has busybox integrated (like TWRP or CWM). This is what it does:
Checks if your device is compatible
Dumps the currently installed boot.img.
Unpacks the dump of your currently installed boot.img. The unpacking process is done via a self-compiled, statically linked version of unmkbootimg.
It patches the filesystem tables which include the force-encrypt flags. This process will change "forceencrypt" to "encryptable".
Then it patches the filesystem tables to not use dm-verity. This is done by removing the "verify" mount-parameter.
Creates a new boot.img. The unpacking process is done via a self-compiled, statically linked version of mkbootimg.
Flashes the modified boot.img
Supported devices
HTC Nexus 9 WiFi (flounder)
HTC Nexus 9 LTE (flounder_lte)
Motorola Nexus 6 (shamu)
Version History
v1 - Initial version with HTC Nexus 9 WiFi (flounder) support
v2 - Added Motorola Nexus 6 (shamu) support
v3 - Added support for HTC Nexus 9 LTE (flounder_lte)
v4 - Added support for signed boot-images
v5 - Changed error handling to compensate for missing fstab files. Some roms seem not to ship with the complete set of boot-files from AOSP.
v6 - FED-Patcher will enforce the same structure for the patched boot.img that the original boot.img had. Additionally, the kernel commandline will also be taken over. This should fix pretty much every case where devices would not boot after patching.
v7 - FED-Patcher will now disable dm-verity in fstab to get rid of the red error sign on marshmallow roms.
What do I need to make this work?
A supported device (Your nexus 9)
An unlocked bootloader
An already installed ROM with forceencrypt flag. (like cyanogenmod CM12.1)
A recovery that includes busybox (TWRP, CWM)
How do I use it?
Make a thorough, conservative backup of your data if there is any on your device
Go into your recovery (TWRP, CWM)
Flash fed_patcher-signed.zip
If your device is already encrypted (You booted your ROM at least once) you need to do a full wipe to get rid of the encryption. This full wipe will clear all your data on your data-partition (where your apps as well as their settings are stored) as well as on your internal storage so please, do a backup before. If you don't do a backup and want to restore your data... well... Call obama.
How do I know if it worked?
Go into your "Settings"-App. In "Security", if it offers you to encrypt your device it is unencrypted. If it says something like "Device is encrypted" it indeed is encrypted.
IMPORTANT: If you update your ROM you have to run FED-Patcher again because ROM-updates also update the boot-partition which effectively removes my patch. So, if you are on CM12.1 for example and you used my patch and do an update to a newer nightly you have to run FED-Patcher again. If you don't do so Android will encrypt your device at the first boot.
Is it dangerous?
Well, I implemented tons of checks that prevent pretty much anything bad from happening. But, of course, we're dealing with the boot-partition here. Even though I tested FED-Patcher quite a lot there is still room for crap hitting the fan.
Screenshot
Scroll down to the attached thumbnails.
Credits
* pbatard for making (un)mkbootimg (dunno if he is on xda)
* @rovo89 for his xposed framework - I used some of his ideas by reading the source of his xposed installer flashable ZIP for FED-Patcher.
Thanks for creating this! In theory, would this work for the Nexus 6 as well? It would seem like it's a similar process.
itlnstln said:
Thanks for creating this! In theory, would this work for the Nexus 6 as well? It would seem like it's a similar process.
Click to expand...
Click to collapse
Hey there,
yes, it would probably work because the process itself is pretty generic. The only real difference between devices is the device-path for the boot-partition as well as the path(s) for the fstab-file(s) inside the boot.img. Nothing that cannot be done - but I don't have a device for testing. If you feel adventurous I can do a nexus6 (shamu) version for you for testing. I will double check so it should not eff up your device .
EDIT: Not to forget, the nexus 9 is a 64bit device. mkbootimg as well as unmkbootimg are compiled for 64bit. I have to rebuild those two programs for 32bit to make them work for 32bit devices.
If you have time for a N6 build, that would be great. If not, it's not a big deal since there seems to be more support for that device.
itlnstln said:
If you have time for a N6 build, that would be great. If not, it's not a big deal since there seems to be more support for that device.
Click to expand...
Click to collapse
Well, it's pretty much done. Do you want to test a version that does not actually flash anything but do everything else - just to see if it works correctly?
Absolutely!
itlnstln said:
Absolutely!
Click to expand...
Click to collapse
Alright, here you go!
If no error occurs there will be the already modified boot.img file in your temp-directory of your nexus 6. You can send me this file to be completely sure that everything went according to plan. Here is the adb-command:
Code:
adb pull /tmp/fed_patcher/boot-new.img
If all goes well I will upload the new version with nexus 6 (shamu) support tomorrow.
Good night!
gladiac said:
Alright, here you go!
If no error occurs there will be the already modified boot.img file in your temp-directory of your nexus 6. You can send me this file to be completely sure that everything went according to plan. Here is the adb-command:
Code:
adb pull /tmp/fed_patcher/boot-new.img
If all goes well I will upload the new version with nexus 6 (shamu) support tomorrow.
Good night!
Click to expand...
Click to collapse
Thanks! It seemed to work OK. Here's the boot image.
itlnstln said:
Thanks! It seemed to work OK. Here's the boot image.
Click to expand...
Click to collapse
Thanks for your help! I just updated the flashable ZIP in the first post. Enjoy
gladiac said:
Thanks for your help! I just updated the flashable ZIP in the first post. Enjoy
Click to expand...
Click to collapse
You're the best! Thanks!
I noticed in op it says "4 pretty fast cores". This puppy only has 2 cores. Just throwing it out there for readers that don't know. I'm sure it was just a minor oversight.
Sent from my Nexus 9
madbat99 said:
I noticed in op it says "4 pretty fast cores". This puppy only has 2 cores. Just throwing it out there for readers that don't know. I'm sure it was just a minor oversight.
Sent from my Nexus 9
Click to expand...
Click to collapse
Hi,
you are right, thanks. I just fixed the text in the op.
Hey everybody,
I will enable support for the Nexus 9 LTE (flounder_lte) this afternoon in FED-Pather v3. If you want other devices to be supported please tell me. Is there a list of android devices that have forced encryption?
So this works great, leaving device unencrypted. But anyone having issues with apps crashing? Most especially Google Play Services?
femmyade2001 said:
So this works great, leaving device unencrypted. But anyone having issues with apps crashing? Most especially Google Play Services?
Click to expand...
Click to collapse
This problem is new to me. My patch only modifies the boot-image so that it does not enforce encryption. It is merely a flag in fstab that gets changed and should not have anything to do with crashing apps. Anyway, do you have a logcat?
Hey everybody,
v3 is here with HTC Nexus 9 LTE (flounder_lte) support!
Enjoy
I'm getting an error with my N9 (WiFi). When I try flashing in TWRP, it throws this error:
! Unpacking failed
=> unmkbootimg return value: 0
E: Error executing updater binary in zip...
All I did was go into fastboot, flash the updated image for LMY48M, then go into TWRP to flash the fix. I even went back into fastboot to try re-flashing the boot.img.
itlnstln said:
I'm getting an error with my N9 (WiFi). When I try flashing in TWRP, it throws this error:
! Unpacking failed
=> unmkbootimg return value: 0
E: Error executing updater binary in zip...
All I did was go into fastboot, flash the updated image for LMY48M, then go into TWRP to flash the fix. I even went back into fastboot to try re-flashing the boot.img.
Click to expand...
Click to collapse
Hi, sorry to hear that. I will have a look into the boot.img that gets shipped with LMY48M. Not sure what is going on here.
itlnstln said:
I'm getting an error with my N9 (WiFi). When I try flashing in TWRP, it throws this error:
! Unpacking failed
=> unmkbootimg return value: 0
E: Error executing updater binary in zip...
All I did was go into fastboot, flash the updated image for LMY48M, then go into TWRP to flash the fix. I even went back into fastboot to try re-flashing the boot.img.
Click to expand...
Click to collapse
Alright - unmkbootimg fails because the boot.img that google ships has 256 Bytes of extra data (it is probably signed or something) at the beginning. If you strip that off it works correctly:
Code:
dd if=boot.img of=boot-stripped.img bs=256 skip=1
Well, this was unexpected. But nothing that cannot be dealt with. I will make my flashable ZIP search for the offset of the boot.img-signature inside the dumped boot.img and strip of the preceding data. The rest of the process should work as usual.
itlnstln said:
I'm getting an error with my N9 (WiFi). When I try flashing in TWRP, it throws this error:
! Unpacking failed
=> unmkbootimg return value: 0
E: Error executing updater binary in zip...
All I did was go into fastboot, flash the updated image for LMY48M, then go into TWRP to flash the fix. I even went back into fastboot to try re-flashing the boot.img.
Click to expand...
Click to collapse
Hi @itlnstln,
I just made a new version which should do the trick. I tested the new functionality to the best of my knowledge. If the script fails for some reason it wont flash anything - so the probability for actual damage is very low. Do you feel adventurous xD?
Please tell me if it worked for you or not.

Bootloop after flashing gapps to any 64bit rom

Model Device: XT1676
Yesterday I unlocked the bootloader, the message "ID: bad key" appeared when the phone was started. I ignored this, I flashed the 64bit twrp and here the problems start - I've tried many roms:
- FireHound v4.5,
- AospExtended v5.4,
- BootleggersROM 2.2,
- dotOS 2.1 and 2.2,
On all roms (except for dotOS 2.1) the same problem appears - the system itself works and starts correctly, but when I flash any version of Open Gapps the phone falls into the bootloop, the exception is dotOS 2.1, it works fine, but there are not many functions has dotOS 2.2, interestingly - when I flash dotOS 2.1, gapps, run the phone and then I do flash update to 2.2, everything works fine, but I would like to use another rom, but all have the same problem, does anyone know how I fix it?
And as for "ID: bad key" - I can not even relock the bootloader and unlock again (I read that helps), because the phone has a bootloader with the NPPS25.137-93-8 stock version, which even can not be downloaded anywhere, and the flash attempt of the older stock is canceled due to the older security patch.
The message bad key is normal - you can replace the splash screen if you want
Make sure you have formatted data
Some roms require a certain type of gapps - if it's a 64bit rom make sure you are using 64bit gapps
Check thread 1st post and user comments for any information on this
Some users have reported booting the rom first without gapps then Data wipe only then flash rom & gapps again
You can also try disabling the welcome screen on first launch
In twrp, mount /system, go to advanced, terminal and type
echo "ro.setupwizard.mode=DISABLED" >> /system/build.prop
TheFixItMan said:
The message bad key is normal - you can replace the splash screen if you want
Make sure you have formatted data
Some roms require a certain type of gapps - if it's a 64bit rom make sure you are using 64bit gapps
Check thread 1st post and user comments for any information on this
Some users have reported booting the rom first without gapps then Data wipe only then flash rom & gapps again
You can also try disabling the welcome screen on first launch
In twrp, mount /system, go to advanced, terminal and type
echo "ro.setupwizard.mode=DISABLED" >> /system/build.prop
Click to expand...
Click to collapse
Booting the rom first without gapps then Data wipe only then flash rom & gapps again didn't help, I use the latest arm64 gapps but I still have a bootloop on almost all the latest roms, disabling setupwizard didn't work - The only roms that work for me are those from before April.
EDIT
I downloaded the build.prop through ADB, edited it over the computer and sent it back to the phone - it helped, thanks for the advice.
Thread to close.
Wanted_X2 said:
Booting the rom first without gapps then Data wipe only then flash rom & gapps again didn't help, I use the latest arm64 gapps but I still have a bootloop on almost all the latest roms, disabling setupwizard didn't work - The only roms that work for me are those from before April.
EDIT
I downloaded the build.prop through ADB, edited it over the computer and sent it back to the phone - it helped, thanks for the advice.
Thread to close.
Click to expand...
Click to collapse
how did you get build.prop by adb? in twrp? what commands? thanks
durc12 said:
how did you get build.prop by adb? in twrp? what commands? thanks
Click to expand...
Click to collapse
Yes, I used ADB, commands:
to download build.prop - adb pull /system/build.prop
after edit, to push file into device:
adb push build.prop /system/
adb shell
cd system
chmod 644 build.prop
There is full tutorial: www.ultimatetech.org/edit-build-prop-file-android-withwithout-root/
Wanted_X2 said:
Yes, I used ADB, commands:
to download build.prop - adb pull /system/build.prop
after edit, to push file into device:
adb push build.prop /system/
adb shell
cd system
chmod 644 build.prop
There is full tutorial: www.ultimatetech.org/edit-build-prop-file-android-withwithout-root/
Click to expand...
Click to collapse
I install the rom, then the gapps, but it says to me that no build.prop is ther with the pull command, I don´t know why
EDIT: finally I did it, but it was neccesary to mount /system in twrp, to check the box in "mount". Thaks for all

[RECOVERY][Android 10/11][Stock/SODP][XZ2/C/P/3] TWRP 3.4.0-0 [UNofficial]

The Sony Open Devices Project is always happy about volunteers (coding, testing, etc)
Also mainlining your favorite snapdragon powered xperia device into the mainline kernel is possible and we will be glad to help you!
Official site
Unofficial site
Code:
#include <std_disclaimer.h>
/*
*
* 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.
*
*/
Team Win Recovery Project 3.x, or twrp3 for short, is a custom recovery built with ease of use and customization in mind. Its a fully touch driven user interface no more volume rocker or power buttons to mash. The GUI is also fully XML driven and completely theme-able. You can change just about every aspect of the look and feel.
FAQ:
Just wiping your phone in TWRP lead into an encrypted & not readable userdata in the stock system.
You need to open advanced wiping and check the entries data and internal storage.
Of course clear the dalvik, too.
If you backed up system and/or vendor partitions and you want to restore them, make sure that TWRP setting "Use rm -rf instead of formatting" is set!.
If after the usage of NewFlasher or the OTA Updater or something else, which installs stock firmware parts you get stuck into the TWRP or SONY Logo, you need again to disable the verification with the vbmeta.img file and its parameters in fastboot.
fastboot & adb
https://developer.sony.com/develop/open-devices/get-started/flash-tool/useful-key-combinations/
https://wiki.lineageos.org/adb_fastboot_guide.html
https://developer.android.com/studio/releases/platform-tools
Weird problems not easily to reproduce by other users require that you make sure, that you
Use the newest platform tools (adb & fastboot)
Downloaded the newest firmware via Xperifirm from XDA and installed the newest firmware via Newflasher from XDA
Newflasher from XDA
Xperifirm from XDA
Removing the stock bloat apps via titanium backup may result in a boot loop. Use a file explorer to remove them, disable them or try to use my unfinished bloat removal script at github.
Your phone reboots into recovery, instead of system? Maybe it crashed too often due to a wrong installation or whatever?
In TWRP:
Code:
cat /dev/block/bootdevice/by-name/misc
shows you the reason.
TWRP -> [WIPE] -> [Advanced Wipe] -> Tick only the misc -> [Swipe to Wipe]
Known Bugs:
The "fastboot boot twrp.img" doesn't work, if you use the hardware buttons to open the blue fastboot bootloader mode. Only use adb, twrp or the android system to reboot into blue fastboot bootloader mode or flash the twrp.img, boot the device, reboot into bootloader and flash the original boot.img back, before booting into twrp.
You can also "fastboot reboot bootloader" in the blue fastboot mode.
This is a bootloader bug, maybe it gets fixed with the stock Q bootloader.
If "fastboot boot twrp.img" results into a blackscreen and reboot of the phone, take a look if you modified the DTBO partition.
It requires a special TWRP for every modified kernel/dtbo until I find some way to unify the twrp kernel with the DTBO (if the bootloader supports it).
Bugtracker:
TWRP Bugtracker -> If you think the problem is in TWRP
My Bugtracker -> If you think the problem is in my implementation
Bugreport:
A bugreport needs your device name, dmesg, the /tmp/recovery.log and a way to reproduce the issue.
If possible use
Code:
logcat -b all
instead of just a dmesg.
If ADB is not working to provide logs
VOLUP+POWER for 1 Seconds -> Forced crash to create a pstore
Boot the normal system.
Give me the files in
Code:
/sys/fs/pstore/
If the TWRP is stuck at the TWRP logo, the chances are high, that the decryption didn't succeed.
To rescue a not responding phone:
VOLUP+POWER for 3 Seconds -> RESTART with one Vibration.
VOLUP+POWER for 20 Seconds -> SHUTDOWN with 3 Vibrations.
VOLUP+POWER+CAMERA for 30 Seconds -> HARDWARE SHUTDOWN by discharging a capacitor.
Thank you very much for your help, code contribution & testing! (Random order):
@dees_troy and his team of volunteers for the TWRP code
@dhacke thank your for providing a download server
Shame on me if I forgot someone after searching through the thread and my PM's!
And many thanks to the few donators!
A telegram group for technical SODP stuff:
https://t.me/xda_tv
XDA:DevDB Information
TWRP, ROM for the Xperia XZ2
Contributors
MartinX3, Sony
Source Code: https://github.com/MartinX3-AndroidDevelopment
ROM OS Version: Android 10
ROM Kernel: Linux 4.x
ROM Firmware Required: Newest recommended
Based On: AOSP
Version Information
Status: Stable
Current Stable Version: 3.4.0-0
Stable Release Date: 2020-06-13
Created 2020-03-29
Last Updated 2020-06-20
Download & Installation
Download:
https://androidfilehost.com/?w=devices&uid=11410963190603893035
https://www.dhsfileserver.de/ftp/martinx3/ Thank you @dhacke for the second download server
Installation:
Update to newest stock firmware before unlocking!!!
Unzip the *.gz files with https://7-zip.org/ or Linux.
Enter fastboot via software, not hardware buttons. See "Known Bugs".
fastboot --disable-verity --disable-verification flash vbmeta vbmeta.img
fastboot boot twrp.img
Advanced menu -> "Install recovery ramdisk" -> Choose twrp.img
Reboot into installed TWRP
Want Root? -> Magisk
(Only if your phone doesn't boot to system anymore) Advanced menu -> "Fix recovery bootloop"
(Optional; Security degradation; Only if you know what you're doing) Switch SELinux to permissive (with my permissive.zip)
News
02.03.2021
Reuploaded the SODP TWRP with a workaround for Android 11 compatibility.
Click to expand...
Click to collapse
15.06.2020
reuploaded the stock twrp for the xz2 premium with a completely fixed touch.
Click to expand...
Click to collapse
14.06.2020
reuploaded the stock twrp with a later touch kernel modules initialization.
Hopefully fixing the randomly happening not working touch.
Click to expand...
Click to collapse
13.06.2020
thanks to the fixes in 3.4.0 we got now a twrp with the following enhancements for stock and sodp:
- this twrp will work with future 10.0 roms, you don't need a new build matching the security patch level of your rom.
- you can install this twrp again with the buildin ramdisk patcher. Please follow the installation instructions.
Click to expand...
Click to collapse
11.06.2020
switch to twrp 3.4.0
sodp twrp 2020-06 security patch level
stock twrp 2020-05 security patch level for firmware 52.1.a.2.1
now both twrp should work without a rom being installed (empty system/vendor/oem partitions) and still be able to decrypt your userdata.
Also the stock twrp touch should now always work instead of playing russian roulette.
Click to expand...
Click to collapse
11.05.2020
reuploaded sodp twrp for 2020-05 security patch level.
It didn't boot with the newest aosp.
Click to expand...
Click to collapse
07.05.2020
sodp twrp for 2020-05 security patch level.
Click to expand...
Click to collapse
14.04.2020
removed stock twrp for firmware 52.1.a.0.672 until sony releases the kernel sources of the new security patch level.
Otherwise the keymaster won't decrypt the userdata for twrp and twrp gets stuck on the twrp logo.
Click to expand...
Click to collapse
13.04.2020
stock twrp for firmware 52.1.a.0.672
sodp twrp for 2020-04 security patch level
hopefully fixed the touch problems of the stock twrp
fixed the forced read only partition mountings of system, vendor, odm
Click to expand...
Click to collapse
31.03.2020
stock twrp for firmware 52.1.a.0.618
Click to expand...
Click to collapse
30.03.2020
sodp twrp for 2020-03 security patch level
installing in ramdisk (to make it persistent) is impossible at the moment, because it is a 9.0 twrp which makes its ramdisk incompatible to the rom.
Of course monthly twrp releases in sync with the current patch level need to be released or i would need to remove the userdata decryption completely.
The stock twrp will follow, after it became ready.
Click to expand...
Click to collapse
30.03.2020
SODP TWRP for 2020-03 security patch level
Installing in Ramdisk (to make it persistent) is impossible at the moment, because it is a 9.0 TWRP which makes its ramdisk incompatible to the ROM.
Of course monthly TWRP releases in sync with the current patch level need to be released or I would need to remove the userdata decryption completely.
The Stock TWRP will follow, after it became ready.
Click to expand...
Click to collapse
PS: AndroidFileHost blocked me for doing too many actions at the same time.
Maybe I can upload it there tomorrow.
Done
can't wait for possibility to install in ramdisk
but now there is a working recovery :highfive:
31.03.2020
Stock TWRP for firmware 52.1.A.0.618
Click to expand...
Click to collapse
xz3 twrp
MartinX3 said:
31.03.2020
Click to expand...
Click to collapse
xz3 twrp won't boot, sodp version is good but there's no install on ramdisk?
hafiidh said:
xz3 twrp won't boot, sodp version is good but there's no install on ramdisk?
Click to expand...
Click to collapse
You mean SODP TWRP works, but not the stock TWRP on your XZ3?
You are stuck on sony logo?
Or on TWRP logo?
I need a bugreport with "logcat -b all" via adb.
Install ramdisk doesn't work at the moment, because it is a TWRP 9.0 hack, since TWRP 10.0 is ready.
But I wrote it in the news
Edit:
Reworked the thread a bit for more clarification
First! Wonderful job!
---EDIT------
Everything works fine! So nice!
@MartinX3 Great job as always bro! :good:
I ran it on my XZ2 (stock 52.1.A.0.618).
Phone has booted to the twrp screen (till the unlock pattern), but the touch is not working (log).
I didn't start from scratch (fresh install), for the record.
Tia!
serajr said:
@MartinX3 Great job as always bro! :good:
I ran it on my XZ2 (stock 52.1.A.0.618).
Phone has booted to the twrp screen (till the unlock pattern), but the touch is not working (log).
I didn't start from scratch (fresh install), for the record.
Tia!
Click to expand...
Click to collapse
Thank you
Are you sure the touch doesn't work?
I tested this release on the same firmware on my XZ2 in stock.
This confuses me now.
You booted stock .618 before and you tried to deactivate & activate the display?
Here it worked right out of the box.
And if it happens again, could you execute "start preptouch"
And if that not works, could you execute "/sbin/preptouch.sh"?
Sjll said:
First! Wonderful job!
---EDIT------
Everything works fine! So nice!
Click to expand...
Click to collapse
Thank you
MartinX3 said:
[...] Are you sure the touch doesn't work?
And if it happens again, could you execute "start preptouch"
And if that not works, could you execute "/sbin/preptouch.sh"?
Click to expand...
Click to collapse
I am. I have tried at least three times so far. Tried turning off and on the screen, but the slide to unlock didn't work, too.
"start preptouch", no response, no working touch
"/sbin/preptouch.sh"...
Code:
insmod: failed to load /sbin/clearpad_rmi_dev.ko: File exists
insmod: failed to load /sbin/clearpad_core.ko: File exists
insmod: failed to load /sbin/clearpad_i2c.ko: File exists
akari:/sbin # ls -l
Tia again
serajr said:
I am. I have tried at least three times so far. Tried turning off and on the screen, but the slide to unlock didn't work, too.
"start preptouch", no response, no working touch
"/sbin/preptouch.sh"...
Code:
insmod: failed to load /sbin/clearpad_rmi_dev.ko: File exists
insmod: failed to load /sbin/clearpad_core.ko: File exists
insmod: failed to load /sbin/clearpad_i2c.ko: File exists
akari:/sbin # ls -l
Tia again
Click to expand...
Click to collapse
And the service menu of android should also say that you use the clearpad driver.
And I assume the 9.0 stock twrp did always touch fine?
The script say that the kernel modules for the touch driver got loaded and I assume the sys path in the script file got executed too, after loading the .ko files.
And you have a normal European firmware?
That's now a mystery for me why it works for me and others, but not in your phone
Especially if you have the clearpad touch hardware
MartinX3 said:
And the service menu of android should also say that you use the clearpad driver.
And I assume the 9.0 stock twrp did always touch fine?
The script say that the kernel modules for the touch driver got loaded and I assume the sys path in the script file got executed too, after loading the .ko files.
And you have a normal European firmware?
That's now a mystery for me why it works for me and others, but not in your phone
Especially if you have the clearpad touch hardware
Click to expand...
Click to collapse
I got the touch working after copying the three .ko libs to the ramdisk /sbin folder, and a small editing (below) in the permissive.sh (also removed "$touch_id" == "3" from preptouch.sh).
Code:
setenforce 0
insmod /sbin/clearpad_rmi_dev.ko
insmod /sbin/clearpad_core.ko
insmod /sbin/clearpad_i2c.ko
echo 1 > /sys/devices/virtual/input/clearpad/post_probe_start
I know this is an awful workaround, but maybe this give you some hint (or sets you more confusing yet )
I'm with the sony stock customized_br fw, as always!
serajr said:
I got the touch working after copying the three .ko libs to the ramdisk /sbin folder, and a small editing (below) in the permissive.sh (also removed "$touch_id" == "3" from preptouch.sh).
Code:
setenforce 0
insmod /sbin/clearpad_rmi_dev.ko
insmod /sbin/clearpad_core.ko
insmod /sbin/clearpad_i2c.ko
echo 1 > /sys/devices/virtual/input/clearpad/post_probe_start
I know this is an awful workaround, but maybe this give you some hint (or sets you more confusing yet )
I'm with the sony stock customized_br fw, as always!
Click to expand...
Click to collapse
Ah you have a XZ2C, not a XZ2?
Because the removed ID 3 is for the XZ2 with clearpad touch.
But the script did already copy the .ko files into your /sbin before and executed the same code, you did now manually.
And according to your logs the setenforce 0 was already executed earlier.
So you just did the same the script did.
Well, yes you confuse me more
Could you try to just execute "echo 1 > /sys/devices/virtual/input/clearpad/post_probe_start" if the touch doesn't work again?
I wonder if the initialization is too early on your device.
Then I could try to delay the preptouch service to a later stage of the device boot.
MartinX3 said:
Ah you have a XZ2C, not a XZ2?
Because the removed ID 3 is for the XZ2 with clearpad touch.
But the script did already copy the .ko files into your /sbin before and executed the same code, you did now manually.
And according to your logs the setenforce 0 was already executed earlier.
So you just did the same the script did.
Well, yes you confuse me more
Could you try to just execute "echo 1 > /sys/devices/virtual/input/clearpad/post_probe_start" if the touch doesn't work again?
I wonder if the initialization is too early on your device.
Then I could try to delay the preptouch service to a later stage of the device boot.
Click to expand...
Click to collapse
I have a regular XZ2 (H8216), and its touch_id is 3 (customized_br fw), so I removed the Id 3.
"Could you try to just execute..." I've already tried that, with no success.
"Then I could try to delay the preptouch..." Cool... As you could notice, it worked here with that awful way I did it, so why not?
:good:
serajr said:
I have a regular XZ2 (H8216), and its touch_id is 3 (customized_br fw), so I removed the Id 3.
"Could you try to just execute..." I've already tried that, with no success.
"Then I could try to delay the preptouch..." Cool... As you could notice, it worked here with that awful way I did it, so why not?
:good:
Click to expand...
Click to collapse
But you tried it also yourself later.
You executed the script again without success at a later stage.
And adding it to the permissive.sh is like executing the script, just earlier.
I assume `cat /sys/devices/dsi_panel_driver/panel_id` gives you the "3" as result?
MartinX3 said:
But you tried it also yourself later.
You executed the script again without success at a later stage.
And adding it to the permissive.sh is like executing the script, just earlier.
I assume `cat /sys/devices/dsi_panel_driver/panel_id` gives you the "3" as result?
Click to expand...
Click to collapse
I ran the scripts/codes manually in the trwp root shell (with the no working touch screen).
Yep, running the script earlier (permissive.sh) did the trick (*.ko files in the ramdisk).
And 3 is the output of the panel_id (that's why I removed the 3 from the preptouch.sh).
Edit: I've noticed this...
The permissions of the libs copied from vendor to sbin (preptouch), as you could see here
Code:
-rw------- 1 root root 1070630 1972-01-22 17:46 clearpad_core.ko
-rw------- 1 root root 251702 1972-01-22 17:46 clearpad_i2c.ko
-rw------- 1 root root 296934 1972-01-22 17:46 clearpad_rmi_dev.ko
Patched twrp
Code:
-rwxrwxrwx 1 root root 1070902 2020-04-02 21:48 clearpad_core.ko
-rwxrwxrwx 1 root root 251830 2020-04-02 21:48 clearpad_i2c.ko
-rwxrwxrwx 1 root root 297054 2020-04-02 21:48 clearpad_rmi_dev.ko
Edit 2: chmod on copied files did the trick (preptouch.sh) - but sometimes still not working (need to boot twice, three times...):
Code:
#XZ2 "3" XZ2C "4" Clearpad
if [[ "$touch_id" == "3" ]] || [[ "$touch_id" == "4" ]]; then
cp /v/lib/modules/clearpad_rmi_dev.ko /sbin/
cp /v/lib/modules/clearpad_core.ko /sbin/
cp /v/lib/modules/clearpad_i2c.ko /sbin/
[B]chmod 777 /sbin/clearpad_rmi_dev.ko
chmod 777 /sbin/clearpad_core.ko
chmod 777 /sbin/clearpad_i2c.ko[/B]
insmod /sbin/clearpad_rmi_dev.ko
insmod /sbin/clearpad_core.ko
insmod /sbin/clearpad_i2c.ko
echo 1 > /sys/devices/virtual/input/clearpad/post_probe_start
fi
Maybe you find out a more elegant way to handle with that!
Edit 3:
I also got it permanently installed on kernel (combo keys does work, too), it's a bit tricky I gotta say, but it works.
You know, twrp's ramdisk.cpio kernel hack (old install procedure).
Hi Martin,
just wanted to let you know that your latest version for Sony stock (0.618 fw) does also not work for me (touch does not respond). Even 'fastboot reboot bootloader' before 'fastboot boot twrp-xz2.img' doesn't change anything.
Device:
Xperia XZ2 (H8216) running Android 10 stock (52.1.A.0.618)
Customized CH
Clearpad Touch version: 3

[ROM][OFFICIAL][Pie][Dipper][PORT]Ubuntu Touch port for Xiaomi Mi 8

View attachment 5376913
What is it? What is Ubuntu Touch?
Ubuntu Touch, as comes from naming, is Ubuntu managed to run on phone.
Well, Canonical abandoned it, so community organization, UBports, now develops, maintains, and ports UT to new devices.
And this is what the thread is about. The amount of devices able to run UT was 63(as written on website at the time of writing this post). But now it is 64 devices.
The 64th port to Xiaomi Mi 8.​So, lets talk now what works, and what is not(you will also be able to see that on website, as soon as merge request will be accepted).
​What works:
Actors​
Manual brightness(auto seems not supported by UT, idk)​
Notification LED​
Vibration​
Torchlight​
Camera​
Flashlight​
Photo​
Video​
Switch between front and rear cameras​
Cellular​
Carrier info​
Calls​
SMS​
Audio routings (switching between main speaker, and phone speakers)​
Volume control​
Misc
Battery percentage
Online charging(while phone is on, or in sleep/standby state)
UBports recovery
Network
WiFi(2.4GHz, 5GHz)
Bluetooth
Hotspot(partially, seems that 5G is not supported)
Flight Mode
Sensors
Fingerpring
GPS
Rotation
Touchscreen(ofc, otherwise I would write this post)
Sound
Microphone
Earphones
Loudspeaker
Volume Control
USB
ADB
MTP
Several things, are not tested, such as Wireless Display, NFC, SIM PIN Unlock, MMS, Dual SIM.
Non working features are Offline Charging, Auto-brightness, Proximity Sensor(you need to click the Power Button, that won't stop the call).
Big thanks to TheKit who helped me with the port.
TheKit's Gitlab and UBports forum profile.
Right now, config for UBports Installer is waiting approval of pull request, and merge request for devices.ubuntu-touch.io is still not approved, you will have to do everything manually. UBports Installer config PR finally merged, but only Global versions are supported, since firmware files that are flashed by Installer are for Global. If you do install, be sure to flash vendor and firmware packages for your variant after.
WARNING! YOU MUST HAVE UNLOCKED BOOTLOADER! EVERY THING YOU DO, YOU DO ON YOUR RISK, IF YOU BRICKED DEVICE, THATS YOUR FAULT, NOT MY! I DO NOT TAKE ANY RESPONSIBILITY FOR YOUR BRICKED DEVICE!
Preparations before installation.
Flash TWRP recovery
You need to download and flash stock firmware and vendor from Android 9, MIUI V11.0.6.0.PEAMIXM(be aware that this Vendor+Fw is for Global, if your Device is Chinese or Russian variant, or any other, flash vendor package according your phone variant). It is compressed into ZIP file, so you will have to flash it though TWRP. Do not use adb sideload, push file to any directory you want, and install it from phone.
Download boot.img, system.img, recovery.img from here.
In TWRP go to "Wipe" ==> "Format Data" ==> Type "yes" ==> Enter. Then go to Reboot ==> Recovery. After restarted. Again go to Wipe ==> Advanced Wipe, and select all partition except USB-OTG
Now we have two ways of installation, from TWRP, and from Fastboot.
TWRP
On PC:
Code:
$ adb push system.img /tmp
$ adb push boot.img /tmp/
Now go to "Install"
Get to /tmp/ directory
"Install Image"
Flash boot.img to Boot partition, system.img to System.
Then reboot to system.
If system works, reboot to TWRP again and push recovery.img to /tmp/, then flash it to Recovery partition.
Fastboot method:
Code:
#Simple as that
$ fastboot flash boot boot.img
$ fastboot flash system system.img
$ fastboot flash recovery recovery.img
#Flash recovery only after you are sure system works.
Or you can just install a installable zip archive I've recently made. All my builds will be hosted on GitHub Releases on my repo. New builds will come by every new official OTA release. UBports recovery is not included, installation goes proceeds from TWRP, install just as simple as custom ROM installation. Btw, do you want me to add notch patches to system image, so it doesn't look awkward?
Note: this zip is not signed, so disable signature verification before installing, or installation will fail.
Optionally you can adjust your panel so it doesn't look weird. Rn idk how to move panel below the notch(display cutout, I hate Apple for that). It moves buttons in Panel below, and adjusts height of the panel. This repo will do everything for you. Just download it to device. And run apply-notch-hax.sh. It will automatically find device name, apply patches, and restart Unity.
Note: run the script as standard user, not root.
Note2: if you get bootloop, wipe system, format data, restart bootloader, flash everything again, but before rebooting to system try flashing SELinux permissiver. And don't flash Magisk, it's useless, and may destroy your system.
Device source: Gitlab
Kernel source: Gitlab
Gitlab CI build artifacts: Gitlab
Join Telegram support group if you need any help.
See all supported devices at official website.
P.S. Since you have to use fastboot, and UBports Installer uses fastboot, there may be some difficulties for Ryzen CPU users. I attached zip file with executable (.bat file). It will allow you use fastboot with USB 3.x + Ryzen. Unpack it. And run .bat file as admin. Reboot. Voila, fastboot works as should.
Linux users should either use another laptop with Intel CPU, or flash from Windows, or use USB 2.0 hub.
P.S.S. Ok, I managed to get GitHub CI to work, so now if any of you want to test fixes and new features, head to this GitHub repo, and download artifacts from "Make OTA images"(in Actions tab), and flash them using fastboot.
Amazing work! I've always wanted to port UBTouch to Mi 8 but I couldn't get WiFi and mobile data to work on my attempts. As my primary phone, I needed it to be online as much as possible. Really happy to be able to use it on our devices
I've noticed an issue (I haven't managed to recreate this however):
- The OS can't switch between audio outputs, for example I need to restart my phone to hear sounds from loudspeaker after making a phone call. Please let me know if there's a workaround for this issue.
I'll be looking out for more issues to report. Once again, thanks for this port it's amazing
someone plz port Ubuntu to poco f1 too
gamerlucky said:
someone plz port Ubuntu to poco f1 too
Click to expand...
Click to collapse
It is already ported, a long before Mi 8
@itagizade have you tried waydroid on this?
nSKN3i said:
@itagizade have you tried waydroid on this?
Click to expand...
Click to collapse
No still not.
this amazing work. i have ran some x11 app on my phone,jt works. now i can say hava a pc in my pocket . one problem i found is system partion size too small (only 3g), this not enough if i want install more linux package lije chrome firefox
I updated download link, so if you have already flashed everything, I suggest you to flash a new recovery, as previous one, identified device as Mi MIX 3.
it is still complex for my level of knowledge to install this rom on my Mi 8 and it is with great joy that we have a port like this from Ubuntu Touch and that in the future it will be easier to install and maybe other ports as well as SailfishOS in the menu. Mi 8 great job Dev.
itagizade said:
It is already ported, a long before Mi 8
Click to expand...
Click to collapse
link please
gamerlucky said:
link please
Click to expand...
Click to collapse
See on devices.ubuntu-touch.io.
tried it out and worked great, glad to see something different, keep up the excellent work bro!
hey i was wondering about file system can we use f2fs ?
I tried installing apk files but getting error
Also notch fix gives me this error in terminal
EDIT: nevermind the apk i forgot to run anbox-tool install
EDIT2: nevermind notch fix i just pushed the file to downloads and run sh command
Amazing work! It is the fastest rom I have ever installed! The SIM PIN unlock works well and the offline charging partially (approximately, five minutes after connecting the charger). I hope NFC works, too. In the future, it would be nice if apply-notch-hax.sh was fixed (error, line 57). Anyway, thank you for porting and providing this rom!
For Waydroid support, there are some instructions here. To start the container service, use the following command:
Code:
sudo waydroid container start
Advanced Gears said:
Amazing work! It is the fastest rom I have ever installed! The SIM PIN unlock works well and the offline charging partially (approximately, five minutes after connecting the charger). I hope NFC works, too. In the future, it would be nice if apply-notch-hax.sh was fixed (error, line 57). Anyway, thank you for porting and providing this rom!
For Waydroid support, there are some instructions here. To start the container service, use the following command:
Code:
sudo waydroid container start
Click to expand...
Click to collapse
Glad you enjoy it. Right now I'm a little busy, but asap I will continue the work on this. Gotta make it daily-driver ready.
About error with `apply-notch-hax.sh`, other people have successfully used that script. Could you please specify the error?
The touch has been dead since I flash This rom
MilkywayOpenSource said:
The touch has been dead since I flash This rom
Click to expand...
Click to collapse
You mean Touchscreen is not working? Did you change you stock panel?
No,
MilkywayOpenSource said:
No,
Click to expand...
Click to collapse
Is your device Chinese version, or any other that Global?
It is global and after I install Ubuntu touch the screen never response to touch even in twrp

How To Guide GSI 12 - fixed audio , vulkan renderer

This is a GSI Image for alioth, fixes audio distortion,sets default renderer to Vulkan and increases Dalvik and dex2oat for smoother performance.
Not working:
Telephony - Fully broken, they don't hear you and you don't hear them... Both mic and speakers work fine I'll try looking into this
Camera - Works just like in any other aosp rom xd meaning stock app freezes when switching sensors, no auto focus/rly bad autofocus.
Bluetooth - only SBC/AAC codecs.
(Fingerprint works as long as you are on Miui 13 before flashing GSI12 , If you are flashing GSI11 Miui 12 will work. If you are having issue update stock miui)
Any ideas on how to fix these or any other issues I would like to hear. Guide below let's you mount system image fully , so editing/adding files is as simple as drag and drop.
( Since 128gb is smallest variant of this phone there's plenty of space to reserve 2GB for increased performance of apps , no reason to use default 500mb ).
For best performance first flash back to stock miui via fastboot !!! #MIUI 13 PREFERRED
( You want original vendor partitions alongside everything else for the best compatibility with GSI image )
Vanilla variant only without GMS (Playstore)
Idk the license agreement for it so I won't be sharing GMS variant, as far as I am aware vanilla one should be free to share as long as you provide source.If you want GMS variant it's not hard to make - use any linux distro , follow steps below to mount system.img , when mounted you can replace default build.prop from /system/build.prop with the one provided or modify build.prop yourself - explained below.
Download and unzip in a new folder:
DOWNLOAD
Steps for flashing:
Download Platform Tools from google, unzip them, open unzipped folder , open terminal inside - right click inside folder ( Windows: right click + shift ) click open terminal/command window/powershell
./fastboot reboot fastboot ( This is a must , before this reboot phone , hold power down while rebooting to enter fastboot and then issue this command )
./fastboot --disable-verification flash vbmeta ( Drag and drop vbmeta.img from GSI folder to terminal, when done press enter )
./fastboot erase system
./fastboot flash system ( Drag and drop system.img from GSI folder to terminal , when done press enter )
./fastboot -w
./fastboot reboot
That's it. As far as I know everything works , magisk should work as well as long as you followed steps and didn't delete logic parition by following some other guide - you need to install magisk yourself xd
- to enable 120fps wait for phone to boot up . Enable USB debugging , connect to pc and issue these:
./adb shell settings put system peak_refresh_rate 120
./adb shell settings put system min_refresh_rate 120
#########################################################
Process behind this :
Downloaded GSI from: https://developer.android.com/about/versions/12/gsi-release-notes
Image later processed:
Opwn terminal in GSI folder
mkdir system
fallocate -l 5G system.img
fallocate -l 5G system.img
e2fsck -y -E unshare_blocks system.img
sudo mount -t ext4 -o loop system.img system
sudo nautilus - locate the folder where you unzipped the GSI
edit build.prop to add these lines OR use buid.prop provided below to replace the whole file:
ro.audio.ignore_effects=true
debug.hwui.renderer=vulkan
dalvik.vm.image-dex2oat-Xmx=128m
dalvik.vm.dex2oat-Xmx=2048m
pm.dexopt.first-boot=speed
pm.dexopt.boot=speed
pm.dexopt.boot-after-ota=speed
pm.dexopt.post-boot=extract
pm.dexopt.install=speed
pm.dexopt.install-fast=speed
pm.dexopt.install-bulk=speed
pm.dexopt.install-bulk-secondary=speed
pm.dexopt.install-bulk-downgraded=speed
pm.dexopt.install-bulk-secondary-downgraded=extract
pm.dexopt.bg-dexopt=speed
dalvik.vm.minidebuginfo=false
dalvik.vm.dex2oat-minidebuginfo=false
persist.traced.enable=0
sudo umount system
e2fsck -yf system.img
resize2fs -M system.img
e2fsck -yf system.img
How's it feel? Does this allow for compatibility with MIUI things, such as ANX camera?
Veiranx said:
How's it feel? Does this allow for compatibility with MIUI things, such as ANX camera?
Click to expand...
Click to collapse
You'll have to try for yourself ANX camera... I don't wanna install random apps
As for how it feels it's as I said above - everything works just as good as miui if not better - Only Bluetooth codes are SBC and AAC.
Fingerprint doesn't show up in settings so I'm assuming not working...might work if you use Miui 13 before flashing as they are both Android 12 - I didn't
How's the echo cancelation on video calls?
Rstment ^m^ said:
You'll have to try for yourself ANX camera... I don't wanna install random apps
As for how it feels it's as I said above - everything works just as good as miui if not better - Only Bluetooth codes are SBC and AAC.
Fingerprint doesn't show up in settings so I'm assuming not working...might work if you use Miui 13 before flashing as they are both Android 12 - I didn't
Click to expand...
Click to collapse
Can you flash MIUI 13 firmware? ANX Camera is a big deal as it gives you MIUI camera.
theoneofgod said:
Can you flash MIUI 13 firmware? ANX Camera is a big deal as it gives you MIUI camera.
Click to expand...
Click to collapse
No I can't
raz123 said:
How's the echo cancelation on video calls?
Click to expand...
Click to collapse
Idk If I ever use it I'll let you know....
Rstment ^m^ said:
Idk If I ever use it I'll let you know....
Click to expand...
Click to collapse
Cool. Think you could try a VoIP call in speakerphone mode and see how that fares? (Eg. Whatsapp, Messenger, etc.)
raz123 said:
Cool. Think you could try a VoIP call in speakerphone mode and see how that fares? (Eg. Whatsapp, Messenger, etc.)
Click to expand...
Click to collapse
For whatever reason telephony is broken lmao - they don't hear you and you don't hear them.
Microphone works fine in other apps , so maybe it will work as well in VoIP but regular phone calls are a no go...

Categories

Resources