[UNOFFICIAL] TWRP for Lenovo Yoga Tab 3 Plus (YTX703F/YTX703L) - Lenovo Yoga Tab 3 Plus ROMs, Kernels, Recoveries,

It has been bugging me for quite some time that the Lenovo Yoga Tab 3 Plus has a portrait (phone) 10" screen mounted in a landscape body, and TWRP didn't have the necessary code to adjust its graphics rendering so as to compensate for this, so I just decided to patch it myself.
With these unofficial recoveries (officials can be found here and here), you get the following improvements:
Graphics are rendered in the landscape orientation
Compiled from LineageOS 15.1 sources plus LineageTWRP => much easier to maintain
(For development) Pstore/ramoops active, can retrieve the Android kernel's log on reboot or panic
Mouse pointer in the middle of the screen is gone
Factory reset commands from Android are no longer broken
Removed their prompt to install the TWRP app in Android when you try to reboot
Also be aware that flashing unofficial cm14 zips is not supported with these TWRP images!
If any of the items above bug you as well, these TWRP builds may be for you. At the moment they are optional (not required - you may use other TWRP recoveries just as well) if you are a user of LineageOS 15.1 for YTX703F/YTX703L. However, in the future we will be making steps to replace the official TWRP recoveries with these ones over here.
Known issues
None so far.
Downloads
TWRP 3.2.3: [YTX703F (Wifi)] | [YTX703L (LTE)]
Installation instructions
If your device is new to the custom ROM flashing process, you need to unlock its bootloader:
Code:
fastboot oem unlock-go
If you are not fully decided and just want to try out these TWRP images, you can just hot-boot them into RAM, without writing them permanently to flash storage:
Code:
fastboot boot twrp-3.2.3-UNOFFICIAL-YTX703L.img
If you don't like it, it's not persistent (rebooting again will get you the old recovery back)
If you're sold on the new recovery image, here's how to permanently flash it:
Code:
adb reboot bootloader # Do this only if you're not in fastboot mode right now (with the orange Lenovo image)
fastboot flash recovery twrp-3.2.3-UNOFFICIAL-YTX703L.img
fastboot continue # Will boot into Android
Build instructions
Add the following to .repo/local_manifests/roomservice.xml in a lineage-15.1 tree:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
<remote fetch="https://github.com/omnirom" name="omnirom" review="gerrit.omnirom.org" revision="android-8.1" />
<project groups="pdk" name="android_bootable_recovery" path="bootable/recovery-twrp" remote="omnirom" />
</manifest>
Run the following:
Code:
$ repo sync bootable/recovery-twrp
$ source build/envsetup.sh
$ repopick -P bootable/recovery-twrp -g https://gerrit.omnirom.org 31454
$ repopick -P bootable/recovery-twrp -g https://gerrit.omnirom.org 31630
$ repopick -P bootable/recovery-twrp -g https://gerrit.omnirom.org 28622
$ lunch lineage_YTX703L-eng
$ WITH_TWRP=true mka recoveryimage
$ adb reboot bootloader
$ fastboot boot out/target/product/YTX703L/recovery.img

vladimiroltean said:
It has been bugging me for quite some time that the Lenovo Yoga Tab 3 Plus has a portrait (phone) 10" screen mounted in a landscape body, and TWRP didn't have the necessary code to adjust its graphics rendering so as to compensate for this, so I just decided to patch it myself.
With these unofficial recoveries (officials can be found here and here), you get the following improvements:
Graphics are rendered in the landscape orientation
Compiled from LineageOS 15.1 sources plus LineageTWRP => much easier to maintain
(For development) Pstore/ramoops active, can retrieve the Android kernel's log on reboot or panic
Mouse pointer in the middle of the screen is gone
Factory reset commands from Android are no longer broken
Removed their prompt to install the TWRP app in Android when you try to reboot
Also be aware that flashing unofficial cm14 zips is not supported with these TWRP images!
If any of the items above bug you as well, these TWRP builds may be for you. At the moment they are optional (not required - you may use other TWRP recoveries just as well) if you are a user of LineageOS 15.1 for YTX703F/YTX703L. However, in the future we will be making steps to replace the official TWRP recoveries with these ones over here.
Known issues
None so far.
Downloads
TWRP 3.2.3: [YTX703F (Wifi)] | [YTX703L (LTE)]
Installation instructions
If your device is new to the custom ROM flashing process, you need to unlock its bootloader:
If you are not fully decided and just want to try out these TWRP images, you can just hot-boot them into RAM, without writing them permanently to flash storage:
If you don't like it, it's not persistent (rebooting again will get you the old recovery back)
If you're sold on the new recovery image, here's how to permanently flash it:
Click to expand...
Click to collapse
Can I also install this new recovery image using the twrp app instead adb?
Or can i try the new Image to execute the Codes directly in the tablet with the terminal emulator App instead connecting to the PC?

tombraga said:
Can I also install this new recovery image using the twrp app instead adb?
Click to expand...
Click to collapse
I've never used that, as I consider it bloatware. If it allows you to flash a local disk image (and not only ones downloaded from twrp.me) into the recovery partition, then I suppose you can. But then again, that'd require giving it root permissions, and I don't think I'd trust it that much just because I'm lazy.

vladimiroltean said:
I've never used that, as I consider it bloatware. If it allows you to flash a local disk image (and not only ones downloaded from twrp.me) into the recovery partition, then I suppose you can. But then again, that'd require giving it root permissions, and I don't think I'd trust it that much just because I'm lazy.
Click to expand...
Click to collapse
Thanks for Information, one more question:
Can i try the new Image to execute the Codes directly in the tablet with the terminal emulator App instead connecting to the PC?
I got some problem right now with my pc and cannot use it with my tablet

tombraga said:
Thanks for Information, one more question:
Can i try the new Image to execute the Codes directly in the tablet with the terminal emulator App instead connecting to the PC?
I got some problem right now with my pc and cannot use it with my tablet
Click to expand...
Click to collapse
You can try to do this:
Code:
su
dd if=/sdcard/Download/twrp-3.2.3-UNOFFICIAL-YTX703L.img of=/dev/block/bootdevice/by-name/recovery
sync
But keep in mind that interactive "su" sessions are kinda broken (tab completion, Ctrl-c and other stuff), this patch fixes that but its's not merged yet. So your mileage might vary. If you just cut and paste the commands (make sure they match your device though!) it should work.

vladimiroltean said:
You can try to do this:
But keep in mind that interactive "su" sessions are kinda broken (tab completion, Ctrl-c and other stuff), this patch fixes that but its's not merged yet. So your mileage might vary. If you just cut and paste the commands (make sure they match your device though!) it should work.
Click to expand...
Click to collapse
Thanks, but this is too hot for, better I wait and fix my pc first, thanks
At least perhaps a stupid question: can i flash your new twrp img directly from my actual official 3.2.0-0 twrp choosing install image and then your img.file?

tombraga said:
Thanks, but this is too hot for, better I wait and fix my pc first, thanks
At least perhaps a stupid question: can i flash your new twrp img directly from my actual official 3.2.0-0 twrp choosing install image and then your img.file?
Click to expand...
Click to collapse
There are countless ways you can do it, but like you said, it's not a good idea to reflash your recovery if you're don't have a plan B if anything goes wrong.

vladimiroltean said:
There are countless ways you can do it, but like you said, it's not a good idea to reflash your recovery if you're don't have a plan B if anything goes wrong.
Click to expand...
Click to collapse
i could fix my laptop now i made it with adb as you teached and explained, worked wityout any problems
I like very much the new TWRP, waiting so long for this landscape mode and without questions to install TWRP app.
Now i uninstall the TWRP app and have a very nice TWRP recovery which is fine for my Lenovo tablet, thank you so much.
Problem: no i cannot uninstall more the TWRP app, even tried with titanium pro, but could not find the system app was the message...
should i freez the twrp app now with titanium pro?
When your twrp will go official???? I hope soon.
---------- Post added at 05:21 PM ---------- Previous post was at 05:06 PM ----------
tombraga said:
i could fix my laptop now i made it with adb as you teached and explained, worked wityout any problems
I like very much the new TWRP, waiting so long for this landscape mode and without questions to install TWRP app.
Now i uninstall the TWRP app and have a very nice TWRP recovery which is fine for my Lenovo tablet, thank you so much.
Problem: no i cannot uninstall more the TWRP app, even tried with titanium pro, but could not find the system app was the message...
should i freez the twrp app now with titanium pro?
When your twrp will go official???? I hope soon.
Click to expand...
Click to collapse
made even a first backup right now with the new TWRP, without any problem and very fast. great!

tombraga said:
Problem: no i cannot uninstall more the TWRP app, even tried with titanium pro, but could not find the system app was the message...
should i freez the twrp app now with titanium pro?
Click to expand...
Click to collapse
If it really bothers you, I would wipe the system partition and install everything else all over again (LineageOS, the exact same Gapps package, etc).
tombraga said:
When your twrp will go official???? I hope soon.
Click to expand...
Click to collapse
Probably not very soon, hence the reason why I decided to release it unofficially for a while. I contacted the TWRP project maintainers and they said they're caught at the moment with other stuff (merging with Android P codebase) and they can't review my display rotation patch until that activity is finished. So we're probably talking about the timeframe when the first official TWRP and LineageOS builds based on Android P are going to get released.

vladimiroltean said:
If it really bothers you, I would wipe the system partition and install everything else all over again (LineageOS, the exact same Gapps package, etc).
Probably not very soon, hence the reason why I decided to release it unofficially for a while. I contacted the TWRP project maintainers and they said they're caught at the moment with other stuff (merging with Android P codebase) and they can't review my display rotation patch until that activity is finished. So we're probably talking about the timeframe when the first official TWRP and LineageOS builds based on Android P are going to get released.
Click to expand...
Click to collapse
It's ok, I can live with it.

I see two things in new version
1) graphical bug inside list of files (overlapping)
2) cannot access NTFS formatted sd-card (while older version working fine)

janforman said:
I see two things in new version
1) graphical bug inside list of files (overlapping)
2) cannot access NTFS formatted sd-card (while older version working fine)
Click to expand...
Click to collapse
1. Screenshot? (I think it's vol-up + power)
2. That might be my oversight on my part. NTFS is indeed not enabled in the kernel because Android uses the ntfs-3g FUSE implementation. I think that's not available in TWRP though.

vladimiroltean said:
1. Screenshot? (I think it's vol-up + power)
2. That might be my oversight on my part. NTFS is indeed not enabled in the kernel because Android uses the ntfs-3g FUSE implementation. I think that's not available in TWRP though.
Click to expand...
Click to collapse
I flashed older TWRP version and NTFS is working well. I'm using it for flashing and backup. In new version sdcard is not mounted and in "mount" option greyed out (i cannot select it).

I had an issue flashing a custom boot animation zip and font zip, they appeared to flash fine in recovery but the boot animation and font was not changed. I flashed the latest official TWRP and these zips flashed and took effect fine. No issues with ROM zip, gapps or magisk though

scoobyjenkins said:
I had an issue flashing a custom boot animation zip and font zip, they appeared to flash fine in recovery but the boot animation and font was not changed. I flashed the latest official TWRP and these zips flashed and took effect fine. No issues with ROM zip, gapps or magisk though
Click to expand...
Click to collapse
Can you give a link to the boot animation and font you flashed.
I know you are the graphics expert around here so will be nice if you can point us to some compatible boot animations for our device.
I really don't want to sound unappreciative but the Lineage 'stock' boot animation seriously needs a facelift

Finefeather said:
Can you give a link to the boot animation and font you flashed.
I know you are the graphics expert around here so will be nice if you can point us to some compatible boot animations for our device.
I really don't want to sound unappreciative but the Lineage 'stock' boot animation seriously needs a facelift
Click to expand...
Click to collapse
The animation is nothing to do with Lineage, but if you like Raphael of TMNT, feel free to try this: https://drive.google.com/open?id=0B260dxr9nvchTG0xR2pYelhuNHc
I have noticed that with an animation that fills more of the screen than the lineage logo, there seems to be a black overlay taking up about a 3rd of the screen at the right, which obscures my animation a little but only for a couple of seconds.
As I say, I can flash this with official TWRP but it doesn't seem to take with this one

This version of TWRP is unfortunately not compatible with GApps+Aroma. (The standard version works fine.)

Rueddi_ger said:
@vladimiroltean
How do I compile this TWRP? I found the twrp.mk in our devicetree/recovery directory. I pasted all flags to the end of BoardConfigCommon and the BoarConfig of the F/L version. It compiles well, but doesn't recognize those flags, I think. When I boot the img The touchscreen is completely inverted and is weird. Apart from that it isn't in landscape mode, but in portrait ( even thought the flags include TW_THEME := landscape_hdpi) Can you give me an idea where the problem is?
You can find my device tree here: Github
Click to expand...
Click to collapse
Added instructions in the top post.

Rueddi_ger said:
Actually I forgot to mention that I do not want to build TWRP exactly, but OrangeFox (which is based on TWRP). The problem is I cannot use the lineageOS tree, I think, because OrangeFox requires to be initialized with the minimal Omni manifest (see here: https://gitlab.com/OrangeFox/Manifest ). Do you have an idea what I can do?
Click to expand...
Click to collapse
What have you tried to do and what were the errors you were faced with?

Rueddi_ger said:
Apart from that it didn't seem to recognize any TWRP flags as the theme is not landscape, although I put those flags like everywhere
Click to expand...
Click to collapse
Hate to break it to you, but rotating the recovery framebuffer is an operation that is quite a bit more involved than setting "TW_THEME := landscape" (assuming that's what you were trying to say).
Did you even bother to look at the patches linked in the top post? What about this one:
Code:
From 2a8821faf98f8c26a88e9bbe8a8a6d31015b938b Mon Sep 17 00:00:00 2001
From: Vladimir Oltean <[email protected]>
Date: Tue, 3 Jul 2018 00:04:03 +0300
Subject: [PATCH] TW_HWROTATION: add flag to handle hardware-rotated display
panels
* The existence of TW_HWROTATION that implements this feature at the
level of calls to libpixelflinger API closely mirrors the existence of
ro.sf.hwrotation for surfaceflinger in LineageOS.
* A brute-force approach was previously attempted via the
BOARD_HAS_FLIPPED_SCREEN makefile flag. That code iterated over the
active display surface in a double-buffered setup, and performed a
"smart" memcpy from the UI drawing surface (gr_draw) onto the display
surface. The problem was that, without heavy loop optimizations, that
code could have never scaled for 90 and 270 degree rotation.
I tried and you could literally see the for loop with the naked eye
while the display surface was updating.
* That code is now gone, but support for BOARD_HAS_FLIPPED_SCREEN := true
is still there (now means TW_HWROTATION := 180).
* This patch relies on the assumption that it is impossibly difficult
and non-portable to rotate whole framebuffer display surfaces, in a
way that is not dependent upon the graphics backend (adf, fbdev, drm,
overlay etc). Therefore, it identifies the rendering primitives that
the TWRP graphics stack exposes to the GUI application above, and
implements hwrotation inside each of those calls instead:
- gr_line(), gr_fill() - 2D geometric shapes (lines, rectangles)
- gr_blit() - graphical image resources
- gr_ttf_textExWH() - font rendering
- gr_fb_width(), gr_fb_height() - framebuffer resolution
* The gist is to keep the backend and framebuffer (dimensions, row size
etc) unchanged (because making changes there is asking for trouble),
but present an altogether different reality to the calling API,
according to the compile-time constant TW_HWROTATION.
* All (x, y) API coordinates and shapes are transformed before being
actually rendered as (x_disp, y_disp) display coordinates.
* With TW_HWROTATION := 90 or 270 you can turn a landscape device into
a portrait one, because the GUI is fooled by the reversed dimensions
reported by gr_fb_width() and gr_fb_height() and renders the UI as
for a different device.
* For blit and text rendering operations, figuring out the transformed
coordinates in display space is not enough, as the surfaces that are
to be rendered have to be rotated themselves. This is handled by
allocating an intermediary rotated surface on each rendering
operation (not ideal), so the code with the intermediary surface
is compiled out for the TW_HWROTATION := 0 case.
* This is still not as bad as rotating the whole framebuffer though, and
on a msm8976 device the performance hit is not even noticeable (for
software rendering).
* Currently there is no attempt to make a connection between the
TW_HWROTATION and the { RECOVERY_TOUCHSCREEN_SWAP_XY,
RECOVERY_TOUCHSCREEN_FLIP_X, RECOVERY_TOUCHSCREEN_FLIP_Y } settings.
Change-Id: Ic8966ad5360c8a499649fdb16e242286640fd992
Signed-off-by: Vladimir Oltean <[email protected]>

Related

[ROM][LINK] Sailfish OS Droid 4 maserati

I DID NOT MAKE THIS ROM!!!!!! - A developer by the name of TheKit made this rom, so do not give me any credit for this rom, give it all to them.
I am simply linking it because I love this phone, I love Sailfish OS on it, and I think a lot of people would enjoy Sailfish OS on it as well and just don't know it is available.
Q: "What is Sailfish OS and why should I use it?"
A: Sailfish OS is a great OS for many reasons. Having used multiple android roms I can attest to the fact that:
1. It has MUCH better battery life (however it has a weird battery read bug, see issues below)
2. It is MUCH faster and generally more stable when it comes to the things that work (your calls won't drop, your system won't lock up due to lack of ram, etc.)
3. It has a great gesture driven UI that is a joy to use and very gorgeous to look at. No more of this all white bull**** Google has been forcing down our throats since 2014
Q: "How good is the battery life?
A: After a day of playing cave story at work and reading discord and listening to music, I am at about 30-40% end of day (I start at 8:30AM, stop at 4:00PM)
Okay now that the Q/A segment is over, lets get to the real meat
ISSUES
1. Battery Read is wonky, it only goes in 10% increments until it reaches 20%, then it starts going in 5% increments
2. If you use the 2.1.3.7 build keyboard backlight is broken, but it works fine on the 2.1.0.11 build
3. Bluetooth is wonky, I was able to play audio through speakers in the 2.1.3.7 build...
4. FM Radio is broken too
5. As the maemo-talk thread says, CDMA is untested, and like on Photon Q, most likely does not work. GSM works great though! :good:
6. The old 2.1.0.11 build has a slew of issues compared to the new 2.1.3.7 build. These include data not working out of box, wifi requiring a reboot to work, and auto rotation not working in a majority of apps by default. Consult this thread and the maemo talk thread for more help, and if you want rotation anywhere, install patchmanager 2.0 and auto rotate anywhere from warehouse for sailfish os.
Alien Dalvik install tutorial
I did not make this and do not know who did. the developer claims someone threw a brick at them with an sd card attached. The sdcard contained links to these files in the form of a text file names "monkeyAIDS.txt"
https://drive.google.com/file/d/1mS6di1jYfVeDoFBjcANS6SmfkhGyEKoa/view - AD Jolla C (different from the Turing phone rpm, this is built for 3.1.x kernels)
http://sfos.scanf.su/maserati/alien-patched.tar.gz
So extract both files to your ~/ (home) directory and type in the following:
devel-su
[insert root password you set in settings]
zypper in [alien dalvik rpm]
rsync -a /home/nemo/alien/ /opt/alien/
ln -s /vendor /opt/alien/system/vendor
reboot
OPTIONAL: fix for the default 320PPI value
devel-su
[insert root password]
vim /opt/alien/system/build.prop
change ro.sf.lcd.density to the value of your choosing (Droid 4 is 256)
Keyboard Backlight Fix, works on 2.1.0.11, don't know about 2.1.3.7 -- Thank you @moodroid for this legendary patch!
On <2.1.3.7, I got the keyboard backlight to work by creating an /etc/mce/20backlight.ini with:
[KeyPad]
BrightnessDirectory=/sys/class/leds/keyboard-backlight
Then do 'pkcon install mce' and 'systemctl restart mce'.
Download Links
Here is the thread with the Download Link to the 2.1.0.11 build
https://talk.maemo.org/showthread.php?t=99031&page=9
If you don't mind a lack of keyboard backlight and want a more up to date build, grab the new and fabulous leaked 2.1.3.7 Build:
https://drive.google.com/file/d/1k3MOCrMvbFb114Omf0MzSvnQ7wBkTiWH/view?usp=sharing
Basically if you are fed up with how ****ty the latest Lineage OS builds are and just want to try something new, give this a try. Why not? What have you got to lose. All in all great work by TheKit and I am very happy with the port as it is and I think you will be too.
Hi,
On <2.1.3.7, I got the keyboard backlight to work by creating an /etc/mce/20backlight.ini with:
[KeyPad]
BrightnessDirectory=/sys/class/leds/keyboard-backlight
Then doing 'pkcon install mce' and 'systemctl restart mce'.
Hope you get the OK to share your AD success!
Thanks
moodroid said:
Hi,
On 2.1.3.7, I got the keyboard backlight to work by creating an /etc/mce/20backlight.ini with:
[KeyPad]
BrightnessDirectory=/sys/class/leds/keyboard-backlight
Then doing 'pkcon install mce' and 'systemctl restart mce'.
Hope you get the OK to share your AD success!
Thanks
Click to expand...
Click to collapse
dude you are a legend!
I would add that to the OP but you are first comment so anyone viewing the op will see this. I will definitely tell TheKit about this (then again, he gave you the 2.1.3.7 build so you can just tell them yourself)
Greetings,
I've been playing around with SailfishOS on my Droid 4 in the past few days, and I have a few questions about the whole thing. TheKit publicly shared a 2.1.3.7 build for the Droid 4 on his thread at Maemo, is that the one you are talking about or is it a different build? As someone mentioned this specific build seems to have issues with wifi, and I have the same problem. I can't post links, but the download link to the build I mentioned is on page 12.
The 2.1.0.11 build seems to work fairly well, however I wasn't able to install Alien Dalvik. After the installation the "Android Support" button does show up in the settings app, however nothing happens when I click the start button. I also attempted installing an apk both via the GUI (by clicking on it in the downloads) and via the command line by using "apkd-install", but it doesn't seem to work. Full log of the installation process attached.
I talked with TheKit, and the 2.1.3.7 build I mentioned (the one at page 12) is indeed outdated. He just updated the OP at Maemo and added the latest 2.1.3.7 build, which I just flashed and it's working great. Also installed Alien Dalvik following the instructions in the OP and it seems to be working fine as well! However I wasn't successful with the backlight fix method yet.
For anyone wondering how I flashed the latest build I went CM11 --> SailfishOS 2.1.0.11 --> SailfishOS 2.1.3.7 (rel2).
NIKKOS said:
I talked with TheKit, and the 2.1.3.7 build I mentioned (the one at page 12) is indeed outdated. He just updated the OP at Maemo and added the latest 2.1.3.7 build, which I just flashed and it's working great. Also installed Alien Dalvik following the instructions in the OP and it seems to be working fine as well! However I wasn't successful with the backlight fix method yet.
For anyone wondering how I flashed the latest build I went CM11 --> SailfishOS 2.1.0.11 --> SailfishOS 2.1.3.7 (rel2).
Click to expand...
Click to collapse
Hi Nikkos,
Sorry - that was me that posted the backlight fix, and I agree that it doesn't work on 2.1.3.7-rel2. It'd worked on every other version I tried, and I've now edited my post above. Glad everything is working.
Sorry again
moodroid said:
Hi Nikkos,
Sorry - that was me that posted the backlight fix, and I agree that it doesn't work on 2.1.3.7-rel2. It'd worked on every other version I tried, and I've now edited my post above. Glad everything is working.
Sorry again
Click to expand...
Click to collapse
No worries.
If anyone is wondering how to change the SailfishOS UI scale (I find the default one to be way too big) here's how I did it via the terminal:
Code:
devel-su
rm /etc/dconf/db/vendor.d/locks/silica-configs.txt
dconf write /desktop/sailfish/silica/theme_pixel_ratio value
I believe the default value should be around 1.1; you can also reset the value to stock with:
Code:
dconf reset /desktop/sailfish/silica/theme_pixel_ratio
or read the value with:
Code:
dconf read /desktop/sailfish/silica/theme_pixel_ratio
Not exactly droid 4 related, but thought I'd share.
Okay, I got the backlight to turn on!
Type the following in the terminal:
Code:
devel-su
echo 255 >/sys/class/leds/keyboard-backlight/brightness
It seems to properly react to some triggers like standby after being turned on but not to others like sliding the keyboard in and out (which means it will always stay on if the screen is on, regardless if it's been slided in or out). My assumption is that the keyboard sliding trigger got broken in some way, as I believe that's the way the backlight is being turned on. The events which trigger the backlight seem to be stored in the file /sys/class/leds/keyboard-backlight/trigger, so I assume that would be a good starting point to attempt fixing this.
The keyboard backlight intensity can also be changed, just change the 255 to a different value (it goes from 0 to 255).
Note: this change is not permanent, it will need to be applied again at reboot. Writing a script which executes the above commands at boot should be trivial though, and I will include instructions when I get it done myself.
EDIT:
Here's how to make the change permanent. Following these instructions you will create a Systemd service which will turn the backlight on when active and off when inactive; it will automatically run at boot and it can also be controlled like any other Systemd service (i.e. using systemctl via the terminal)
Type the following commands through the terminal:
Code:
devel-su
cd /etc/systemd/system
touch keyboard-backlight.service
chmod 744 keyboard-backlight.service
You will now need to edit the keyboard-backlight.service file with a text editor (either vim or nano will do, vim comes preinstalled, nano does not). Depending on your preferred text editor, type the following:
Code:
vim keyboard-backlight.service
or
Code:
nano keyboard-backlight.service
Now write the following to the file and save it:
Code:
[Unit]
Description=XT894 keyboard backlight service
[Service]
Type=oneshot
ExecStart=/bin/sh -c "echo 255 >/sys/class/leds/keyboard-backlight/brightness"
ExecStop=/bin/sh -c "echo 0 >/sys/class/leds/keyboard-backlight/brightness"
RemainAfterExit=yes
[Install]
WantedBy=multi-user.target
Now type the following to enable the service:
Code:
systemctl enable keyboard-backlight.service
That's it. You can now control the service by using the following:
Code:
systemctl start keyboard-backlight //This will turn the backlight on
systemctl stop keyboard-backlight //This will turn the backlight off
systemctl status keyboard-backlight //This will display the service status
Can anyone share the google drive file from the first post? Is there an alternative link available? Or could you PM me a google drive link? Thanks!
Can anyone suggest the best/correct ROM-slot size for TWRP?
Is it still like for CM/LOS:
800MB for system
10MB for cache
and rest for data as one likes?

[ROM][Pie] Unofficial LineageOS 16.0

This is an unofficial build of LineageOS 16.0 for the Motorola razr I, (XT890/SMI).
Lots of thanks to Hazou. This rom is based on his los-14 rom and I got help from him with los-16.
This rom has full hardware support and should run stable. It has been tested by me in daily use. I'm using the rom without google apps, but with microg. Installing google apps requires some apps to move to data partition because of limited system size. See install description for more info.
Special Features
-All features of Hazous 14.1 rom
-MicroG signature spoofing patch is included.
-Adaptive icons can be disabled in homescreen settings.
I can include more features if requested
Known Bugs
-The camera preview image sometimes shakes at random
Download
https://mega.nz/#F!5fBWlIAQ!Jlq9Bj789iJ0iIIptK00tg
Update
If you already run an earlier version of this rom, just boot to twrp and install the latest flashable zip file
Install
1. Backup everything you don't want to loose.
2. Download and install TWRP 3.2.3 (download in attachments. Can be flashed with fastboot or with another recovery)
3. If you come from another rom do a full wipe with twrp
4. Download and install the rom flashable zip (download from mega.nz link is in section download)
5. If you want to install opengapps or need system partition space for other things. Install the move_to_data.zip file from the attachments. This will move the Webview and the LatinIME app to data partition.
6. Choose one of the following options:
-either install google apps (download form https://opengapps.org/. Choose x86 9.0 nano or pico)
-or install MicroG (can be installed with the unofficial installer https://forum.xda-developers.com/android/development/microg-unofficial-installer-t3432360) this is lighter in ram and cpu usage but you will get problems with google chrome and other apps
7. If you want root access install the addonsu-16.0-x86.zip (download in the attachments)
8. Reboot the phone. First reboot will take some time
Changelog
Code:
20191018:
fixed problem with sms receiving
20191012:
mobile network connection works now after boot
Fixed problems with network switching
Show taps option is working now
intel art extension enabled
Call recording enabled
text relocation warnings disbaled
(untested) encryption. Needs special configuration (see below)
20190819:
SELinux is now enforcing
Notification access feature enabled
solved crashes with houdini emulated apps
20190713:
usb configuration works properly
battery light works now
July security patches
20190704:
first stable release of this rom
DATA Encryption
If you want to enable data encryption this would break the pds partition backup. To prevent this, the cache partition can be used as backup location:
-edit /system/bin/pdsbackup.sh
-change PDS_FILE=/data/misc/pds/pdsdata.img to PDS_FILE=/cache/misc/pds/pdsdata.img
-resize data partition in TWRP:
Code:
umount /data
umount /sdcard
e2fsck -f /dev/block/mmcblk0p17
resize2fs /dev/block/mmcblk0p17 1367079
-reboot the phone
XDA:DevDB Information
unonfficial LineageOS 16.0, ROM for the Motorola RAZR i
Contributors
julianwi, Hazou
Source Code: https://github.com/julianwi/android_device_motorola_smi/tree/lineage-16.0
ROM OS Version: 9.x Pie
ROM Kernel: Linux 3.0.x
Based On: LineageOS
Version Information
Status: Stable
Stable Release Date: 2019-08-19
Created 2019-07-04
Last Updated 2019-08-19
This if I did not expect it, I'll try to see how it goes. Thank you.
Download links and install description are up now. Download from mega.nz because xda download section is broken at the moment. I'm waiting for your test reports
It's really great works, thank you!!
I quickly tried and found several points.
- USB connection with PC
All USB connection option including File Transfer, USB tethering, PTP are grayed out.
Disabling/Enabling android debug in setting didn't work.
- Wifi with storage encryption
When you enable storage encryption, WiFi always become disabled, not be able to enable.
Just FYI, it required deleting /system/bin/pdsbackup.sh AND reducing partition size of 'data' (/dev/block/mmcblk0p17).
- SElinux
Although it is designated as permissive in device.mk, it's actually worked as "disabled".
I'm not sure it's related or not, however, when building "user build", it's failed with "ERROR: permissive domains not allowed in user builds".
I know "user build" is not officially supported in Lineage release, however, it's really helpful if we can do it for AFW usage.
Previously I could use Lineage 14.1 smi build for AFW and safetynet app with user build.
BTW, performance is really great, seems to be almost same as Lineage 11.
dumkm said:
It's really great works, thank you!!
I quickly tried and found several points.
- USB connection with PC
All USB connection option including File Transfer, USB tethering, PTP are grayed out.
Disabling/Enabling android debug in setting didn't work.
Click to expand...
Click to collapse
I also noticed that. Will see how this can be fixed. It is just a problem with the option dialog. Usb connection works fine. As a workaround you can set a default USB configuration in developer options
dumkm said:
- Wifi with storage encryption
When you enable storage encryption, WiFi always become disabled, not be able to enable.
Just FYI, it required deleting /system/bin/pdsbackup.sh AND reducing partition size of 'data' (/dev/block/mmcblk0p17).
Click to expand...
Click to collapse
I have not tested storage encryption yet. Will have a look at it later
dumkm said:
- SElinux
Although it is designated as permissive in device.mk, it's actually worked as "disabled".
I'm not sure it's related or not, however, when building "user build", it's failed with "ERROR: permissive domains not allowed in user builds".
I know "user build" is not officially supported in Lineage release, however, it's really helpful if we can do it for AFW usage.
Previously I could use Lineage 14.1 smi build for AFW and safetynet app with user build.
Click to expand...
Click to collapse
I think lineage trust doesn't differentiate between permissive and disabled. Selinux support is planned for future releases
Thank you for quick check.
Regarding USB connection, I also confirmed that Ubuntu can recognize as external storage with above option, besides Windows still does not recognize. Maybe depending on my environment.
Also I noticed that Chrome, Chrome Beta and Chrome Canary (therefore another Chrome based apps such as Maps Go) always crash. This is also maybe my environment only, though. BTW, I could install MicroG, besides couldn't install OpenGapps 9.0 pico due to partition size limit.
Additionally, I couldn't find any LED settings, currently LED is always off during charge or any notification.
dumkm said:
Thank you for quick check.
Regarding USB connection, I also confirmed that Ubuntu can recognize as external storage with above option, besides Windows still does not recognize. Maybe depending on my environment.
Also I noticed that Chrome, Chrome Beta and Chrome Canary (therefore another Chrome based apps such as Maps Go) always crash. This is also maybe my environment only, though. BTW, I could install MicroG, besides couldn't install OpenGapps 9.0 pico due to partition size limit.
Additionally, I couldn't find any LED settings, currently LED is always off during charge or any notification.
Click to expand...
Click to collapse
Notification Led should work. Can be configured under settings->apps and notifications->notifications->notification light. I don't know what happened with the battery light. It will hopefully come back if I upgrade the driver to hidl.
Google Chrome is a known problem with MicroG. It requires official gapps. I will check if some of the unprivileged lineage apps can be moved to data partition to make place for google apps
Newbie question
Hi all, I know someone who's selling her old RAZR i XT890 and I'm interested (for experimental reasons but also the oddity that it's Intel powered). I've never owned a RAZR i so I've got some questions:
-The phone is from 2012 so quite old and has 1GB RAM, does it work well with this Lineage 16? Because usually newer software would perform bad on older SoC (I used to have iOS 7 on iPhone 4 back in the day and it was painfully slow compared to 6).
-On Lineage 16, can it run any Android app as a standard new Android Pie phone? I ask because this is an Intel x86 CPU, so can it still run Android apps as normal or are most of them only designed for ARM and therefore unusable?
If I get the good news, I may buy the phone and try this Lineage OS custom ROM.
Regarding LED, maybe it became working after modifying some option of notification light. Battery connection light is still always off.
Regarding opengapps, I moved webview and LatinIME from app directory to external SD in TWRP, then installed as normal app after system boot. Webview worked fine besides LatinIME always crash. I'm using different IME, so it's no problem. With this environment, opengapps nano can be installed, then Chrome, Maps and other google apps worked.
dumkm said:
Regarding LED, maybe it became working after modifying some option of notification light. Battery connection light is still always off.
Regarding opengapps, I moved webview and LatinIME from app directory to external SD in TWRP, then installed as normal app after system boot. Webview worked fine besides LatinIME always crash. I'm using different IME, so it's no problem. With this environment, opengapps nano can be installed, then Chrome, Maps and other google apps worked.
Click to expand...
Click to collapse
That's good. Than we can make a flashable zip to automatically move and symlink them to data partition.
I will provide a new build till end of the week with improved usb and notification LED implementation. I already got it working in my local setup
flameseewa said:
Hi all, I know someone who's selling her old RAZR i XT890 and I'm interested (for experimental reasons but also the oddity that it's Intel powered). I've never owned a RAZR i so I've got some questions:
-The phone is from 2012 so quite old and has 1GB RAM, does it work well with this Lineage 16? Because usually newer software would perform bad on older SoC (I used to have iOS 7 on iPhone 4 back in the day and it was painfully slow compared to 6).
-On Lineage 16, can it run any Android app as a standard new Android Pie phone? I ask because this is an Intel x86 CPU, so can it still run Android apps as normal or are most of them only designed for ARM and therefore unusable?
If I get the good news, I may buy the phone and try this Lineage OS custom ROM.
Click to expand...
Click to collapse
Newer android versions have been designed while keeping low ram devices in mind. Ram hungry special features like the picture in picture mode are excluded from builds for older device. So the situation is much better then on iOS. But a newer phone would run better thought.
Most android apps are available for x86. But some are still arm only and get automatically emulated. The intel houdini emulator integrates these apps natively into the system but they are a bit slower then x86 apps. These are for example Skype and a few unity based games
julianwi said:
Newer android versions have been designed while keeping low ram devices in mind. Ram hungry special features like the picture in picture mode are excluded from builds for older device. So the situation is much better then on iOS. But a newer phone would run better thought.
Most android apps are available for x86. But some are still arm only and get automatically emulated. The intel houdini emulator integrates these apps natively into the system but they are a bit slower then x86 apps. These are for example Skype and a few unity based games
Click to expand...
Click to collapse
Thanks for the response. So I should be alright with it then, hopefully. I just hope it won't lag on that old SoC. I'd love if you could upload a quick video of it in action.
TWRP error 70
julianwi said:
This is an unofficial build of LineageOS 16.0 for the Motorola razr I, (XT890/SMI).
Lots of thanks to Hazou. This rom is based on his los-14 rom and I got help from him with los-16.
This rom has full hardware support and should run stable. It has been tested by me in daily use. I'm using the rom without google apps, but with microg. I don't know how smooth it runs with official gapps.
Special Features
-All features of Hazous 14.1 rom
-MicroG signature spoofing patch is included.
-Adaptive icons can be disabled in homescreen settings.
I can include more features if requested
Known Bugs
-Mobile cell connection doesn't connect after boot. You have to turn airplane mode on and off to let it work.
-selinux is set to permissive for now (reduced security)
Please report more bugs if you test this rom
Install
1. Backup everything you don't want to loose.
2. Download and install TWRP 3.2.3 (download in attachments. Can be flashed with fastboot or with another recovery)
3. If you come from another rom do a full wipe with twrp
4. Download and install the rom flashable zip (download from mega.nz https://mega.nz/#!ICwXRC6D!VZqe3o5zeWbmMiZvka_BtUTW5T_V7_OdMS57Oe9CbMk)
5. Choose one of the following options:
-either install MicroG (can be installed with the unofficial installer https://forum.xda-developers.com/android/development/microg-unofficial-installer-t3432360)
-or install google apps (download form https://opengapps.org/. Choose x86 9.0 pico)
6. If you want root access install the addonsu-16.0-x86.zip (download in the attachments)
7. Reboot the phone. First reboot will take some time
XDA:DevDB Information
unonfficial LineageOS 16.0, ROM for the Motorola RAZR i
Contributors
julianwi, Hazou
Source Code: https://github.com/julianwi/android_device_motorola_smi/tree/lineage-16.0
ROM OS Version: 9.x Pie
ROM Kernel: Linux 3.0.x
Based On: LineageOS
Version Information
Status: Stable
Stable Release Date: 2019-07-04
Created 2019-07-04
Last Updated 2019-07-05
Click to expand...
Click to collapse
I've installed the OS without problems, but when i try to get GApps Pico or any other version TWRP prompt error 70. How should i proceed? There is any additional configuration needed?
Kazvko said:
I've installed the OS without problems, but when i try to get GApps Pico or any other version TWRP prompt error 70. How should i proceed? There is any additional configuration needed?
Click to expand...
Click to collapse
Yes, system partition size is limited on this phone. To install GApps some files need to be moved to data partition.
I created a flashable zip to automate this process. Take a look at the modified install description in the first post
New build is up now.
flameseewa said:
Thanks for the response. So I should be alright with it then, hopefully. I just hope it won't lag on that old SoC. I'd love if you could upload a quick video of it in action.
Click to expand...
Click to collapse
Sorry don't have enough time to make a video in the near future. Maybe someone else can record a video of it
I could confirm that notification LED and USB storage works fine with lineage-16.0-20190713-UNOFFICIAL-smi. Thanks.
Still WiFi with storage encryption does not work.
julianwi said:
New build is up now.
Sorry don't have enough time to make a video in the near future. Maybe someone else can record a video of it
Click to expand...
Click to collapse
Alright, thanks. I bought my friend's RAZR i and I am planning to use it as a daily driver with this ROM (I'm a light user anyway), I can't thank you enough for making this LineageOS for such an old device. I wonder if such a recent Lineage has been developed for the 2011 Atrix, haven't seen one.
I have questions though, firstly I've never used a custom ROM before, can I simply follow the instructions on this thread to get it working, or is there anything that has to be done beforehand like rooting? Secondly, are any other OSs successfully booting on this x86 phone, as I can't find it on XDA? (it surprisingly hasn't gotten much attention as a hackable device like HTC HD2 or Nokia N900 got).
dumkm said:
I could confirm that notification LED and USB storage works fine with lineage-16.0-20190713-UNOFFICIAL-smi. Thanks.
Still WiFi with storage encryption does not work.
Click to expand...
Click to collapse
I know, haven't looked at the storage encryption for now. It will maybe be in the next update next month
flameseewa said:
Alright, thanks. I bought my friend's RAZR i and I am planning to use it as a daily driver with this ROM (I'm a light user anyway), I can't thank you enough for making this LineageOS for such an old device. I wonder if such a recent Lineage has been developed for the 2011 Atrix, haven't seen one.
I have questions though, firstly I've never used a custom ROM before, can I simply follow the instructions on this thread to get it working, or is there anything that has to be done beforehand like rooting? Secondly, are any other OSs successfully booting on this x86 phone, as I can't find it on XDA? (it surprisingly hasn't gotten much attention as a hackable device like HTC HD2 or Nokia N900 got).
Click to expand...
Click to collapse
If the phone never had a custom rom yet, you have to unlock the bootloader first. Description is in this thread: https://forum.xda-developers.com/showthread.php?t=1928551
julianwi said:
If the phone never had a custom rom yet, you have to unlock the bootloader first. Description is in this thread: https://forum.xda-developers.com/showthread.php?t=1928551
Click to expand...
Click to collapse
That's an old guide, will everything still work?
flameseewa said:
That's an old guide, will everything still work?
Click to expand...
Click to collapse
Yes, it should still work the same. If some links are outdated you can google them yourself
Thank you for bringing my old RAZR i back to life! I really appreciate the time and effort you spent for this obselete phone. Looking forward for more updates and for a bug free ROM. Using it now
dumkm said:
- Wifi with storage encryption
When you enable storage encryption, WiFi always become disabled, not be able to enable.
Just FYI, it required deleting /system/bin/pdsbackup.sh AND reducing partition size of 'data' (/dev/block/mmcblk0p17).
Click to expand...
Click to collapse
I'm not sure if I misunderstood but when you said "it required deleting....." and "reducing partition size of data", did you mean you can get WiFi to work if you do those things? I'm no expert at these but I can atleast apply the "fix" (if it really is) given that you guide me, if it's okay with you. Thanks!

Postmarketos for Amazon Fire 7 HD (2017) (Austin)

Working ebuild for installing postmarketos on the Amazon Fire 7 HD (2017) codename Austin
Amazon Fire 7 (2017) postmarketOS Armv7l Mediatek MT8127 Mali-450MP4 600x1024 display 1GB RAM Linux 3.10.54
What seems to work:
Boot Touch screen Battery percentage Usb internet OTG usb Wayland, Mate, Xfce4, Lxde, Sxmo, i3wm
Does NOT work:
Wifi & Bluetooth (no drivers) GPU acceleration (drivers do not work) Audio Sleep and fully turning off the display Screen rotation Wifi adapter does not work even with drivers and kernel support, mobo support issue(?) FDE Cameras You tell me
Special options: *Must be flashed to USERDATA partition as system partition is too small
msm-fb-refresher packaged is added to the depends to make the screen refresh. After flashing the device must be booted into recovery once. From the recovery it is to be powered off and booted and then as normal. This is because the device depends on the AMONET exploit which is applied by twrp after every flash.
Flashing Instructions
This assumes that you already have linux installed and the bootloader on the tablet is unlocked. Don't worry if it looks complicated. If you are unsure of something ask on the postmarketos matrix or leave a comment for help.
Install pmbootstrap as stated in the postmarketos wiki, does not matter which options or device you pick.
Once that is done download and drag the two folders in the git repo into "/home/YOURUSER/.local/var/pmbootstrap/cache_git/pmaports/device/testing/" also displayed as "~/.local/var/pmbootstrap/cache_git/pmaports/device/testing".
Run pmbootstrap init and select amazon as manufacture and austin as the device, mate, lxde, xfde, are confirmed working.
Run pmbootstrap install
Boot into twrp and wipe all partitions including data
Boot into the hacked bootloader from the twrp options
Run pmbootstrap pmbootstrap flasher flash_rootfs --partition userdata (system partion is too small to flash!) and once it is done flashing run pmbootstrap flasher flash_kernel
Unplug the device, wait 10 seconds and then hold the power button. Once it is powered on YOU MUST boot it into twrp at least once as it needs to restore the AMONET exploit, until you do that the device will not boot.
Issues
If something does not work such as the display rotated wrong or device not booting just comment or open an issue, I changed the rotation of the display in the kernel options to horizontal but i did not test the effects as I already have android with books on it.
Reinstall android/lineage
Simple as cake, just boot into twrp wipe all partions(some will fail), you may need to resize and fix until it starts working. You just need the system and data partitions to be reformated to ext4 even if they already are. Then just flash the lineageos zip file and reboot the device normally(amonet is fine)
GitHub - GjergjiFloychi/amazon-austin-pmaports: Working ebuild for installing postmarketos on the Amazon Fire 7 HD (2017) codename Austin
Working ebuild for installing postmarketos on the Amazon Fire 7 HD (2017) codename Austin - GitHub - GjergjiFloychi/amazon-austin-pmaports: Working ebuild for installing postmarketos on the Amazon ...
github.com
This looks promising, nice job. I will try installing it on my Austin during the next days.
Rortiz2 said:
This looks promising, nice job. I will try installing it on my Austin during the next days.
Click to expand...
Click to collapse
Good luck. Tell me if the display works if you do install it. Thanks
hexdump0815 cleaned up the config file, use his fork if you are going to install.​
Is it wifi working? It'll awesome
Baonks81 said:
Is it wifi working? It'll awesome
Click to expand...
Click to collapse
Unfortunately the drivers for this SOC are nonexistent so nothing works. WIfi and hdmi adapters don't work, but OTG does. Hexdump made a Debian and Ubuntu image for this tablet, it is great but the tablet is mostly useless without WiFi and GPU support. You can also flash the main image to the userdata partition instead of using an SD Card, but if I remember correctly the rootfs won't auto extend. It would have been great to use this as a linux tablet, however this SOC is uncommon and is not supported by any Linux maintainer. https://github.com/hexdump0815/imagebuilder/releases/tag/211101-02
Fandroid Tech said:
Unfortunately the drivers for this SOC are nonexistent so nothing works. WIfi and hdmi adapters don't work, but OTG does. Hexdump made a Debian and Ubuntu image for this tablet, it is great but the tablet is mostly useless without WiFi and GPU support. You can also flash the main image to the userdata partition instead of using an SD Card, but if I remember correctly the rootfs won't auto extend. It would have been great to use this as a linux tablet, however this SOC is uncommon and is not supported by any Linux maintainer. https://github.com/hexdump0815/imagebuilder/releases/tag/211101-02
Click to expand...
Click to collapse
Thanks for new information. I'll searching around
I think we can find firmware it out on /dev/mmcblk---
Baonks81 said:
Thanks for new information. I'll searching around
I think we can find firmware it out on /dev/mmcblk---
Click to expand...
Click to collapse
I looked at the firmware dump on github, it is all proprietary and seems to be compatible only on android. The closest I got to getting working wifi was moving the original libs and networkmanager bin to linux however it only showed wifi working for a few seconds without detecting anything.
I'm working on this device right now. I just downloaded the repository below, and I will make a pull/merge request upstream soon.
Fandroid Tech said:
GitHub - GjergjiFloychi/amazon-austin-pmaports: Working ebuild for installing postmarketos on the Amazon Fire 7 HD (2017) codename Austin
Working ebuild for installing postmarketos on the Amazon Fire 7 HD (2017) codename Austin - GitHub - GjergjiFloychi/amazon-austin-pmaports: Working ebuild for installing postmarketos on the Amazon ...
github.com
Click to expand...
Click to collapse
I have my own fork of the pmaports repository at https://gitlab.com/Worldblender/pmaports, where I will push your files (eventually with my changes) to. Maybe we can work together on getting this tablet supported upstream, if you still want to (anything else that isn't working, like the Wi-Fi/Bluetooth, will have to come later).
UPDATE: Well, I'm going to use https://github.com/hexdump0815/pmaports-amazon for the config now, didn't notice it the first time around. I also noticethat it's possible to get Wi-Fi working with https://github.com/hexdump0815/imagebuilder-firmware/blob/main/tablet_amazon_austin-firmware.tar.gz, that I will try out with my builds soon.
From https://github.com/hexdump0815/imagebuilder/tree/main/systems/tablet_amazon_austin:
wifi seems to work by using the android firmware and tools in a minimal android bionic chroot env
wifi can be stated via /scripts/start-wifi.sh
uncomment the start of this script in /etc/rc.local in case wifi should be enabled by default
wifi support was added in february 2022, so all images from before do not have it yet but it can be added easily afterwards
Click to expand...
Click to collapse
Worldblender said:
I'm working on this device right now. I just downloaded the repository below, and I will make a pull/merge request upstream soon.
I have my own fork of the pmaports repository at https://gitlab.com/Worldblender/pmaports, where I will push your files (eventually with my changes) to. Maybe we can work together on getting this tablet supported upstream, if you still want to (anything else that isn't working, like the Wi-Fi/Bluetooth, will have to come later).
UPDATE: Well, I'm going to use https://github.com/hexdump0815/pmaports-amazon for the config now, didn't notice it the first time around. I also noticethat it's possible to get Wi-Fi working with https://github.com/hexdump0815/imagebuilder-firmware/blob/main/tablet_amazon_austin-firmware.tar.gz, that I will try out with my builds soon.
From https://github.com/hexdump0815/imagebuilder/tree/main/systems/tablet_amazon_austin:
Click to expand...
Click to collapse
You could package the wifi hack into an Alpine Linux for firmware package if you want. Debian 11 runs really well, to bad we can't get everything working.
Fandroid Tech said:
You could package the wifi hack into an Alpine Linux for firmware package if you want. Debian 11 runs really well, to bad we can't get everything working.
Click to expand...
Click to collapse
Will work on that soon. I just got a build to boot today, and basic functionality seems to be working. I'm going to try a different distro for accessing more functionality (likely Ubuntu 20.04 or 22.04) I just opened up a merge request at https://gitlab.com/postmarketOS/pmaports/-/merge_requests/3251 for the progress on upstreaming.
I'm thinking about using the exact same kernel that the LineageOS image uses:
https://github.com/cm14-mt8127/device_amazon_mt8127-common
https://github.com/cm14-mt8127/kernel_amazon_mt8127-common
This kernel has been updated to 3.10.108, and it's the last one for the 3.10 branch. I'm going to try creating a new build using this kernel, and see how it goes.
Worldblender said:
I'm thinking about using the exact same kernel that the LineageOS image uses:
https://github.com/cm14-mt8127/device_amazon_mt8127-common
https://github.com/cm14-mt8127/kernel_amazon_mt8127-common
This kernel has been updated to 3.10.108, and it's the last one for the 3.10 branch. I'm going to try creating a new build using this kernel, and see how it goes.
UPDATE: Three patches would not apply successfully for this kernel:
fix-host-card-inserted.patch
silence-power-logspam.patch
silence-thermal-logspam.patch
After building without these patches, the kernel boots, but it stays stuck without being able to process further, with some kernel messages displayed. I wonder what I should do to get this kernel working, or if this one shouldn't be used.
Click to expand...
Click to collapse
Use any kernel you want. It literally does not matter as it cannot be mainliner in the future anyways. It makes no difference what you use.
Fandroid Tech said:
Use any kernel you want. It literally does not matter as it cannot be mainliner in the future anyways. It makes no difference what you use.
Click to expand...
Click to collapse
Here's my results after building and boot it:
There are some kernel messages that pop up, and the splash screen never appears. It doesn't matter whether there is a microSD card inserted or not; there seems to be too many changes made to it from 3.10.54 to 3.10.108, along with additional changes that are designed more for Android/LineageOS usage. Finding every one of them is too much work for me.
Three patches would not apply successfully for this kernel:
fix-host-card-inserted.patch (will apply successfully once the entry for line 271 is removed)
silence-power-logspam.patch
silence-thermal-logspam.patch
Again, after building without these patches, the kernel boots, but it stays stuck without being able to proceed further, with some kernel messages displayed. I tried building without any of the patches shipped, but the end result is still the same. I need some help as to what what I should do to get this kernel working, or else I will go back to the 3.10.54 kernel that I know is actually booting to the splash screen. Here, I don't care whether I use a mainline kernel here, since I know the SOC is not supported by mainline. I simply care that I can get a newer kernel version working (from 3.10.54 to 3.10.108), unless there's too many changes for me to go through.
Worldblender said:
Here's my results after building and boot it:
There are some kernel messages that pop up, and the splash screen never appears. It doesn't matter whether there is a microSD card inserted or not; there seems to be too many changes made to it from 3.10.54 to 3.10.108, along with additional changes that are designed more for Android/LineageOS usage. Finding every one of them is too much work for me.
Three patches would not apply successfully for this kernel:
fix-host-card-inserted.patch (will apply successfully once the entry for line 271 is removed)
silence-power-logspam.patch
silence-thermal-logspam.patch
Again, after building without these patches, the kernel boots, but it stays stuck without being able to proceed further, with some kernel messages displayed. I tried building without any of the patches shipped, but the end result is still the same. I need some help as to what what I should do to get this kernel working, or else I will go back to the 3.10.54 kernel that I know is actually booting to the splash screen. Here, I don't care whether I use a mainline kernel here, since I know the SOC is not supported by mainline. I simply care that I can get a newer kernel version working (from 3.10.54 to 3.10.108), unless there's too many changes for me to go through.
Click to expand...
Click to collapse
Just use the stock 3.10.54 kernel. Both versions have long since been EOL. It does not matter what is used as functionality will still the same, both now and any future development. I would not bother upgrading the kernel to 3.10.108. Hexdump told me a while back that somebody else maintaining a similar soc on the mainline branch told him that mainlining the device is almost impossible due to some proprietary components by Amazon. I am not entirely sure as to the validity of this claim but I think that it is not worth the effort of upgrading the kernel of this device. Check this page for more info, I found it to be very helpful to my port. https://wiki.postmarketos.org/wiki/Amazon_Fire_7_2015_(amazon-ford)
[waits eagerly nonetheless]
This is a solid old device in a lot of ways. I'd love to see it supported by PMOS.

General Flashing GSI on Edge S/20 Pro (Magisk enabled)

First of all, thanks to ilia3367 for his Pure Edition ROM which contains some very useful stuffs for flashing and booting GSI.
Code:
/*
* Your warranty is now void.
*
* I am 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 the GSI
* before flashing it! YOU are choosing to make these modifications, and if
* you point the finger at me for messing up your device, I will laugh at you.
*/
What you need
1. Unlocked bootloader
Follow this guide to unlock bootloader. In overall, the unlock process is not as difficult compared to other brands, provided your device is eligible to unlock.
WARNING: The following steps assume you have already unlocked your bootloader. If you haven't unlocked your bootloader yet, or your device isn't eligible, DO NOT PROCEED.
2. fastboot
The process utilizes fastboot exclusively, so make sure you have fastboot installed.
3. A Magisk patched boot.img.
You can either patch it yourself using Magisk Manager, or use boot_magisk.img from Pure Edition ROM.
Although you should be able to use GSI without Magisk, you'll probably need to patch vbmeta (or vbmeta_system) so the stock kernel won't refuse to boot the GSI in this case. This guide does not cover non-Magisk scenario for now, as I'm not entirely sure. With Magisk, patching vbmeta is not needed.
4. A backup of factory images in case something goes wrong.
The factory image (both S and 20 Pro) can be found in the Pure Edition ROM thread as well.
Steps to flash GSI
1. Enter fastboot
Hold down both POWER and VOL- to enter fastboot mode.
Or you can use the following adb command to do so.
Code:
adb reboot bootloader
2. Enter fastbootd
Enter the following command to enter fastbootd, where you can actually access the system partitions, as this phone uses Dynamic Paritions.
Code:
fastboot reboot fastboot
WARNING: The following steps will actually modify your system partitions and may leave your phone unbootable. Make sure you have backed up everything before proceeding.
3. Flash Magisk patched boot.img
Assume you have the Magisk patched boot.img as boot_magisk.img, enter the following command.
Code:
fastboot flash boot boot_magisk.img
Note that you can also flash boot.img directly from fastboot, before entering fastbootd.
4. Remove the product partition
The phone's system partition is very small (about 1GB), but has a very big product partition (about 2.7GB). You'll get an error if you try to flash the GSI right away, as the super partition does not have enough room to resize the system partition to hold the GSI image if it's too large.
As the product partition is not useful for GSIs, it can be safely removed. Enter the following commands.
Code:
fastboot erase product
fastboot resize-logical-partition product_a 0x0
This will erase the stuffs in the product partition and set its size to zero, so the system partition would be able to claim its space when resizing.
You can always use the following command to check bootloader variables.
Code:
fastboot getvar all
In this case, check if the product_a partition has indeed been resized to zero. If yes, you can proceed.
Code:
(bootloader) partition-size:product_a:0x0
5. Flashing the GSI
Enter the following commands.
Code:
fastboot erase system
fastboot flash system gsi.img
Note that the erase command is optional. Replace gsi.img with the actual GSI image file of your choice.
6. Wipe userdata if needed
You don't need to wipe userdata if you are dirty flashing newer build of a same GSI over the existing one.
In case you need to do so (such as flashing a different GSI, or factory reset), enter the following commands.
WARNING: These commands will erase everything in the internal storage, not just app data! Make sure you have everything in the internal storage backed up before doing this. You may try this unofficial TWRP for this device if you want to perform factory reset while keeping your files, as well as creating a nandroid backup.
Code:
fastboot erase userdata
fastboot erase metadata
7. Reboot
Enter the following command to reboot.
Code:
fastboot reboot
If nothing goes wrong and the GSI doesn't have any major issue that might prevent it from successfully booting, you should be able to boot the GSI and further configure it yourself.
I'm still experimenting with GSI so I'm not sure which feature works and which doesn't.
The GSI I'm currently testing is DotOS. Different GSIs may produce different results but should be mostly similar.
For now it seems the following stuffs are working fine:
- Wi-Fi
- Bluetooth (Audio is problematic, other parts appear to work fine)
- 5G (Data)
- NFC
- Camera
- Display color settings (such as Boosted, Saturated)
- Fingerprint Sensor (Turned out it works!)
- Encryption (GSI can work with untouched vendor, which enforces encryption)
- 120/144 fps (On GSI it defaults to 120 fps, which can be changed in Phh-Treble settings)
The following stuffs are problematic:
- MTP (I recommend using ADB as it's a hit-or-miss on Linux. On some environments it works, on other environments it doesn't)
- Bluetooth Audio (Need to enable "alternate audio policy" and also "Force disable A2DP offload" for headsets to work correctly)
The following stuffs are not working:
- VoLTE (While you can enable "Force the password of 4G Calling setting" in Phh Treble Settings -> IMS features" then toggle it off then on upon system startup to make it active, it does not work correctly!)
Here are some functionalities that I won't be able to test as I'm not actually using them.
- SafetyNet related (I use microG now)
- USB Type-C Audio (I mainly use bluetooth headsets if needed for all except gaming)
- SIM2 (I'm confident it'll work as both SIM slot's IMEIs are correctly detected)
- Carrier-specific issues (Need someone using Verizon or other GSI-problematic carriers to test this)
Currently I've tested that the most recent DotOS, OctaviOS GSIs are working.
Keep in mind that not all GSIs can boot. You'll need to look for another build if the one you flashed doesn't boot correctly (which seems to be SELinux related).
For now, most of the functionalities work on GSI using a Magisk patched stock kernel and untouched vendor. The kernel source for RRA31 build (Global) is currently in the process of being released.
UPDATE (11/3/2021): The source code is now available.
but i've still have a question for the step 5
this mobile is a/b slot but you didn't use fastbootd mode is that work?
ZhenYuSAMA said:
but i've still have a question for the step 5
this mobile is a/b slot but you didn't use fastbootd mode is that work?
Click to expand...
Click to collapse
Step 2 is switching to fastbootd. The rest of the commands are done in fastbootd mode.
fastbootd uses the same syntax as fastboot.
This phone uses dynamic partitions, but is also A/B. Usually you would be on slot A if it's a new phone, but be sure to pay attention to active slot if the phone has taken OTA updates before.
I don't know if there are already OTA updates out, though this phone is still relatively new.
LSS4181 said:
Step 2 is switching to fastbootd. The rest of the commands are done in fastbootd mode.
fastbootd uses the same syntax as fastboot.
This phone uses dynamic partitions, but is also A/B. Usually you would be on slot A if it's a new phone, but be sure to pay attention to active slot if the phone has taken OTA updates before.
I don't know if there are already OTA updates out, though this phone is still relatively new.
Click to expand...
Click to collapse
whoa, now i see much thx
I tried DotOS 5.2 since i don't have volte on my area, and it was usable, only thing that annoyed me a little is CPU being capped at 2500MHz. Do you know how to have the same frecuency config as with the stock ROM?. With stock i noticed everytime i open a benchmark app the CPU stays at max frecuency on all cores even if it's not running the actual benchmark.
I don't have much knowledge with tweaking system code since the phone i had before had every ROM in every flavor already optimized (k20 pro) and with this one i'm getting a little bit bored to be honest so i wanted to do something myself but i couldn't get around those frecuency issues. Tried with Franco Kernel Manager and EX, the frecuecies applied but after around 1 minute everything went back to default.
Also, did you try the stock camera app?
Thanks.
rodrimax10 said:
I tried DotOS 5.2 since i don't have volte on my area, and it was usable, only thing that annoyed me a little is CPU being capped at 2500MHz. Do you know how to have the same frecuency config as with the stock ROM?. With stock i noticed everytime i open a benchmark app the CPU stays at max frecuency on all cores even if it's not running the actual benchmark.
I don't have much knowledge with tweaking system code since the phone i had before had every ROM in every flavor already optimized (k20 pro) and with this one i'm getting a little bit bored to be honest so i wanted to do something myself but i couldn't get around those frecuency issues. Tried with Franco Kernel Manager and EX, the frecuecies applied but after around 1 minute everything went back to default.
Also, did you try the stock camera app?
Thanks.
Click to expand...
Click to collapse
VoLTE doesn't work with GSIs yet. I tried forcing the toggle out. It does register, but calls do not function at all (hangs). I've reported the issue to phh, but I'm yet to make any progress. One thing I know is that IMS is in `/system_ext`, and that is not used by GSI.
As for CPU cap, I haven't really tried using kernel managers on the device yet (I prefer using SmartPack). My experience with SmartPack on other devices is similar, that any changes to frequencies would be reverted to default after a while.
It seems the system (or maybe just stock kernel) nowadays don't allow you to freely change CPU/GPU frequencies anymore, and your experience with Franco and EX further proved it. As for benchmark apps capping CPU frequency... I suspect the phone has some cheating mechanisms similar to some other ones in the past.
Don't know about stock camera app. For custom ROMs/GSIs my favorite is Open Camera, which is installed via NanoDroid to replace the stock ones.
Plus, with stock ROM, the system partition doesn't really have many stuffs. Other stuffs were placed in `/system_ext` and `/product`, and it appears that GSIs use neither of those. It's possible that the libraries of some essential features reside in `/system_ext` and therefore would not be available for GSIs (like IMS).
This procedure could be used to A12?
vinaaa said:
This procedure could be used to A12?
Click to expand...
Click to collapse
Yes but from my experience apart from the bugs mencioned above, in A12 fingerprint and magisk don't work and bluetooth doesn't either even with the workaround. Once i found these bugs i went back to stock so i didn't test it more than 15 minutes, it probably has a lot more to be found
LSS4181 said:
VoLTE doesn't work with GSIs yet. I tried forcing the toggle out. It does register, but calls do not function at all (hangs). I've reported the issue to phh, but I'm yet to make any progress. One thing I know is that IMS is in `/system_ext`, and that is not used by GSI.
As for CPU cap, I haven't really tried using kernel managers on the device yet (I prefer using SmartPack). My experience with SmartPack on other devices is similar, that any changes to frequencies would be reverted to default after a while.
It seems the system (or maybe just stock kernel) nowadays don't allow you to freely change CPU/GPU frequencies anymore, and your experience with Franco and EX further proved it. As for benchmark apps capping CPU frequency... I suspect the phone has some cheating mechanisms similar to some other ones in the past.
Don't know about stock camera app. For custom ROMs/GSIs my favorite is Open Camera, which is installed via NanoDroid to replace the stock ones.
Plus, with stock ROM, the system partition doesn't really have many stuffs. Other stuffs were placed in `/system_ext` and `/product`, and it appears that GSIs use neither of those. It's possible that the libraries of some essential features reside in `/system_ext` and therefore would not be available for GSIs (like IMS).
Click to expand...
Click to collapse
Thank you for the reply
I don't know if this is of any relevance but after disabling system tracing on developer options on stock A11, the CPU is not capped when opening benchmark apps anymore
I didn't like the DotOS. Yes, it has an interesting interface, interesting graphical solutions. But many additional settings and functions don't work.
ilia3367 said:
I didn't like the DotOS. Yes, it has an interesting interface, interesting graphical solutions. But many additional settings and functions don't work.
Click to expand...
Click to collapse
GSIs aren't 100% bug-free from my own experiences. Sometimes regressions or plain oversights can happen with certain versions. A long time ago with older devices I even had times when Bluetooth didn't work on a certain GSI because the maintainer forgot to include Bluetooth related libraries (as the logcat errors implied the files were absent).
A recent example would be that custom fonts used to work with an earlier build of OctaviOS (July) but broken with the latest (September). Either the maintainer somehow forgot to actually include the fonts this time, or there were regressions/bugs in the OS itself causing the feature to break.
Plus, it seems substratum is still alive and active, yet I'm quite a n00b when it comes to adding additional features to system with it (preferrably on top of plain AOSP). Back then I mainly used it for custom themes I bought, and when custom ROMs started including built-in theming and the features I need, substratum is pretty much dead to me and I haven't touched it for years since then.
PS: There is an ongoing bug with DotOS for this device, since 5.1, that keyboard layout button would not show up when using 3-button navbar (which is my favorite). The button correctly shows when using gestures or 2-button navbar. I reported the issues several times in the group but I got very limited response (probably because few users are using it thus affected)... so the issue persists with the recently released DotOS 5.2 GSI.

[Rom] Ubuntu touch [halium 9] with waydroid [11] support

This is an update to the Ubuntu Touch build that I shared a while back.which was based on halium 7. Now we are moving to halium 9. Even with quite a few unsolved issues ,these builds are marginal improvement over the previous ones.
This port had been no means easy, in reality, the initial builds was even more buggy compared to previous gen ,but most of them were much easier to fix, as I got lots of help from the porting community.I was able to get it to a booting state in about 3 months time as compared to more than a year with halium 7 , to be fair the delay was also due to the fact that I was not exactly an android developer or a developer for that matter, and had to read a lot at first .
anyways I share it here as I have reached a point where further bug fixing is beyond my capability . or in other words, Googling error codes and testing all possible methods /solutions don't seem to yield any meaningful full result, I do really wish someone better than me would look into it and make it even better ;- )
In the meantime let me add more Verbose ;-P
What is ubuntu touch
ubuntu touch is different from other oses as it is fork of Linux as compared to all our favorite mobile oses being forks of android. in other words, it is a fully functional Linux os optimized to run on arm64 device in a touch environment.The original idea was conceived by canonical and later they stoped their work and open-sourced the project and transferred the assets to the ubports community, the community is actively improving it, and trying to bring it to feature parity with Android .
whats working on this port
calls,data ,wifi
sound, vibration
auto rotation
auto, manual brightness
Offline charging
GPS
and other misc things
whats partially working
camera (preview and take video works clicking picture not working)
fingerprint (fingerprint wakes the device but cant enroll fingerprints)
Bluetooth (everything works except file transfer)
what does not work
adb,mtp
one of the feature improvements amongst other things is the support for waydroid
Waydroid
waydroid is a containerised approach to get an android environment running in a Linux system with the added advantage of full hardware access.so we can android apps and games natively. more details can be found here. to install way droid open terminal and paste the following
sudo -s
mount -o rw,remount / && apt update && apt install waydroid && waydroid init
It also need a fix as waydroid is intended for treble devices which can be found in this post. Thank you @erfanoabdi for enabling support for non treble devices.
Installation
- flash the halium-boot and the following zip file
- clean flash recommended
- reboot after the initial setup is done
Halium-boot .img
ubuntu_touch_installer_Kenzo_halium9_v7.zip
Please Donate
Every rupee ,euro ,doller counts. It would feel wounderful to be gifted something no matter how small.
If you like to do more, please consider buying me a coffee or may be even another Kenzo.
if you are in India please use this upi id -- > [email protected]
else do pm me.
default user password is " a "
For the History book
ubuntu_touch_installer_Kenzo_halium9_v6.zip
ubuntu_touch_installer_Kenzo_halium9_v5.zip
ubuntu_touch_installer_Kenzo_halium9_v4.zip
ubuntu_touch_installer_Kenzo_halium9_v2.zip
The sources
[https://github.com/mathew-dennis
[https://github.com/LineageOS
[https://github.com/Halium
[https://github.com/ubports
Thankyou
ubports community --> TheKit ,FlowHack, kn8rider divin, ari and everyone else
Redmi note 3 community --> thanks to all Dev's for keeping the device alive for the community .
This port would have never reached anywhere without their efforts..
And the truth is my efforts are very little as compared theirs...thank you ...
changelog
"Why not make something new from old code!" (Also because my pc can't handle A10+ builds)
v7
- updated to latest rootfs (ota-24)
V6
- updated to latest rootfs (ota-22)
- rebuild android image
- auto-brightness
V5. 1 (this is a patch for v5)
- bluetooth (everything else except file transfer )
- offline charging
- gps ( for real this time ) ( as ut dont have A-GPS support 1st fix might take 5+ min ,then it should work as normal)
v5
- gps is working now ( it's broken again)
-changed audio hal to a late start service
-enabled wireless display option (should work on miracast devices ) (not tested )
-fixes from ubports --> magnetometer and notification led is working and other fixes from ota 18 to ota 20
v4
- fixed issue with initial setup --thankyou Kn8Ryder
-audio should come up more often during boot than before
Telegram
If you are interested in bug fixing and contributing to this project , report a bug , click here to reach Telegram group
#Screenshots
what is default user password...
KrutosVIP said:
what is default user password...
Click to expand...
Click to collapse
"123" if u flashed old rom first, else "a"
mathew..denniss said:
"123" if u flashed old rom first, else "a"
Click to expand...
Click to collapse
ok, will try
Touch not working! after initial setup
mathew..denniss said:
"123" if u flashed old rom first, else "a"
Click to expand...
Click to collapse
Working for me, thanks for porting this amazing system.
BraveAmbush said:
Touch not working! after initial setup
Click to expand...
Click to collapse
For me the fix was to firstly install old ubuntu touch, load it and configure. After that,flash bootimage of new Ubuntu Touch with Halium9, then flash .zip with new Ubuntu Touch. It will give error, it is normal - go to /data/ and delete dir "ubports", then try again.
After that - just reboot, system will start with configured profile "Ubuntu"
The password is just "a"
Also, for me sound not working.
KrutosVIP said:
For me the fix was to firstly install old ubuntu touch, load it and configure. After that,flash bootimage of new Ubuntu Touch with Halium9, then flash .zip with new Ubuntu Touch. It will give error, it is normal - go to /data/ and delete dir "ubports", then try again.
After that - just reboot, system will start with configured profile "Ubuntu"
The password is just "a"
Click to expand...
Click to collapse
both flash may end with flash error that not a problem its a busybox compatibility thing.(not relevant )
KrutosVIP said:
Also, for me sound not working.
Click to expand...
Click to collapse
try a hard reboot(long press power button) .it should work afterwards
BraveAmbush said:
Touch not working! after initial setup
Click to expand...
Click to collapse
mathew..denniss said:
both flash may end with flash error that not a problem its a busybox compatibility thing.(not relevant )
Click to expand...
Click to collapse
For me deleting ubports helps to end without error-
When i don`t delete and get error, the system just don`t want to boot.
No animation, just black screen and when reboot
um that for me sound dont work too..
if not delete ubports in recovery and install, it 'll show a short black screen with a small mouse and reboot.
Also there are strange permission issues in the system dirty flashed from halium 7
Can I ask for some clarification? I managed to install the alpha version from your previous post, but how do you flash these update zips? I tried flashing them via TWRP on the device but I keep getting "recovery busybox setup failed" error.
jeangjenq said:
Can I ask for some clarification? I managed to install the alpha version from your previous post, but how do you flash these update zips? I tried flashing them via TWRP on the device but I keep getting "recovery busybox setup failed" error.
Click to expand...
Click to collapse
An update on this, after two more tries of reinstalling old ubuntu touch > flashing halium-boot through fastboot > Flashing zip through TWRP. It flash without issue and booted. Initially the sound isn't working, but after several weird restarts (select poweroff but it restarted, select poweroff but it froze on boot logo, etc etc), sound is working. This is a fun project
updated the flashable zip .. thankyou for the fix @Kn8Ryder
t
jeangjenq said:
Can I ask for some clarification? I managed to install the alpha version from your previous post, but how do you flash these update zips? I tried flashing them via TWRP on the device but I keep getting "recovery busybox setup failed" errotry v4
Click to expand...
Click to collapse
jeangjenq said:
Can I ask for some clarification? I managed to install the alpha version from your previous post, but how do you flash these update zips? I tried flashing them via TWRP on the device but I keep getting "recovery busybox setup failed" error.
Click to expand...
Click to collapse
try v4 ,it has some more fixess.busybox things are gone now
how many minutes does waydroid open to you ?
I did clean install
boot halium + v4 update
then install waydroid thru terminal
loading screen boot logo waydroid? is this alright?
im waiting to it

Categories

Resources