OPEN BETA for 17.1 UNOFFICIAL LineageOS T550 rom - Samsung Galaxy Tab A series Questions & Answers

BEFORE YOU decide to try this rom, please read all of post 1 and 2.
The UNOFFICIAL LineageOS 17.1 T550 ROM
BACKUP YOUR DATA AND OLD ROM BEFORE trying my rom.
Let me be clear, I have the SM-P550, NOT the SM-T550.
So I built a SM-P550 rom which is almost the same as the SM-T550 except the "P" stands for Pen.
I believe my P550 rom with minor modifications will work on the T550, but I have no T550 to test it on. I believe it will work because I have used virsys T550 rom on my P550 and it works, but the X-axis touch is inverted.
So I built SM-P550 with code to fix the X-axis touch inverted problem and it's one of line code. If I leave that one line of code out, then the X-axis will be correct for the T550. I have tested my 17.1 T550 rom on my P550 and it works, but again with the X-axis inverted. Just remember I don't have a T550 to test it on so you may run into bootloops, stuck at boot animation, etc.
If you are NOT an expert in using fastboot, adb, odin, heimdall, twrp, DO NOT attempt this ROM. You must know how to use these tools to revert back to your old rom. I'm not a Windows user so do not expect any help from me. My main OS is Lubuntu 20.04 LTS and all my roms are built on this platform.
If you are new to flashing custom roms, do NOT attempt this.
If you need your tablet for work and something important, do NOT flash this rom. This rom could result in a bricked device or boot loop or non booting device or you not being able to revert back to your old rom.
Again, the T550 rom that I built does boot and function on my P550, but I have no T550 to verify.
BACKUP YOUR DATA AND OLD ROM BEFORE trying my rom.
The rom has the latest monthly 2021 security patches.
What works
1. bluetooth
2. wifi
3. brightness
4. external audio
5. GPS
6. audio through headphone jack
7. camera
8. touchscreen X-axis works properly
9. Google play store - use pico apps
10. flip flap smart cover
11. audio over bluetooth
What doesn't work
1. LineageOS FM Radio app does not work. The P550 and T550 don't have the LTE chipset for it to work.
2. The stock Jelly browser crashes a lot. Use a different browser. There's lots of better options that are more stable and reliable than the built in Jelly browser.
3. Home screen text may look fuzzy.
Text on home screen looks funny/fuzzy. This only seems to affect the home screen and nowhere else. I have seen the same problem on the SM-T350, SM-T560NU, SM-P550 and Nexus 7 2013.
Problem is with stock trebuchet launcher and/or its fonts. I tried rootless pixel launcher from fdroid as a quick and simple test and see no problems with home screen text. Rootless pixel uses a different font though. A future LineageOS update could resolve the problem?

FAQ - I spent hundreds of hours building this rom. The least you can do is spend a few minutes reading everything before posting.
Q1) Why are you releasing a ROM for a tablet that you do not own?
A1) I don't own the SM-T550, but have the SM-P550. I also build roms for the SM-T350 and SM-T560NU. All these platforms use the same msm8916 code base. As such, all my work from the SM-T350, SM-T560NU and SM-P550 could possibly benefit SM-T550 users. For one P550 owner, there are probably twenty T550 owners.
Q2) What if my app, xyz, doesn't work?
A2) I won't answer questions regarding why your app doesn't work. If your app, whatever it is, doesn't work, then go back to your old rom. It's difficult enough building and maintaining these roms. Remember, I'm an unpaid volunteer making a rom for free for your benefit, not mine as I don't even have the T550.
Q3) Your rom is laggy and buggy.
A3) If you find the above, then go back to your old rom. There's only so much software can do on a 2015 budget level tablet. Remember a budget tablet will have the slower SoC/CPU and less DRAM than a top of the line model. Your tablet will also run slower when you use gapps (google apps). You can run a lot of software without using gapps. Research newpipe, microg, youtube vanced, aurora store etc.
Q4) What TWRP should I use?
A4) Use 3.4.0.0. Get it at
Download TWRP for gt510wifi
Download TWRP Open Recovery for gt510wifi
dl.twrp.me
Q5) Why should I use this rom?
A5) You don't. I only offer it because I have built the SM-P550 and it was an easy change to make a SM-T550 rom. If you don't like this rom, then don't use it. Yes, it's that simple.
Q6) Can you build SM-T555 (LTE) or a crDroid version of the SM-T550?
A6) No. All the source code is open source and my changes are in the repo diff file. You can use these two with the roomservice.xml to build your own rom.
Q7) Will you offer monthly updates with security patches?
A7) That all depends on if I continue to have high speed Internet and on the reaction of the posts in this thread. If people are going to complain, then I have NO incentive to make an update. Remember, I don't have the T550 so I get zero benefit from making this rom for myself.
Q8) Can you help me? I'm a newbie. Can you provide step by step instructions?
A8) There are lots of tutorials, videos, etc on how to flash roms. Do your own research.
Q9) Can I report a bug with respect to the rom?
A9) Yes, but you need to supply a) how to recreate it b) a logcat c) a github commit showing how it was fixed. Even then, if I don't have the means to recreate it, I won't be working on it.
Q10) Can I build this rom? Where are the source and kernel source files?
A10) Yes. The kernel source files are at
Samsung MSM8916 Devices
Samsung MSM8916 Devices has 68 repositories available. Follow their code on GitHub.
github.com
aala27 - Repositories
aala27 has 7 repositories available. Follow their code on GitHub.
github.com
Q11) Okay, I understand the consequences and that this is beta rom and willing to take the risks outlined, now where can I find the rom?
A11) Downloads are at
retiredtab - Browse /SM-T550/17.1 at SourceForge.net
sourceforge.net

Hi rretiredtab
I have a T550 with the latest virsys image 16.0 from March 2020.
It is more or less stable, but I think, it will be always slowlier. Empty dalvic and cache does not help.
I'm ready for a new challenge. If I can help you, please let me know.
Best regards
Schaagi

Hi retiredtab,
I ready to try this rom

Schaagi said:
I have a T550 with the latest virsys image 16.0 from March 2020. It is more or less stable, but I think, it will be always slowlier. Empty dalvic and cache does not help.
Click to expand...
Click to collapse
My 16.0 rom for the SM-P550 is based on virsys repos. However, I was only able to make 2 builds using his repos before a LineageOS update in Sept 2020 caused it to get stuck at the boot animation.
Then I tried virsys 17.1 repo and it too gets stuck at the boot animation. I know virsys built crDroid Android 10 rom and uploaded it sometime June 2020, but his Android 10 repos on github are dated March 2020 so whatever patches he did to get crDroid working isn't on github.
I don't know if 17.1 will be faster than 16.0. The 17.1 builds, by default, use an overclocked CPU and GPU in the kernel code. However, I don't know if you will see any real world differences in performance from the overclocking.
In addition, I don't know if virsys March 16.0 March 2020 is overclocked or not. You can always download an utility like CPUinfo at
CPU Info | F-Droid - Free and Open Source Android App Repository
Information about device hardware and software
f-droid.org
to see if the CPU is running at 1.2Ghz or 1.6Ghz (overclocked).

@Schaagi and @Simone101, please let me know if the T550 ROM boots or not after you have installed it. I'm pretty sure it will, but would like to know ASAP.
Then, afterwards, you can let me know how it works over a 24 to 48 hour period. I'm interested to see if it randomly reboots or crashes.
As for speed and performance, just remember it's a 5 year old entry level tablet and unless LineageOS is written in assembler language, it will never match a top of the line model tablet.
Thank you.

I've installed your image as clean-install. It boots !!!
At the beginning of the setup process there is a bluetooth error, that repeats after every new boot.
First installation without opengapps -ok
Second one with opengapps - ok
Restore Data from previous image - ok
As next I will try to install magisk.
Wow, good job. I will check it for the next days and give feedback later.
Best regards
Schaagi

Schaagi said:
At the beginning of the setup process there is a bluetooth error, that repeats after every new boot.
Click to expand...
Click to collapse
Can you provide a screenshot of the error please?
I haven't seen the bluetooth error before on my SM-P550 and I reboot my SM-P550 a lot because I'm always flashing new builds.
I don't use bluetooth at all, but when I turn it on, I can see my neighbor's 65 inch TV. Also, I can pair two tablets together using bluetooth.

Meanwhile I have installed Magisk 21.1 and it works too
I've attached 2 screenshots from Bluetooth error.

Schaagi said:
I've attached 2 screenshots from Bluetooth error.
Click to expand...
Click to collapse
The above is why we need BETA testers.
Okay, I ran into the bluetooth error problem on the SM-T350 and it was due to a missing bluetooth library.
In my SM-T350, I have
Code:
# RT 17.1 copy bluetooth file otherwise bluetooth keeps crashing
PRODUCT_COPY_FILES += \
vendor/samsung/msm8916-common/proprietary/vendor/lib/libbtnv.so:$(TARGET_COPY_OUT_VENDOR)/lib/libbtnv.so
Those 3 lines of code are not in the T550 build. It's easy to add and I can create another BETA build. It's building right now and probably be done in the next 2 hours or so.
If you want to add the libbtnv.so file yourself, here are the instructions
1) Boot into TWRP 3.4.0.0.
2) Click Mount. Choose System.
3) On your computer, goto
proprietary_vendor_samsung/libbtnv.so at lineage-17.1 · Galaxy-MSM8916/proprietary_vendor_samsung
proprietary_vendor_samsung. Contribute to Galaxy-MSM8916/proprietary_vendor_samsung development by creating an account on GitHub.
github.com
4) Click download.
5) Goto the directory where the libbtnv.so is saved.
6) Plug in microusb cable to tablet.
7) Then use adb to push the file using the command
Code:
$ adb push libbtnv.so /system/vendor/lib/libbtnv.so
libbtnv.so: 1 file pushed, 0 skipped. 48.5 MB/s (16128 bytes in 0.000s)
8) Check to make sure file was pushed.
Code:
$ adb shell ls -al /system/vendor/lib/libbtnv.so
-rw-r--r-- 1 root root 16128 Dec 19 21:24 /system/vendor/lib/libbtnv.so
9) Reboot into system and bluetooth error should be gone.
OR
Just wait until my next build is done to get rid of the bluetooth errors. I'm confident the error is due to the missing bluetooth library file.
I will send you and Simone101 a PM when the new build is done.

The new BETA build is finished, but having problems uploading to host server right now. I will try again in a couple of hours to upload. I will PM when I get it uploaded.

I've installed the new image and bluetooth error has gone.But I'didn't test the functionality of bluetooth at the moment.
Will check more in detail and inform you about the results. Thank you.
Regards
Schaagi

@retiredtab
I want to test your ROM , where I can download it.
At the moment I use the cdroid 10 by virsys
My CPU runs at performance mode with 1600 MHz.

bierma32 said:
At the moment I use the cdroid 10 by virsys
Click to expand...
Click to collapse
Over at the T550 thread, it seems that some people who are using crDroid 10 are reporting
1) camera not working
2) brightness not working
3) browser crash (that's you)
#1 and #2 work on my build. As for #3, if you are using the built in Jelly browser, I have noticed that if you open more than 4 windows, it crashes sometimes.
While not perfect, I found that smartcookieweb app works better than Jelly.
Releases · CookieJarApps/SmartCookieWeb
A secure, open source web browser for Android. Contribute to CookieJarApps/SmartCookieWeb development by creating an account on GitHub.
github.com
The Brave browser seems to work the most reliable. You can use Aurora store to download it from play store or try downloading brave apk somewhere.
On a daily basis, I use smartcookieweb as it has built in adblocker and suits my daily browsing needs.

@retiredtab
Both cameras works on Cdroid for me.
Yes, browsers crashes after some times, I use opera mini.

Bluetooth works for, tested sending and recive images.
GPS is not working, will try it again next time.
Magisk 21 works.
WiFi works.

Hi retiredtab,
Nice to see that anybody has try to give us an update for this fossile
Please let me knoe where can I download and test your build.
regards,
L

bierma32 said:
GPS is not working
Click to expand...
Click to collapse
No need to retest GPS. I already know what's wrong. This is the same problem I had with the T350.
The T550 build is missing the commands
Code:
# GPS
PRODUCT_COPY_FILES += \
vendor/samsung/msm8916-common/proprietary/lib/libloc_api_v02.so:$(TARGET_COPY_OUT_VENDOR)/lib/libloc_api_v02.so \
vendor/samsung/msm8916-common/proprietary/lib/libloc_ds_api.so:$(TARGET_COPY_OUT_VENDOR)/lib/libloc_ds_api.so
Now I did test the T550 build on my P550, but it looks like when I made the final image, some of my scripts or commits didn't get copied, like the above, over when I initially changed some P550 naming/parameters to T550.
Some background. I had only 1 hard drive for the P550 and T550 code. I did test bluetooth and gps on my P550 and both work.
After I tested everything, I then later split the P550 onto one hard drive and the T550 to another so I wouldn't get confused when compiling and making changes. I suspect now that I forgot to copy over my T350 script to fix gps and bluetooth onto the new T550 drive.
To fix gps without having to re-download another 440MB file,
1) Boot into TWRP 3.4.0.0.
2) Click Mount. Choose System.
3) On your computer, goto
proprietary_vendor_samsung/libloc_ds_api.so at lineage-17.1 · Galaxy-MSM8916/proprietary_vendor_samsung
proprietary_vendor_samsung. Contribute to Galaxy-MSM8916/proprietary_vendor_samsung development by creating an account on GitHub.
github.com
and
proprietary_vendor_samsung/libloc_api_v02.so at lineage-17.1 · Galaxy-MSM8916/proprietary_vendor_samsung
proprietary_vendor_samsung. Contribute to Galaxy-MSM8916/proprietary_vendor_samsung development by creating an account on GitHub.
github.com
4) Download both files above (libloc_ds_api.so and libloc_api_v02.so).
5) Goto the directory where both are saved.
6) Plug in microusb cable to tablet.
7) Then use adb to push the file using the command
Code:
$adb push libloc_api_v02.so /system/vendor/lib/libloc_api_v02.so
libloc_api_v02.so: 1 file pushed, 0 skipped. 7.6 MB/s (116316 bytes in 0.015s)
$adb push libloc_ds_api.so /system/vendor/lib/libloc_ds_api.so
libloc_ds_api.so: 1 file pushed, 0 skipped. 29.5 MB/s (26132 bytes in 0.001s)
8) Check that both files exist.
$adb shell ls -al /system/vendor/lib/libloc_api_v02.so
-rw-r--r-- 1 root root 116316 Dec 7 2020 /system/vendor/lib/libloc_api_v02.so
$adb shell ls -al /system/vendor/lib/libloc_ds_api.so
-rw-r--r-- 1 root root 26132 Dec 7 2020 /system/vendor/lib/libloc_ds_api.so
9) Reboot into system and GPS should be work now.
I'm making a new BETA image again and before I upload it, I will retest everything again on my P550. It's a bit awkard as everything is mapped backwards on the X-axis.
I'll post here when it's up.

Well it was around 1AM in the morning when I saw the gps not working post and now it's 2:13AM. I'm just waiting for the last 5 minutes of my new build, but the host server is having major problems right now.
So I'm going to sleep and will try uploading the new image tomorrow after I retest everything with the P550 running the T550 image. Everything will be mapped backwards for me on the X-axis while testing.
Dec 21 BETA build up. Androidfilehost is having major problems so I put it up on sourceforge.net. No way I could go to sleep with this hanging over my head. It's 2:30AM. Now I'm going to sleep in tomorrow.
Dec 21 build has gps fix.

Ooh i want really like to test!

Related

Androidx86 & Forks for UEFI Windows based tablets (custom kernels)

Androidx86 & Forks using custom kernelsfor UEFI Windows tablets
Android 6.0 Marshmallow [Stock Download] [Source]
Android 4.4.4 KitKat [As above]
RemixOS 2.0 (Android 5.1.1) [Stock Download] [Source]
PheonixOS 1.0.3 (Android 5.1.1) [Stock Download]​
Custom Kernels Included
Cube i7_Stylus
kernel device_tree
Android 6.0 MM -- post @Wootever
Android 4.4.4 KK -- post [Additional Files] @Wootever
RemixOS 2.0 -- post @asplash
PhoenixOS 1.0.3 -- post
Kernels -- located here
Hacks-Scripts-Tools
Hacks and workarounds that can be used to overcome reported issues. These will be primarily bash scripts; hopefully these can be included in the source code in some way if useful/needed.
Scripts
General scripts - use an app to launch them at boot; or make use of /etc/init.shSleep mode [effectiveness will depend on what sleep modes your device/kernel has access to (`dmesg | grep ACPI`); and will need to be modified if your screen brightness is reported elsewhere]
Code:
watch -n 60 '[ "`cat /sys/class/drm/card0/card0-eDP-1/intel_backlight/actual_brightness`" = "0" ] && echo "mem" > /sys/power/state' &
Which watches the brightness level every minute and if it's zero then puts the device into S3 sleep.
This can be modified in cases where specific modules don't comeback after sleep like the following for a rotation sensor
Code:
watch -n 60 '[ "`cat /sys/class/drm/card0/card0-eDP-1/intel_backlight/actual_brightness`" = "0" ] && setprop ro.sleep 1 && echo "mem" > /sys/power/state' &
watch -n 60 '[ "`getprop ro.sleep`" = "1" ] && [ "`cat /sys/class/drm/card0/card0-eDP-1/intel_backlight/actual_brightness`" != "0" ] && setprop ro.sleep 0 && am force-stop com.android.launcher3 && rmmod kxcjk_1013 && modprobe kxcjk_1013' &
Which restarts the kxcjk_1013 module and restarts the launcher on wakeup​
Build.prop edits RemixOS
ro.remixos.box=true
changing this value to false opens up more options in settings/taskbar and is preferable on tablets
ro.remixos.no_wallpaper=true
changing this to false will let you have a wallpaper if you turn of the file based launcher in settings​RMXTool by @imadlatch is a great tool for resizing data/system.img and having a poke through the system.img while in Windows​Proposition
It should be trivial to modify the ramdisk of Androidx86 ROMS to bind mount an additional .img to host the device specific modules/firmware for trying out new generic ROM releases - obviously full ROM build are preferrably but not always available.
Will need to have a look into the module packing that the build does in order to pack correctly when just compiling a kernel & modules.​
XDA:DevDB Information
Androidx86 & Forks, ROM for the Android General
Contributors
HypoTurtle
ROM OS Version: KitKat; RemixOS/PhoenixOS (Lollipop); Marshmallow
Version Information
Status: Stable
Created 2016-02-12
Last Updated 2016-02-12
Reserved
INSTALLATIONThere are numerous ways these can be installed and there are numerous post reporting different methods, so please don't repeat posts detailing the same issue.
I will list tried and tested installation methods (using Grub2) and a quick rundown of what makes upa grub.cfg file​
Reserved
FAQIf you have a question that hasn't been answered so far - have a look here first before posting​
Thanks @HypoTurtle for making a separate thread for Android releases on the Cube i7 Stylus device! The original thread became quite messy, and it is important to have a dedicated one for Android.
First of all, I think we should really thank the great developers in this forum, @Wootever @asplash @HypoTurtle and all other members and testers for their contribution in preparing a good android image for this tablet.
I've been testing all Android releases in the main thread, and the most stable and usable one was Wootever's 4.4 release.
All other Lollipop (RemixOS and Pheonix OS) and Marshmallow releases seem to suffer from a few major problems:
1) lack of efficient stand by / sleep mode
2) high battery drain
3) no video codecs supporting hardware acceleration
I wonder if this is the case with other x86 based laptops/tablets , and whether the x86-android team are working on fixing these essential features.
Keep up the great work everyone!
@HypoTurtle
Can you please post the script in the first entry for sleep mode in the lollipop releases?
also, any new updates or releases ?
A new beta release of RemixOS has been released.
http://www.jide.com/en/remixos-for-...rce=sendgrid.com&utm_medium=email#downloadNow
Has anyone tested it?
KamaL said:
A new beta release of RemixOS has been released.
http://www.jide.com/en/remixos-for-...rce=sendgrid.com&utm_medium=email#downloadNow
Has anyone tested it?
Click to expand...
Click to collapse
Stock RemixOS Beta, runs with a reported 4.4.2 kernel with as expected wifi not working, switching to the 4.4.0 kernel/modules/firmware we are currently using will work, but I'd rather wait until when/if the kernel source is released.
EDIT. Cube i7 Stylus kernel + modules attached. These are taken from RemixOS Alpha - so it's the kernel @asplash compiled. You need a rooted system.img or unpack/repack system.img within Windows/Linux. Just copy files over / and run the sh while running to set permissions. Then switch the kernel.
Too big to attach so available here
Just a couple of screenshots, it's seems very few people have figured out how to get rotation to work, and I'm sure even fewer have found how to enable apps like Twilight, Lux or Tincore Keymapper...
I'll post procedure in a bit just making sure it doesn't irreversibly mess with anything.
HypoTurtle said:
Stock RemixOS Beta, runs with a reported 4.4.2 kernel with as expected wifi not working, switching to the 4.4.0 kernel/modules/firmware we are currently using will work, but I'd rather wait until when/if the kernel source is released.
EDIT. Cube i7 Stylus kernel + modules attached. These are taken from RemixOS Alpha - so it's the kernel @asplash compiled. You need a rooted system.img or unpack/repack system.img within Windows/Linux. Just copy files over / and run the sh while running to set permissions. Then switch the kernel.
Too big to attach so available here
Click to expand...
Click to collapse
Thanks.
Can you explain step by step how to do it?
Also, any improvements over the previous builds in terms of battery consumption and sleep mode?
Thanks
<MOD EDIT - Non-English Quote Removed.>
Bluetooth not working (same with remix os) for me and I expand data.img with RMXtools but still in android I see 3gb,is there other way to expand?and i can see only 2678MB of ram
asplash said:
essayer d'ajouter
"blacklist btusb" dans /system/etc/modules.blacklist
et redemarre
Click to expand...
Click to collapse
Thanks,bt is working now,for data.img and ram?
leo06 said:
Thanks,bt is working now,for data.img and ram?
Click to expand...
Click to collapse
<MOD EDIT> data.img
KamaL said:
Thanks.
Can you explain step by step how to do it?
Also, any improvements over the previous builds in terms of battery consumption and sleep mode?
Thanks
Click to expand...
Click to collapse
Download it and have a look it should be fairly clear simpilest way is to copy to somewhere you can mount in android (usb, sdcard etc.), then with root file browser copy over, then replace the kernel.
Alternatively use something like RMXTools to open the system.img, copy the files over then repack system, boot, fix module permissions, then switch kernel.
Jide have just released their 4.4.y sources, so going to compile (at least the wifi driver) asap unless @asplash is already setup for a compile. There is a benefit with it at least with exfat (my exfat partitioned sdcard auto mounts with 4.4.2 but not with 4.4.0).
asplash said:
avez vous essayez ceci data.img
Click to expand...
Click to collapse
Do you know why i can't see usb stick and sd card in es file explorer?
asplash said:
de quel format son t'il ? exfat? ntfs?
Click to expand...
Click to collapse
The usb i formated from inside android but still i can't see from es file explorer and sd card is ntfs,i can see both from settings
leo06 said:
The usb i formated from inside android but still i can't see from es file explorer and sd card is ntfs,i can see both from settings
Click to expand...
Click to collapse
/mnt/media_rw/****
Can we install xposed framework in Android?
leo06 said:
Bluetooth not working (same with remix os) for me and I expand data.img with RMXtools but still in android I see 3gb,is there other way to expand?and i can see only 2678MB of ram
Click to expand...
Click to collapse
I answer to myself for 3gb of ram, just realized that is x86 not x64
@asplash
Thank you for your great work on Android for the Cube.
About your latest CM13 ROM:
-Deep sleep seems to work (at last). After coming back from sleep brightness goes up and the device remains unresponsive for a while but after pressing the Windows button everything comes back to normal.
-My 128 GB NTFS formatted MicroSD card can be read from settings and from a file explorer using /mnt/media_rw, but it isn't easily accessible from many apps.
-Battery level isn't read properly, it shows 100% all the time.
-Built-in root doesn't remember a previously granted access, installing SuperSU solves the problem.
-The app GMD Gesture Control (a must have for me) doesn't recognize the touchscreen device. It worked on your Lollipop ROM.
-Only 3 Gb of RAM seem to be accessible, your Lollipop ROM aparently could see the full 4 GB.
-The device doesn't boot with the 8 Gb data.img, it gets stuck on the boot animation.
Speaking about your Lollipop ROM, it's been my Android choice for more than a month. Since its only drawback was the inability to enter deep sleep it would be lovely if you could post a new Lollipop ROM with that issue solved.
ariadnejro said:
@asplash
Thank you for your great work on Android for the Cube.
About your latest CM13 ROM:
-Deep sleep seems to work (at last). After coming back from sleep brightness goes up and the device remains unresponsive for a while but after pressing the Windows button everything comes back to normal.
-My 128 GB NTFS formatted MicroSD card can be read from settings and from a file explorer using /mnt/media_rw, but it isn't easily accessible from many apps.
-Battery level isn't read properly, it shows 100% all the time.
-Built-in root doesn't remember a previously granted access, installing SuperSU solves the problem.
-The app GMD Gesture Control (a must have for me) doesn't recognize the touchscreen device. It worked on your Lollipop ROM.
-Only 3 Gb of RAM seem to be accessible, your Lollipop ROM aparently could see the full 4 GB.
-The device doesn't boot with the 8 Gb data.img, it gets stuck on the boot animation.
Speaking about your Lollipop ROM, it's been my Android choice for more than a month. Since its only drawback was the inability to enter deep sleep it would be lovely if you could post a new Lollipop ROM with that issue solved.
Click to expand...
Click to collapse
For the battery it happens the same to me but after reboot is OK, drops by 4,5,8% and not by 1%,i mean now is 55% and after some time it shows 50%,for 3gb of ram self-test my previous post, it's 32bit Version of Android so only see 3gb,for data.img I use wootever 6gb data.img and it works

[ROM] LineageOS 14.1 SonyLOS Unofficial

Hello,
since I'm not qualified (yet) to post this in the developer thread for the X compact - here's a LineageOS 14.1 ROM for the device to be flashed with fastboot as stated on Sony's website for the AOSP ROM (fastboot –S 256M flash boot boot.img etc).
filefactory.com/file/5wfgwk1cmzw9/LineageOS-05-03-2017-kugo.zip
Things that don't work so far:
* AudioFX (use PowerAMP or VLC for mp3 replay with bass boost/EQ)
* FM radio (no stations found at all)
Big thanks to the LineageOS team, the SonyLOS guys and Sony itself
Enjoy,
jtk_de
jtk_de said:
Hello,
since I'm not qualified (yet) to post this in the developer thread for the X compact - here's a LineageOS 14.1 ROM for the device to be flashed with fastboot as stated on Sony's website for the AOSP ROM (fastboot –S 256M flash boot boot.img etc).
filefactory.com/file/5wfgwk1cmzw9/LineageOS-05-03-2017-kugo.zip
Things that don't work so far:
* AudioFX (use PowerAMP or VLC for mp3 replay with bass boost/EQ)
* FM radio (no stations found at all)
Big thanks to the LineageOS team, the SonyLOS guys and Sony itself
Enjoy,
jtk_de
Click to expand...
Click to collapse
Hi! Thanks for this rom. I will try it when i am at my home pc. But, a question. It's got a built-in-root? Or we use the add on root package? Or use magisk phh superuser? I'm a little confused about the root process.
Re:
lba810701 said:
Hi! Thanks for this rom. I will try it when i am at my home pc. But, a question. It's got a built-in-root? Or we use the add on root package? Or use magisk phh superuser? I'm a little confused about the root process.
Click to expand...
Click to collapse
To install, as with the Sony AOSP ROM, your bootloader must have been unlocked. After installation via fastboot root access can be enabled in the developer options.
If you want to build the ROM yourself init the LineageOS sources from github (cm14.1 branch) and add the local_manifests folder from SonyLOS (also on github) to the .repo directory to have a device profile and the binary blobs for the X compact aka kugo. Then repo sync, and brunch lineage_kugo-userdebug.
Hi!
I flashed your homemade rom. My first impression, is it's very smooth. But I found some little bugs? First is a LineageOS recovery. I must flash OpenGapps twice, to install it correctly. ( second time i mount the system inside advanced settings... maybe thats the key ) Second one is a fingerprint sensor. I can't make it to work. Neither on first run, neither later in the settings. Phone calling working, but sometimes it's dialer force stop in middle of the voice calling. ( but you could speak, just a notification came up about the FC ). Bluethooth seems ok, about music listening and about calling. Camera with the roms app is working. But, google cam doesn't start. On selfie picture, the picture is upside down. Root is inside developer settings, and it seems working fine. ( except flashfire... ) I'm using kernel toolkit ( v 1.2.1 ), and it's showing me the big cores allways off, and the phone doesn't go to deep sleep. About the battery life time i can't say too much, because the roms is nearly one day on my phone. I think it's a good start the LinageOS 14.1 to our phone. Thanks again.
Re:
lba810701 said:
Hi!
I flashed your homemade rom. My first impression, is it's very smooth. But I found some little bugs? First is a LineageOS recovery. I must flash OpenGapps twice, to install it correctly. ( second time i mount the system inside advanced settings... maybe thats the key ) Second one is a fingerprint sensor. I can't make it to work. Neither on first run, neither later in the settings. Phone calling working, but sometimes it's dialer force stop in middle of the voice calling. ( but you could speak, just a notification came up about the FC ). Bluethooth seems ok, about music listening and about calling. Camera with the roms app is working. But, google cam doesn't start. On selfie picture, the picture is upside down. Root is inside developer settings, and it seems working fine. ( except flashfire... ) I'm using kernel toolkit ( v 1.2.1 ), and it's showing me the big cores allways off, and the phone doesn't go to deep sleep. About the battery life time i can't say too much, because the roms is nearly one day on my phone. I think it's a good start the LinageOS 14.1 to our phone. Thanks again.
Click to expand...
Click to collapse
Thank you for testing. You're right there's some more issues. I was able to unlock the phone with the fingerprint sensor once but I guess this should work a little bit more smoothly. Face camera image is vertically flipped. Normal phone operation seems to be OK, battery runtime also. Didn't examine core load nor install Google apps so I can't say anything about it. All in all it looks quite usable but needs a little bit of fine tuning
Flashed your ROM yesterday (coming from an unofficial cm14.1 build) and till now everything runs smooth. I didn't flash recovery.img since I already had twrp flashed and flashing opengapps was also successful. Fingerprint sensor is working too. The camera quality is bad, but that's what I have with every custom ROM.
Issues I found out so far:
- registering the fingerprint sensor for purchases in the play store doesn't work, play store closes upon trying to set it up
- the volume when calling can't be changed
Maybe there's something else but I'm really satisfied. I hope you keep on updating the rom jtk_de
can you give us a short update on this?
Still Progressing?
Is this still being developed?
The thread seems to have been continued here: https://forum.xda-developers.com/x-compact/help/rom-lineageos-14-1-sonylos-7-1-binaries-t3584504/
jtk_de said:
If you want to build the ROM yourself init the LineageOS sources from github (cm14.1 branch) and add the local_manifests folder from SonyLOS (also on github) to the .repo directory to have a device profile and the binary blobs for the X compact aka kugo. Then repo sync, and brunch lineage_kugo-userdebug.
Click to expand...
Click to collapse
@jtk_de
Is there currently any place where can I find the source code?
The reason I ask this question is that SonyLOS (github.com/SonyLOS) has been removed.

[Guide] How to Enable Miracast for Pixel

Introduction
Few weeks ago, I got a Pixel 1 as my backup phone, when I try to connect it to the Microsoft Wireless Display Adapter, it couldn't find the Adapter.
I haven't used Android phones for a long time. In my mind, Android natively supports Miracast. After some searching, I was frightened to find that Google has removed Miracast from Android.
I was really disappointed because I often cast my Windows devices easily by using Miracast. My Projector has only two HDMI ports, one for HDMI cable, and one for Wireless Display Adapter. I can't add a Chromecast unless a HDMI switch is used.
One possible solution is to add a line "persist.debug.wfd.enable=1" in "build.prop" to enable WiFi-Display, but many people say that it doesn't work since Android N, the phone can discover WiFi-Displays but unable to cast.
Since Android framework is open source, I did some searching and found that some WiFi-Display related code still exists. Android 9 still keeps the WifiDisplayAdapter in DisplayManagerService, but removed WifiDisplay from MediaPlayerService, that's why we can discover WiFi-Displays but can't cast.
I recovered some code from AOSP history commits, fixed the build errors, and debugged on my Pixel, finally the Miracast can work on my Pixel.
If you also want Miracast to work on your Google phones, you can follow my steps, but first make sure your ROM is open source so that you can change and rebuild it.
If you have a Pixel 1 running the same version of system, you can simply replace some files in your system with the files I built.
If you have other Google phones or running different versions, you can apply my patch to AOSP, and build it by yourself. I have built the latest version for all Google Pixel phones, but I haven't tested except Pixel 1.
If your ROM is not open source, I will no longer be able to help, since MediaPlayerService may have been changed by your ROM, you may can't replace it with the AOSP version.
Prerequisites
Pixel running Android 9.0.0 build number PQ1A.181205.002.A1 or PQ1A.190105.004.
Bootloader unlocked.
adb and fastboot tools and drivers are working for your device.
Note & Disclaimer
These steps will change files in your system, your Pixel should run the exact same version of system. Pushing files to different versions of system may cause unknown problems.
Please check carefully before running each command, a mistaken operation may result in unable to boot up, or destroy your data, or even damage your phone.
If you are not sure about what these steps are doing, but still want to go ahead, please backup your phone firstly, you may not be able to recover your phone to its original state.
I have only tested on Pixel 1 with build number PQ1A.181205.002.A1 and PQ1A.190105.004, for other phones or versions, you should build and test on your own.
Basic Steps
Flash the same version of factory image for your phone.
Download the prebuilt files from https://github.com/sbjbs/android-wfd-patch
Add this line into "build.prop", without it, we will not be able to enable WiFi-Display:
Code:
persist.debug.wfd.enable=1
Replace some files in system:
Code:
system/lib/libaudioflinger.so
system/lib64/libaudioflinger.so
system/lib/libserviceutility.so
system/lib64/libserviceutility.so
system/lib/libmedia.so
system/lib64/libmedia.so
system/lib/libwilhelm.so
system/lib64/libwilhelm.so
system/lib/libandroid_runtime.so
system/lib64/libandroid_runtime.so
system/lib/libstagefright.so
system/lib64/libstagefright.so
system/lib/libstagefright_wfd.so
system/lib64/libstagefright_wfd.so
system/lib/libmediaplayerservice.so
If you have magisk installed, you can refer to Phoenix Wright's post:
Phoenix Wright said:
using "setprop" to set that property once is enough, no need to touch build.prop; given it's a "persist" property it'll be permanent.
using magisk to overlay them on /system
Click to expand...
Click to collapse
Some extra steps that you may need
Remove dm-verity metadata of system.img
The dm-verity can prevent us from changing the system, and what's more it has a forward-error-correction(FEC) feature, which can detect and correct some corrupted data.
I spend a lot of time on attempting to change the build.prop but fail again and again, it just always correct the file, and I can't enable wifi-display.
I don't know how to disable it. Since the error-correcting info should be stored in the dm-verity metadata, I just removed the dm-verity metadata from the stock system.img, and flash the system.img.
I will list the steps to remove dm-verity metadata, but if you can disable dm-verity entirely, that should work too.
For phones that have a vbmeta partition (like Pixel 2), seems you can flash an special vbmeta.img to disable AVB. You can build the empty vbmeta image by this command, but I don't have a device to test if it works:
Code:
avbtool make_vbmeta_image --flag 2 --padding_size 4096 --output vbmeta.img
For Pixel 1, we need to remove dm-verity metadata that attached to system.img, first convert the sparse system.img to an ext4 image:
Code:
simg2img system.img system.ext4.img
read the block count to calculate the system size:
Code:
od -j 1028 -An -N4 -tu system.ext4.img
for Pixel 1, it should be 516099. You also can read it by a Hex Editor, e.g., WinHEX in Windows, read 4 bytes starting from 1028 bytes, as a little-endian hex value.
so the real system partition size is 516099 * 4096 = 2113941504 bytes.
we need to set the data to zero after that position. It's important to do this, since we need to overwrite the metadata in that area, rather than just truncate the size of system.img.
next get the ext4 image size, for Pixel PQ1A.181205.002.A1, it should be 2147483648.
so we need to write 2147483648 - 2113941504 = 33542144 bytes:
Code:
dd if=/dev/zero of=system.ext4.img seek=2113941504 count=33542144 oflag=seek_bytes iflag=count_bytes
we also can use some other tools to do this, e.g., WinHEX in Windows. Open the file in in-place mode, and jump to 2113941504, and select it as the begin, and jump to the end, and select as the end, and fill the selection with all zero.
after that, flash the changed system.ext4.img to Pixel:
Code:
fastboot flash system system.ext4.img
Test that you can boot up normally. If not, check what's wrong and fix it.
Temporary boot up by TWRP image
We don't have to install TWRP, but just use it to temporary boot up, so that we can mount the system partition for writing. If you have TWRP installed, you can just boot to TWRP.
Download TWRP image for pixel, just need the twrp.img, we won't install the zip file.
boot your device to bootloader:
Code:
adb reboot bootloader
and boot by the twrp.img
Code:
fastboot boot twrp.img
after TWRP booted up, just leave it there, no need to unlock or input password, we will change the system by adb.
Mount system partition for writing.
In the current version of TWRP for Pixel (twrp-3.2.3-1-sailfish.img), its fstab has an entry for system partition, we can directly mount it.
Code:
adb shell mount /system
run mount to check if successfully mounted:
Code:
adb shell mount
you should see an entry like this:
Code:
/dev/block/sda34 on /system type ext4 (rw,seclabel,relatime)
If not, you should stop now, and check the above steps.
after mount, we can use adb to push files into system.
Hey guy,
You helped me a lot to understand why it was not working with Pie. I tried several custom ROMs + the official Pie and it was not working.
There is Wireless display option in quick settings but it' doesn't find my Microsoft Wireless Display Adaptor also.
I so downgrade to Oreo. With Oreo it works without any issue. (there is an option "allow Wireless display" to tick and then your miracast dongle will appear).
You did a great job to make it working on Pie. Congratulations. I will anyway stay on Oreo. I think google will change that (many people already complained i guess).
Jean Michel
jean_michmich said:
Hey guy,
You helped me a lot to understand why it was not working with Pie. I tried several custom ROMs + the official Pie and it was not working.
There is Wireless display option in quick settings but it' doesn't find my Microsoft Wireless Display Adaptor also.
I so downgrade to Oreo. With Oreo it works without any issue. (there is an option "allow Wireless display" to tick and then your miracast dongle will appear).
You did a great job to make it working on Pie. Congratulations. I will anyway stay on Oreo. I think google will change that (many people already complained i guess).
Jean Michel
Click to expand...
Click to collapse
Thanks for your reply!
I have tested on Pie on my Pixel, I often play online games while cast is on, and didn't meet any problems last week.
I also hope that Google will support Miracast again in the future, but it seems unlikely in the near future.
Google has abandoned it since Android 6 (source: Wikipedia), and now they're deleting unused source code related to wifi-display.
I'm more worried about that there will be more build errors and potential issues when we try to enable it for future Android versions.
sbjbs said:
Thanks for your reply!
I have tested on Pie on my Pixel, I often play online games while cast is on, and didn't meet any problems last week.
I also hope that Google will support Miracast again in the future, but it seems unlikely in the near future.
Google has abandoned it since Android 6 (source: Wikipedia), and now they're deleting unused source code related to wifi-display.
I'm more worried about that there will be more build errors and potential issues when we try to enable it for future Android versions.
Click to expand...
Click to collapse
OK it's getting more clear. You are right. Wikipedia says : "but support was dropped with Android 6.0 Marshmallow in 2015 in favor of Google's own proprietary Google Cast protocol.[15] Some manufacturers of Android devices step in and support Miracast through their software"
I'm not an "official android ROM" user.
I always use Pixel Dust custom ROM. For this custom ROM, Miracast was supported for Oreo but not for Pie (not yet).
jean_michmich said:
OK it's getting more clear. You are right. Wikipedia says : "but support was dropped with Android 6.0 Marshmallow in 2015 in favor of Google's own proprietary Google Cast protocol.[15] Some manufacturers of Android devices step in and support Miracast through their software"
I'm not an "official android ROM" user.
I always use Pixel Dust custom ROM. For this custom ROM, Miracast was supported for Oreo but not for Pie (not yet).
Click to expand...
Click to collapse
I used to be a ‘latest official ROM’ user
For custom ROMs, since they may have changed the framework, we can't replace files with AOSP version, but as long as they're open source, we can try to contribute to it.
Adding Miracast support in Android is not difficult, and many manufactures have their own support.
I hope your custom ROM will support Miracast for Pie in the near future.
Tested on Pixel 2 XL and working (for what it's worth, using "setprop" to set that property once is enough, no need to touch build.prop; given it's a "persist" property it'll be permanent). I built the .so files on my local aosp tree and I'm using magisk to overlay them on /system.
Hi @sbjbs
If I understand you right then you have patched the AOSP codebase. Would you mind sharing the repositories/commits on your GitHub? That would be highly appreciated. :good:
Regards
spezi
Sent from my Pixel 3 using XDA Labs
spezi77 said:
Hi @sbjbs
If I understand you right then you have patched the AOSP codebase. Would you mind sharing the repositories/commits on your GitHub? That would be highly appreciated. :good:
Regards
spezi
Sent from my Pixel 3 using XDA Labs
Click to expand...
Click to collapse
There's a link in the OP: https://github.com/sbjbs/android-wfd-patch/tree/master/patches/android-9.0.0
Phoenix Wright said:
Tested on Pixel 2 XL and working (for what it's worth, using "setprop" to set that property once is enough, no need to touch build.prop; given it's a "persist" property it'll be permanent). I built the .so files on my local aosp tree and I'm using magisk to overlay them on /system.
Click to expand...
Click to collapse
Great to hear that!
You method is simpler and more elegant, that's awesome!
Phoenix Wright said:
Tested on Pixel 2 XL and working (for what it's worth, using "setprop" to set that property once is enough, no need to touch build.prop; given it's a "persist" property it'll be permanent). I built the .so files on my local aosp tree and I'm using magisk to overlay them on /system.
Click to expand...
Click to collapse
Can you elaborate how you did use "magisk to overlay them on /system"?
I pushed them using adb as mentioned on github but it is stuck at Google splash screen. I've taimen BTW and am on Pixeldust ROM. It booted while writing this post but the screen was not responding to touch.
Nitin
nitin.chobhe said:
Can you elaborate how you did use "magisk to overlay them on /system"?
I pushed them using adb as mentioned on github but it is stuck at Google splash screen. I've taimen BTW and am on Pixeldust ROM. It booted while writing this post but the screen was not responding to touch.
Nitin
Click to expand...
Click to collapse
I made a module with the .so files I compiled: https://workupload.com/file/pd4EUBdw
Note that I can't vouch for this to work on your ROM, it works on taimen on stock 9.0 with January security patches though.
nitin.chobhe said:
Can you elaborate how you did use "magisk to overlay them on /system"?
I pushed them using adb as mentioned on github but it is stuck at Google splash screen. I've taimen BTW and am on Pixeldust ROM. It booted while writing this post but the screen was not responding to touch.
Nitin
Click to expand...
Click to collapse
Did you build the so files for your ROM from source? the patch has changed the interface of IMediaPlayerService, if anything else in your ROM is using IMediaPlayerService.h, you'd better rebuild and replace them.
that's why I uploaded the libwilhelm.so and libandroid_runtime.so, even though I didn't change the source code of them.
Phoenix Wright said:
I made a module with the .so files I compiled: https://workupload.com/file/pd4EUBdw
Note that I can't vouch for this to work on your ROM, it works on taimen on stock 9.0 with January security patches though.
Click to expand...
Click to collapse
Thanks!
sbjbs said:
Did you build the so files for your ROM from source? the patch has changed the interface of IMediaPlayerService, if anything else in your ROM is using IMediaPlayerService.h, you'd better rebuild and replace them.
that's why I uploaded the libwilhelm.so and libandroid_runtime.so, even though I didn't change the source code of them.
Click to expand...
Click to collapse
I tried building with my ROM but I got build errors related to OMX.h, I need to find a solution for them. Thanks anyways!
Nitin
Someone tries on Pixel 3? Thanks
It works perfectly ! I used the prebuilt files on the march build.
Do you know if we can force the 16/9 ratio ?
Thanks
edit : I will try with second screens !
this works a treat on my Pixel 3 XL (Stock Pie) just overlayed the files from Phoenix Wright using magisk and it works now....sweet thanks, now just need to figure out how to fool sky sports app into letting me cast.....
marshyrob said:
this works a treat on my Pixel 3 XL (Stock Pie) just overlayed the files from Phoenix Wright using magisk and it works now....sweet thanks, now just need to figure out how to fool sky sports app into letting me cast.....
Click to expand...
Click to collapse
Can you explain more how did you do?
Did you just flash the zip from Phoenix Wright in Magisk?
EMJI79 said:
Can you explain more how did you do?
Did you just flash the zip from Phoenix Wright in Magisk?
Click to expand...
Click to collapse
Yes just copied the .zip file from Phoenix Wright's post to my device then used the module install option in Magisk like if you are installing a module found in Magisk (use the plus sign to add your own .zip file instead and browse to the file you just saved) then reboot. Then i went to the cast option in settings - connected devices - connection preferences, there i could tick in the top right corner under the 3 dots "enable wireless display" and it showed my Panasonic TV, chose connected and boom it connected. Needed to enable the mirroring option on my Panasonic but this is a TV setting nothing to do with the phone, you might need to do a similar step based on your TV as they need to be able to see each other.
marshyrob said:
Yes just copied the .zip file from Phoenix Wright's post to my device then used the module install option in Magisk like if you are installing a module found in Magisk (use the plus sign to add your own .zip file instead and browse to the file you just saved) then reboot. Then i went to the cast option in settings - connected devices - connection preferences, there i could tick in the top right corner under the 3 dots "enable wireless display" and it showed my Panasonic TV, chose connected and boom it connected. Needed to enable the mirroring option on my Panasonic but this is a TV setting nothing to do with the phone, you might need to do a similar step based on your TV as they need to be able to see each other.
Click to expand...
Click to collapse
It did work today with my Sony television.
Thanks!
OMG!!! You made my week. Few hiccups tho....
Can anyone else confirm that Hulu and HBO go and Amazon prime . YouTube works.
Hulu and amazon I can log on but when it plays all you get is audio. Haven't tried Netflix I don't sub them.
HBO go as soon as I try to play a video it says this video cannot be played. If I disable the mirror it plays perfectly. Same thing with Hulu and prime. Disable the mirror an it works perfectly on my phone.

Sailfish OS for the Samsung Galaxy S2 (i9100)

Initial post for Sailfish Os for the Samsung Galaxy S2 (i9100) device.
Code:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! W A R N I N G !!
!! !!
!!(Although I am using this on my backup phone)!!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! Everything you do, !!
!! you do at your own peril and risk. !!
!! !!
!! I do not bear any responsibility !!
!! for your faulty devices. !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
!! !!
!! ROM IS NOT SUITABLE FOR DAILY DRIVE !!
!! ONLY FOR EXPERIMENTAL PURPOSES !!
!! !!
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Making this port was challenging because Sailfish OS, from version 3, doesn't support kernel version 3.0 which is apparently the kernel on the S2.
Fortunately, the SailfishOS-porter guys do very seriously know their business and they are extremely helpful.
From here I would like to emphasize my gratitude towards them for helping me in this project! Thank you!
Requirements:
Before you start to download anything, please read it carefully.
The first requirement is your device must be rooted and you should be able to install a custom recovery (preferably TWRP) onto it.
For this ROM you can either use the stock partitions or you can re-partition to give more space to /system and /data. It doesn't matter which one you chose, I tried and both worked well.
Or if you scroll down to the New partition layout, you can use a completely unique partition layout which gives the most of the internal storage to Sailfish OS. (I currently use my device with this setup.)
Installation instructions:
1. Download all files, CM12.1 zip, Sailfish OS zip, twrp2.8.7.img and kernel*.img to the external SD card on the phone
2. Reboot into TWRP (hold buttons: Power on + Home + Volume up)
3. Do a factory reset
At this point if you want you can repartition the S2 internal storage. (Later you can put the stock layout back if you want to go back to Android.)​
The steps for repartitioning are:​
​
Download the 'Repartition: System=1GB, Data=14GB, eMMC=8MB, /preload=7MB' or the 'Repartition: System=1GB, Data=4GB, eMMC=7GB, /preload=0.5GB' .zip file and put into the external SD card. (The difference between these two is explained down at the New partition layout section
Then boot into TWRP and flash the zip as any other zip file. The script first will warn you that it cannot do the partitioning with mounted partitions and it also copies the script itself into /tmp. You just simply need to flash the copied version from /tmp and that will do the trick. The script will format the new partitions accordingly, so once it is completed you can go ahead with the next step.
4. Still in recovery, flash the CM12.1 image
5. Still in recovery, flash Sailfish Os image
6. Still in recovery, flash twrp2.8.7.img to recovery partition
7. Still in recovery, flash kernel*.img to boot partition (this step is not required since sfos 4.4, kernel is installed by flashing the zip file)
8. Reboot
9. Enjoy the latest (4.4.0.68) Sailfish OS on your i9100.
You will need patience as the first boot will take for a while. Then you can go through the initial Sailfish OS set up.
This Sailfish OS Android HAL based on CM 12.1.
Downloads:
kernel12_mtp.img for Sailfish OS 3.2.1.20
kernel33016.img for Sailfish OS 3.3.0.16
kernel34024.img for Sailfish OS 3.4.0.24
kernel41024.img for Sailfish OS 4.1.0.24
kernel43015.img for Sailfish OS 4.3.0.15
twrp2.8.7.img for i9100
CM 12.1 for i9100
Sailfish OS 3.2.1.20 for i9100
Sailfish OS 3.3.0.16 for i9100
Sailfish OS 3.4.0.24 for i9100
Sailfish OS 4.1.0.24 for i9100
Sailfish OS 4.3.0.15 for i9100
Sailfish OS 4.4.0.64 for i9100
Sailfish OS 4.4.0.68 for i9100
Sailfish OS 4.4.0.72 for i9100
Odin v1.83
AOSP-LP-Kernel+_25-08-2015_TWRP-2.8.7.0.tar
Repartition: System=1GB, Data=14GB, eMMC=8MB, /preload=7MB
Repartition: System=1GB, Data=4GB, eMMC=7GB, /preload=0.5GB
Stock partition pit file
kernel07_flatpak (kernel with Flatpak support. Flatpak install/usage instructions.)
Some useful tips:
Low power mode aka ambient mode (in Fingerterm):
Code:
mcetool --set-low-power-mode=enabled
Disable lock screen animation (in Fingerterm):
Code:
mcetool --set-lockscreen-animation=disabled
Some useful patches:
Patchmanager 3.0
More folder icons
Operator name at bottom (Stopped working on 3.3.0.16)
Silica mail (transparent background) - Well documented here
Apps from Openrepos
Apart from the Jolla store there are plenty of other, community-made apps in Openrepos. There is a user-friendly app to install/remove apps from this source called Storeman. It can be downloaded and install from this location: Storeman
Debug/login/troubleshooting:
In Ubuntu, connect USB cable. telnet 192.168.2.15 2323 or SSH [email protected].
Notes:
On Sailfish OS, as it is a Linux system, you cannot install/run any android apps.
How to make a backup/restore with TWRP:
Now the old clunky method is no longer needed. Once you flashed the twrp2.8.7.img to the recovery partition you can boot into TWRP with the usual button combination (Hold buttons: Power on + Home + Volume up) and can make backup/restore.
Instructions for Bluetooth (On Sfos 4.3, BT works normally, don't need this magic)
BT works however turning it on/off is not as user friendly as I hoped. Here is a little instruction/troubleshooting.
Turn BT on (It only works from Settings/Bluetooth!!!!! DON'T try from TOP MENU!!):
If BT hasn't turned on since last boot:
go to Settings/Bluetooth
tap on the dot next to the Bluetooth option
If BT has turned on at least once since last boot:
go to Settings/Bluetooth and tap on the dot next to the Bluetooth option
go back to Settings
go to into Settings/Bluetooth again
tap on the dot next to the Bluetooth option (if it is not turned on repeat from Step 2! Eventually, BT should turn on.)
Turning BT off: Go to Settings/Bluetooth and tap on the white dot next to the Bluetooth option.
Notice: Never try to tap on the white dot twice without going back to the main menu of Settings.
Never try to turn BT on from Top Menu.
However, if you accidentally did any of these BT cannot be turned on again unless you:
reboot the device (this is the easiest) or
in a command line as root issue the following command 'systemctl restart bluetooth-rfkill-event.service' (this will restart the bluetooth-rfkill-event service)
I am not sure how pairing works with different devices.
New partition layout
I mentioned that I tried this Sailfish OS installation with the stock partitions and with another what created for Android 7.1.2. With the stock partitions however was a bit more sluggish than the other one. No wonder as in the stock partitions the /system has only 0.5GB and the /data has only 2GB storage and the rest 12GB is the separate internal storage (eMMC). In Sailfish the entire os (rootfs) including all directories (like /home) live on the /data partition so the 2GB was a bit tight. (The OS itself consumes about 1GB so not much left for apps and other stuff.)
With the other partition layout, the picture was a bit better as the /system had 1GB, the /data got 4GB and the rest 9GB remained for the internal storage. But the partition where the OS lives was separated from the 9GB partition. When I installed a few apps and copied some big files into the /home, I felt the limitation very soon.
Although this layout was sufficient for android but not good enough for Sailfish.
Therefore I have created my own partition table where I restructured the sizes accordingly to my need. (The lanchon repit zip file is available in the download section.)
In this new layout I gave 1GB for the /system (the prior 0.5GB was also fine as the CM12.1 base consumed only 400MB which let a 100MB free space, but I thought that might be not enough in the future so I have chosen 1GB here), I gave only 8MB for the internal storage (eMMC which is mounted into /android directory in this rom), and this made me possible to gave all the rest 14GB to the /data partition. So basically the Sailfish apps and /home can utilize the entire internal storage.
As an extra, on the S2 there is a 0.5GB /preload partition which is hidden and unused by default. In my partition setup I set 7MB to this and the rest almost 0.5GB is also added to the /data.
Go back to stock partitions
In case you would like to do this, you can download the stock partition pit file from the download section.
For this use Odin v1.83 which is also in the download section.
The steps are:
Boot the device into download mode and connect to the PC.
Open Odin v1.83 and tick the 'Re-partition' checkbox at the Option.
Then click on the PIT button and select the downloaded stock pit file.
Then click on the PDA button and select the downloaded TWRP (AOSP kernel) file.
Then click on start.
Done. You need to boot into TWRP and wipe all partitions (system, data, emmc) then you can install the stock rom back. (or if you select the stock rom at PDA instead of the AOSP kernel, it will do the repartition and install the stock rom as well. In this case, you don't need to wipe anything and the device will reboot into the stock Android at the end.)
Changelog:
15.02.2022
=========
General advice:
Patience! All (except camera) apps do start and work but they do need time. This is true for websites. When you clicked on something, wait patiently, eventually, it will start/load.
Work:
Same as previously
Improvement: Stock browser stable and works!
Do not work:
The camera app crashes the device into reboot.
03.09.2021
=========
Work:
Same as previously
Bluetooth does work, but once it is off, needs to be toggled a few times in Settings to make it turn on again.
14.06.2020
=========
Work:
Same as previously + Mobile data is fixed! (To make it work: change Protocol to IP in Settings/Mobile network/Data access point.)
Bluetooth doesn't work, it is still WIP
Do not work:
Same as previously
06.05.2020
=========
The latest version of Sailfish OS 3.3.0.16 is available to download. This requires a different kernel. Both of these can be found in the download section.
Note: With the new version the patch that displays the provider logo at the bottom on the lock screen stopped working. This issue is not related to the OS. The owner of the app should fix it.
Update: In openrepos Kodi is fixed for SFOS 3.3.0.16!
29.04.2020
=========
Work:
Screen
Touch
IMEI number is detected
Sensors (GPS, Rotation, Acceleration, Gyroscope, Magnetometer, Light & Proximity)
Wifi
MTP
Bluetooth (instruction is above)
Calls incoming/outgoing
Messages incoming/outgoing
External SD card detected and mounted to /run/media/nemo/_sdcard_name_ (where _sdcard_name_ is name of the sd card when it was formatted like 7C97-785B)
Internal SD card is mounted to /android
Pixel ratio and icons set to 1.00 (Can be changed to 0.82 which is more appropriate for the device's screen. to do this as root run the 'kimmoli-diyicons.sh 0.82' command. It will fail to install imagemagick but will set the ratio to 0.82 and as we have all icons in place it will work.)
Audio is routed to headphone if that presents
Camera front/rear (only for taking pictures)
Jolla store
findutils is installed by default (updatedb and locate commands work out of the box)
Torch
the charging icon does work properly, however, there is a little delay
can boot into TWRP recovery with the usual button combination (hold buttons: Power on + Home + Volume up)
kernel and recovery .img can be flashed from TWRP (no need for PC to flash Sailfish OS, kernel and recovery)
Low Power Mode (AKA "sneak peek" or "ambient display") works (install instruction is in this post)
The softkeys (each side of the home button) work as notification leds
Do not work:
Mobile data (WIP)
Video recording (It doesn't really work in other 3.x versions either. See my test results here.)
There is an extra little issue that is a delay in screen refresh which is related to how vsync is handled in v10 backend in qt5-qpa-hwcomposer-plugin. I managed to improve this but there is a little delay still. Probably this is the reason why we need to jump back to Settings every time before trying to turn BT on, but I am not sure.
04.04.2020
=========
Work:
Same as previously + Softkeys are used as notification leds
Bluetooth doesn't work, it is still WIP
Do not work:
Same as previously
23.03.2020
=========
Work:
Same as previously + with 'kernel12_mtp' the MTP works!
Bluetooth partially works (to switch on BT requires a reboot or issue a command manually, it is still WIP)
Do not work:
Same as previously
25.02.2020
=========
Work:
Same as previously + with 'kernel07_flatpak' the Low Power Mode (AKA "sneak peek" or "ambient display") works! (install instruction is in this post)
Do not work:
Same as previously
23.02.2020
=========
Work:
Same as previously + but from now on you don't need PC and heimdall to flash kernel and twrp
Do not work:
Same as previously
19.02.2020
=========
Work:
The same as listed earlier + with the new kernel (kernel06) I attached you can boot into TWRP with the usual button combination (hold buttons: Power on + Home + Volume up)
Do not work:
Same as previously except the TWRP/Sailfish OS boot which has fixed.
08.02.2020
=========
Work:
Screen
Touch
IMEI number is detected
Sensors (GPS, Rotation, Acceleration, Gyroscope, Magnetometer, Light & Proximity)
Wifi
Calls incoming/outgoing
Messages incoming/outgoing
External SD card detected and mounted to /run/media/nemo/_sdcard_name_
(where _sdcard_name_ is the name of the sd card when it was formatted like 7C97-785B)
Internal SD card is mounted to /android
Pixel ratio and icons set to 1.00 (can be changed, I set 0.82 which is more appropriate for the device's screen resolution see the download section)
Audio is routed to headphone if that presents
Camera front/rear (only for taking pictures)
Jolla store
findutils is installed by default (updatedb and locate commands work out of the box)
Torch
Do not work:
Mobile data
Bluetooth (the bt driver is in the kernel, so in theory, with some config file changes on the device it can work)
MTP
Video recording (It doesn't really work in other devices with CM12.1 base.)
Screen delay in refresh (related to how vsync is handled in v10 backend in qt5-qpa-hwcomposer-plugin)
the charging icon doesn't work properly: when the device is not on charger still shows it's charging (when I unplug the cable the message appears: "Charging..."
cannot boot into TWRP recovery (See Notes above)
Battery life:
In my experience the battery life is good. On standby, it can survive 10 days. (Almost 11.) I have checked once or twice daily during this period.
{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Pictures:
App drawer
Top menu
Settings
About product
In case somebody missed these I would like to highlight some improvements since day 1:
Now both the kernel and twrp can be flashed as an .img from twrp (no need for PC and heimdall anymore)
Plus I uploaded a kernel with Flatpak support
With kernel07_flatpak, I have installed Flatpak and Angelfish but got an error when started Angelfish.
It looks like this is a limitation of the old kernel, but there might be a workaround.
I'll keep you posted.
With kernel12_mtp, MTP works. (and bluetooth partially)
The soft keys each side of the home button are used as notification leds. As this device doesn't have leds, the softkeys can be re-used as "leds". They do blink if the device is fully charged or there is an unread incoming text message. When the device is on charger they are on, otherwise both of them are off.
Can you post your sources? I'm interested in getting an I9100 as my new phone, and was considering a port and I'm happy to see you've already done all the leg work and then some!
Also about the kernel on this phone, I've been trying to port to a tablet with weird kernel images, can you run "file (path to android base kernel image)" - if it says ForPro FPT or similar I will be very very interested in how you got this phone to boot into rootfs. Very interested in the progress you've made though :3 Thanks for the awesome rom!
Galaxyninja66 said:
Can you post your sources? I'm interested in getting an I9100 as my new phone, and was considering a port and I'm happy to see you've already done all the leg work and then some!
Also about the kernel on this phone, I've been trying to port to a tablet with weird kernel images, can you run "file (path to android base kernel image)" - if it says ForPro FPT or similar I will be very very interested in how you got this phone to boot into rootfs. Very interested in the progress you've made though :3 Thanks for the awesome rom!
Click to expand...
Click to collapse
Sorry for delay in my reply.
The necessary repos in github are:
local manifest
dhd (in here the dhd submodule has to be refreshed from mer-hybris repo upgrade-3.2.1 branch)
droid-hal-i9100
droid-hal-version-i9100
android_device
kernel
The file (path to android base kernel image) command gives me: "Linux kernel ARM boot executable zImage (little-endian)"
A new image has been generated and can be downloaded. This one includes the patch of reusing the two softkeys (each side of the home button) and they do work as a notification leds!
Currently I am working on the mobile data and bluetooth (this latter partially works but is not reliable yet).
You're a g! I just bought an i9100M (different radio ).
I do recall ofono being unfriendly towards older RIL versions, galaxy nexus afaik is unfixable in 2.0+. However, if you have any service that is exciting! I can't wait to setup my environment and play around with this! If i9100M has a different partition layout/mount points (you know how samsung is) I will blow my brains out. How is camera working? Does this image include gstreamer/droidmedia?
You've probably got this sorted way better than I could hope to sort it! I'm shocked this doesn't have more replies.
EDIT: I noticed you have a complex patch for the pixel ratio. Have you tried just setting it in your patterns?
Galaxyninja66 said:
You're a g! I just bought an i9100M (different radio ).
I do recall ofono being unfriendly towards older RIL versions, galaxy nexus afaik is unfixable in 2.0+. However, if you have any service that is exciting! I can't wait to setup my environment and play around with this! If i9100M has a different partition layout/mount points (you know how samsung is) I will blow my brains out. How is camera working? Does this image include gstreamer/droidmedia?
You've probably got this sorted way better than I could hope to sort it! I'm shocked this doesn't have more replies.
EDIT: I noticed you have a complex patch for the pixel ratio. Have you tried just setting it in your patterns?
Click to expand...
Click to collapse
I am not sure what you d understand under 'any service' but except the mobile data, everything else works fine (calls in/out, texts in/out).
I don't know the difference between the i9100 and i9100m but on the internet you probably can find something about it.
One suggestion, before you start porting, install an android onto and boot into that and note the mounting points. This can save a little time when you need to set the fixup_mountpoints in hybris-boot.
The camera works but only for pictures. The video recording doesn't work. I think this is down to the cm12.1 base what I used for my port. I think gstreamer/droidmedia are there but am not sure.
I think the reason why this doesn't get more hype because this is a very old device and except some old fashioned folks like us, not many are using anymore. I don't mind it because this is my hobby. I am going through a to-do list until all I wanted works.
Currently, as the new version 3.3.0.14 is out) I am working on to update my port to 3.3.0.14. Unfortunately currently there is no OTA but hope eventually it will be sorted.
Changing the pixel ratio is not essential as the default 1.0 is ok-ish. I have found the 0.82 better so I included the icons into my image. As the script (kimmoli-diyicons.sh) is also included, we just need to run one command as root. I may try to set the 0.82 out of the box but currently it is not my to priority. As I will need to re-build everything for 3.3.0.14, I will try to set 0.82 in the pattern file.
Please keep me posted with your progress.
edp17 said:
The camera works but only for pictures. The video recording doesn't work. I think this is down to the cm12.1 base what I used for my port. I think gstreamer/droidmedia are there but am not sure.
Click to expand...
Click to collapse
You'd 100% know if you built gstreamer, it's specified in the middleware section iirc and you have to uncomment it from your patterns. I hope it's easier to build nowadays. Also I noticed your port wasn't on the mer-wiki, if I remember my login is it okay if I add it :3 ?
EDIT: https://wiki.merproject.org/wiki/Adaptations/libhybris#Samsung - I added it to the bottom. creditted you in the edit note. you can create an account on the mer bug wiki and use it to edit the tables. I'll also be closely following this and editting it to match your progress. Tell me if you'd like any values changed!
Galaxyninja66 said:
You'd 100% know if you built gstreamer, it's specified in the middleware section iirc and you have to uncomment it from your patterns. I hope it's easier to build nowadays. Also I noticed your port wasn't on the mer-wiki, if I remember my login is it okay if I add it :3 ?
EDIT: https://wiki.merproject.org/wiki/Adaptations/libhybris#Samsung - I added it to the bottom. creditted you in the edit note. you can create an account on the mer bug wiki and use it to edit the tables. I'll also be closely following this and editting it to match your progress. Tell me if you'd like any values changed!
Click to expand...
Click to collapse
I remember that I built gstreamer and un-commented the related stuff in the pattern file. I don't know whether easier to build now because I don't know how difficult it was before. I only can compare this project against my hammerhead one a few months earlier. For the hammerhead I needed to build the image with MIC, now the rpm/dhd/helpers/build_packages.sh command does everything for you. (For this you need to export the RELEASE, EXTRA_NAME values in your .hadk.env)
Unfortunately I still don't have OBS account so I couldn't add this device into the wiki. Thank you for doing that! Unfortunately new account creation on the mer bug wiki is restricted at the moment.
I have checked the wiki you have added and if you don't mind I would like you to amend a few things:
LED works (the two softkeys have repurposed as notification leds)
GPS works
Sensors Gyro and Magnetometer both work
(I need to double check the RTC alarm and USB net.)
I updated the page. I was going to set up my build env but seeing your row in the adaptations page made me realise you're so far along, and there isn't anything I could really do to push things forward by much. Once you get data and camera working this is pretty much one of 2 daily driver stable samsung sfos ports. Congrats :3 !
Galaxyninja66 said:
I updated the page. I was going to set up my build env but seeing your row in the adaptations page made me realise you're so far along, and there isn't anything I could really do to push things forward by much. Once you get data and camera working this is pretty much one of 2 daily driver stable samsung sfos ports. Congrats :3 !
Click to expand...
Click to collapse
Thank you for the update and for the congrats but I think it is only partially my merits. I probably couldn't done this without the help of sailfishos-porter guys.
As I mentioned in the main comment, I am using my S2 with this image on it as a secondary phone already. Mobile data is not crucial as my main phone can be a hotspot and with my S2 I can connect to it via wifi. Of course this doesn't stop me trying to make that work. (The BT was almost done but I then broke something.)
The camera is a different story. Afaik the video recording generally is broken in the CM12.1 base that I chosen for this device. (That doesn't work on my hammerhead which is also using CM12.1 base.) So I think that will remain outstanding unless I try to port with a different android base.
I think will stop with this for while because the new version (3.3) is out soon and would like to upgrade to it first, then continue working on the missing bits.
Video recording works in the latest scm12.1 snapshot (YOG7D). I wish they hadn't tanked the old etherpad faq, I swear I saw something about hybris 12.1 specific video recording stuff.
If I can find another sub 20 USD i9100 I am definitely working on this, but since my i9100m is my daily driver and dualbooting isn't as easy as with other devices (espescially since YOG7D doesn't have isorec committed ). Thanks for getting so much done though, You have no idea how much it means to me that Sailfish OS is available for our device, and so stable too! :laugh:
Galaxyninja66 said:
Video recording works in the latest scm12.1 snapshot (YOG7D). I wish they hadn't tanked the old etherpad faq, I swear I saw something about hybris 12.1 specific video recording stuff.
If I can find another sub 20 USD i9100 I am definitely working on this, but since my i9100m is my daily driver and dualbooting isn't as easy as with other devices (espescially since YOG7D doesn't have isorec committed ). Thanks for getting so much done though, You have no idea how much it means to me that Sailfish OS is available for our device, and so stable too! :laugh:
Click to expand...
Click to collapse
I think the video recording also works in cm12.1 on the android side, but the problem is a, between the android and Sailfish or b, on the Sailfish side. I am not sure but when I tried to fix it on the hammerhead (same cm12.1 base) I was told the recording was broken in general with cm12.1 base. I'll see how it works (what I can do about it) after Sailfish 3.3 is out.
Have you thought about to purchase a cheap android phone to use as daily driver and using the i9100m for your Sailfish project? (You probably can get a decent second hand android phone for sub 20 maybe with better spec than the i900.)
Thanks again for the kind words. This phone (the S2) is my favorite old friend. It is indestructible . I have soft bricked so many times and managed to install many other OS but as couldn't find Sailfish OS, so I though worth a try to port. And with support of the Sailfishos-porters guys, my dream became real :good: .
Sailfish
Wow, great. I installed and the system works! Bluetooth does not work after installing the packages, but bluetooth-rfkill-event- * are not installed (error). There are few programs in the system, however. Especially browsers, the standard one hangs up (maybe there is a third-party?). Slightly slows down, but bearable.
By the way, are you not working with @linusdan? It also seems to be working on the port github com /sailfish-i9100 (link)
Sorry no link rights.
P/s By the way, I saw on the postmarket wiki site for i9100 about working kernels for our device. Available: kernel version 4.2 or mainline kernel
S2UserRU said:
Wow, great. I installed and the system works! Bluetooth does not work after installing the packages, but bluetooth-rfkill-event- * are not installed (error). There are few programs in the system, however. Especially browsers, the standard one hangs up (maybe there is a third-party?). Slightly slows down, but bearable.
By the way, are you not working with @linusdan? It also seems to be working on the port github com /sailfish-i9100 (link)
Sorry no link rights.
P/s By the way, I saw on the postmarket wiki site for i9100 about working kernels for our device. Available: kernel version 4.2 or mainline kernel
Click to expand...
Click to collapse
I am glad you managed to install it. Have you tried to re-partition the internal memory as I advised?
Yeah, the bt and mobile data is still WIP status. Hopefully will have some time to complete them soon.
For the browser, the native one doesn't hang for me. You can try to look for and install one from the openrepos. (I suggest to install the Storeman as you will find more useful apps for Sailfish OS.)
I don't know linusdan but have seen he has checked this post already. Hope he also found it useful.
I am aware of the postmarketos for the S2 and tested it on my S2. At that time (about a year ago) there was no mainline linux kernel option for the S2. Unfortunately the mainline kernel doesn't help with Sailfish because the Samsung proprietary blobs are missing from there. This means Sailfish wouldn't work. It needs the drivers from the Android layer.
S2UserRU said:
Wow, great. I installed and the system works! Bluetooth does not work after installing the packages, but bluetooth-rfkill-event- * are not installed (error). There are few programs in the system, however. Especially browsers, the standard one hangs up (maybe there is a third-party?). Slightly slows down, but bearable.
By the way, are you not working with @linusdan? It also seems to be working on the port github com /sailfish-i9100 (link)
Sorry no link rights.
P/s By the way, I saw on the postmarket wiki site for i9100 about working kernels for our device. Available: kernel version 4.2 or mainline kernel
Click to expand...
Click to collapse
I forgot to mention that there should be a folder '/edp17packages/bluetooth' where you can find the missing packages for the bt. Once you installed it, probably only need to tweak some config files and need to create some scripts. I currently started working on it.

[ROM][12.1][UNOFFICIAL] LineageOS 19.1 for Lenovo P2

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Code:
#include <std_disclaimer.h>
*
* 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 this ROM
* 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.
*
LineageOS is a free, community built, aftermarket firmware distribution of Android 12L (Sv2), which is designed to increase performance and reliability over stock Android for your device.
LineageOS is based on the Android Open Source Project with extra contributions from many people within the Android community. It can be used without any need to have any Google application installed. Linked below is a package that has come from another Android project that restore the Google parts. LineageOS does still include various hardware-specific code, which is also slowly being open-sourced anyway.
All the source code for LineageOS is available in the LineageOS Githup repo. And if you would like to contribute to LineageOS, please visit out Gerrit Code Review.
Installation:
If you are on stock OS, you need a custom recovery first. You can get the recommended LineageOS recovery in the official installation instructions link below.
You can use TWRP for installation, however it is no longer officially supported since we do not have full control of its update cycle and potential issues.
If you are coming from stock or other ROMs, you need to make a factory reset.
As always, make sure to backup before installing this ROM.
Installation Instructions:
Backup your data and see the next post below
Recommended TWRP Image:
twrp-3.7.0_9-0-kuntao.img
ROM Download Links:
Google Drive | SourceForge
Recommended Google Apps Package:
NikGapps-core-12.1
NikGapps-SetupWizard
NikGapps-AndroidAuto
Or
MindTheGapps-12.1 (Google Drive mirror)
Root Access:
Magisk v25.2 (more stable experience)
Magisk v26.1 (more updated build)
Recommended Useful Add-on:
p2oggle-1.2
Source Code:
https://github.com/LineageOS
ROM Firmware Required:
Any version of stock 6.0. Recommended P2a42_S251_171107_ROW
Acknowledgements:
Thanks to @mikeioannina for his hard work regarding kuntao and to all other Lineage OS developers
Special thanks to @Astridxx for the device tree sources and for helping me out and to @en666 for early testing the initial build
Important Notes:
As you can see from my profile, I'm not an experienced developer. I've made some builds as a considerable amount of users showed interest in having their devices updated with latest LineageOS code. Therefore, my main objective here is to bring the latest Android security patches to kuntao making monthly builds.
To be clear, I'm more in a situation of "user became builder" than of "ROM developer". Please, understand this.
Long live to our beloved kuntao!
XDAevDB Information
[ROM][12.1][UNOFFICIAL] LineageOS 19.1 for Lenovo P2
Contributors
@Astridxx ,@XiaoAk ,@Sohit5s, @mikeioannina
ROM OS Version: 12.x
ROM Kernel: Linux 3.18.x
Based On: LineageOS
Version Information
Status: Stable
Created 2023-02-22
Last Updated 2023-06-11
Installation Instructions​
Remember, making a backup of your data before proceeding is recommended
If you are coming from Stock ROM, please refer first to the instructions below:
Install LineageOS on kuntao
If you are coming from astridxx previous build (aka lineage-19.1-20220822-UNOFFICIAL-kuntao) or my initial build (aka lineage-19.1-20230222-UNOFFICIAL-kuntao) or any version of LOS18.1 or below, you must perform a clean flash. Clean flash instructions:
0- Make a backup (optional, but recommended)
1- Reboot to recovery
2- Format data (will delete all your data!)
3- Reboot to recovery again
4- Wipe > Advanced Wipe:
- Dalvik
- System
- Vendor
- Data
- Cache
- Internal Storage (optional, but recommended)
5- Flash ROM ZIP, Gapps, Gapps add-ons, Magisk add-on, etc
6- Reboot to system
7- Wait until it boots for the first time (may take some minutes)
Update Instructions​
NOTE: Dirty flash from any of the aforementioned builds is not supported, device trees were changed. You have been warned!
For updating from one of my builds to another (aka dirty flashing), please do the following:
1- Download ROM ZIP and copy it to the phone
2- Reboot to recovery
3- Flash ROM ZIP
4- Clean cache
5- Reboot to system
Known Issues​- Storage encryption is partially broken (if your /data partition is unencrypted, trying to encrypt it using ROM menu will result in a dead OS; if already encrypted, storage encryption may or may not work. IFAIK, it's a kernel side issue)
- Device may not go to deep sleep
- Storage forceencrypt flag is disabled (to encrypt /data partition follow the instructions below)
- TWRP backups are broken (read notes below)
- You tell
Google Play Store Update Bug​
If Google Play Store app keeps failing to find updates for apps with message "Something went wrong. Try again.", just clear its data and then it should work again
SafetyNet Check Fails​
If your device is rooted, please, follow the instructions contained here
Magisk is Gone After First Boot​
Please, just reflash Magisk again (i.e. Reboot to recovery > Flash ZIP > Reboot back to system)
How to encrypt data partition​
0- Backup your files (this process will erase everything)
1- Boot to TWRP recovery
1.1- Wipe > Format data > Reboot to system
2- Settings menu > Security > Encryption & credentials > Encrypt phone
3- Reboot to system again
Error restoring TWRP system backups​
It looks like TWRP backups are broken for now, so please, if this is a must have for you, you can try to install OrangeFox recovey and follow these instructions (thanks @Zdeslav for that)
ROM Change logs​
Code:
02/22/2023
- Initial release
02/27/2023
- Sync latest LOS sources
- Device Tree change: Use old A12L dt instead of los
- Add Lenovo Parts menu (fp gestures, USB fast charge, in-call audio gain, screen kcal)
- Updates phone vibration strength
- Add fix to device deep sleep issue
- Many more changes
03/29/2023
- Fetch latest Device Tree sources
-- vendorsetup.sh: Add Trebuchet patch
-- AOSP WFD doesn't support protected Wi-Fi Display buffers
-- Overlays:
--- Enable voWIFI support
--- Disable IMS features for Turkiye networks
-- Don't warn user about FC in Vanced microG
-- DT rootdir:
--- Add cpuset for the camera daemon
--- Remove permission restrictions to the socket file
--- Restore iio sensor device6 on boot
-- Bump graphene camera version to 60
-- Don't force enable ims features
-- sepolicy: Address sensor hal denials
- Update LOS components
-- Manifest: Sync x86_64 webview prebuilts again
-- Update zlib source
- Sync latest LOS source
- Merge March security patch
04/09/2023
- Fetch latest Device Tree sources
-- Add navbar enable/disable support
-- fs: Revert sdfat update for OTG
-- block: Add zen io scheduler
-- dts: Decrease BCL low battery threshold to 5%
-- DeskClock:
--- Wallpaper based text coloring for digital
--- Adapt digital clocks to S style
--- Remove night mode
-- Trebuchet:
--- Kill haptics in recents
--- Make overview scrim transparent again
-- Nfc: Fix Mifare Classic reading
- Update LOS components:
-- lineage: Track the FMRadio App and dependencies
- Sync latest LOS source
04/19/2023
- Fetch latest Device Tree sources:
-- sepolicy: Silence tracingproxy_service neverallow denial
-- sepolicy: Allow system_app to access storaged via IPC
- Sync latest LOS source
- Merge April security patch
05/09/2023
- Fetch latest Device Tree sources:
-- Bump graphene camera version to 62
-- devicesettings: Protect broadcast to fingerprint gestures
-- rootdir: Remove permission restrictions to the socket file
- Sync latest LOS source
- Merge May security patch
06/11/2023
- Fetch latest Device Tree sources:
-- parts: Update few parts icon
-- vendorsetup.sh: Use depth=1
-- Remove pixel_2016_exclusive
-- Bump graphene camera version to 63
- Sync latest LOS sources:
-- Additional zstd cmdline tools
-- zstd compression support for rsync
-- 2023-06 ASB patching: packages/apps/Traceur
- Merge June security patch
ROM Screenshots​
Attached below. Others are available here.
February 27th 2023 Release​
Changelog:
- Sync latest LOS sources
- Device Tree change: Use old A12L dt instead of los
- Add Lenovo Parts menu (fp gestures, USB fast charge, in-call audio gain, screen kcal)
- Updates phone vibration strength
- Add fix to device deep sleep issue
- Many more changes
Download URLs: GDrive | SF
Dirty flash still not supported (tree changed), please make a clean flash
Thank you so much for keepng Lineage alive, its very much appreciated.
@leo_97 thank you for this new build! Installed it straight away and now the phone is running since then and also, I've flashed with battery at 67% and atm, after a quite hard usage to test out the new features, I'm on 13%. Basically, so far so good!
p2a42, twrp 3.7, rooted, unencrypted
Thank you @leo_97 !
I was frustrated that Lineageos 18.1 was no longer maintained when I saw this update!
It's amazing
To all users and developers who tested and created this ROM, is it time to switch on this version ?
Or is it better to wait ?
For example, automatic update is possible after install ?
bidulez said:
automatic update is possible after install ?
Click to expand...
Click to collapse
No
bidulez said:
Thank you @leo_97 !
I was frustrated that Lineageos 18.1 was no longer maintained when I saw this update!
It's amazing
To all users and developers who tested and created this ROM, is it time to switch on this version ?
Or is it better to wait ?
For example, automatic update is possible after install ?
Click to expand...
Click to collapse
You are welcome
If it's time to switch, I believe it's a matter of personal decision. Maybe you could wait the next build and then decide...
If with "automatic updates" you mean OTA updates, then the answer (as already pointed out by @utwer ) is no. But once the trees are stable enough, I hope every user will be able to just update to the newer versions flashing ROM ZIP through TWRP (just like it's done on LOS18.1)
BTW, IDK if you already saw it, but we are maintaining a monthly build of LOS18.1 which you can download from here. The source tree used there is far more tested (as it's older) than this one. Anyway, except by the encryption thing, you shouldn't have any problems using this LOS19.1 ROM as our amazing developers made an excellent job here.
Reg, Ive installed it and I may say it is quite good. Not tried to root it yet. Dont have direct problems with ROM and functionality, for me everything works. Camera, Location, GSM, Data, WiFi. With developer options I've turned off Animation scale on three options to OFF, and is good. Stable reliable.
MindTheGapps-12.1 works every app from Google, Phone, Contact, Gmail, maps...etc...
What I need root mostly is for Call recording (Skvalex) and Viper4Android.
Some words about twrp-3.7.0_9-0-kuntao.img,
With this I have only problems, so far I lost a few backups and I need to install it all over again a few times allready. Disappointed very. I can't rally on this when I make a nandroid ba.ckups.
Also lost backups for LOS18.1 and I am been very pis....ed off. Error 255 on System recovery, other Data, Boot, EFS, Vendor, etc.. recovery is good.
So I've installed OrageFox for Kuntao. Tried several backups to restore already and I may say I am very satisfied. Puh
What is on my mind, when I installed a Magisk 25.2, no matter of LOS 18.1 or 19.1 with very few modules, after 7-8 reboots I've got boot loops which is beyond repairable.. Try to remove modules in TWRP in file manager, uninstall whole magisk, no way, but what it is seems that DATA got corrupted some how, everytime.
There were also installed TWRP mentioned above.
Now I am with OrangeFox and I will try tomorrow to Root it and see is there any connection between Magisk and recovery software (OrangeFox or TWRP).
Reg
Tried quickly this ROM yesterday. In general all working, but didn't test much.
Few feedbacks:
-Scaler for brightness level is weird, very different from the original Lenovo roms. Anyway, not really important, but something that I noticed.
-Missing haptic feedback when using the fingerprint reader as a gesture button. Again, not critical, but I am really accustomed to it and thus I noticed immediately.
-Missing haptic feedback intensity regulation, or could not find it. It's there for general call/notification vibration, but if I remember correctly lineage could also change haptic.
Impressed that you could integrate also some lenovo features, even if of course not all of them
If you want me to test something more specific, please let me know. Ah, my model is the 4 GB/ 64 GB combination.
Cheers!
leo_97 said:
You are welcome
If it's time to switch, I believe it's a matter of personal decision. Maybe you could wait the next build and then decide...
If with "automatic updates" you mean OTA updates, then the answer (as already pointed out by @utwer ) is no. But once the trees are stable enough, I hope every user will be able to just update to the newer versions flashing ROM ZIP through TWRP (just like it's done on LOS18.1)
BTW, IDK if you already saw it, but we are maintaining a monthly build of LOS18.1 which you can download from here. The source tree used there is far more tested (as it's older) than this one. Anyway, except by the encryption thing, you shouldn't have any problems using this LOS19.1 ROM as our amazing developers made an excellent job here.
Click to expand...
Click to collapse
So for 18.1 we can just flash the newer versions via TWRP and do not have to reinstall the entire ROM?
Zdeslav said:
Reg, Ive installed it and I may say it is quite good. Not tried to root it yet. Dont have direct problems with ROM and functionality, for me everything works. Camera, Location, GSM, Data, WiFi. With developer options I've turned off Animation scale on three options to OFF, and is good. Stable reliable.
MindTheGapps-12.1 works every app from Google, Phone, Contact, Gmail, maps...etc...
What I need root mostly is for Call recording (Skvalex) and Viper4Android.
Some words about twrp-3.7.0_9-0-kuntao.img,
With this I have only problems, so far I lost a few backups and I need to install it all over again a few times allready. Disappointed very. I can't rally on this when I make a nandroid ba.ckups.
Also lost backups for LOS18.1 and I am been very pis....ed off. Error 255 on System recovery, other Data, Boot, EFS, Vendor, etc.. recovery is good.
So I've installed OrageFox for Kuntao. Tried several backups to restore already and I may say I am very satisfied. Puh
What is on my mind, when I installed a Magisk 25.2, no matter of LOS 18.1 or 19.1 with very few modules, after 7-8 reboots I've got boot loops which is beyond repairable.. Try to remove modules in TWRP in file manager, uninstall whole magisk, no way, but what it is seems that DATA got corrupted some how, everytime.
There were also installed TWRP mentioned above.
Now I am with OrangeFox and I will try tomorrow to Root it and see is there any connection between Magisk and recovery software (OrangeFox or TWRP).
Reg
Click to expand...
Click to collapse
So,
Resolved issue of bootloops:
after you install SU like Magisk, and wan to freeze apps by Titanium Backup or Neo-Backup, Apps which causes bootloops are ROM's Phone and Massages (In my case, for 16.1, 18.1, 19.1), I freeze Audio.apk who need to be shutdown for Viper4Android app who takes audio management and freezing is OK.
But Phone and Massages which are frozen cause bootloops, so you need to return from freeze state somehow in TWRP or OrangeFox with file management or revert backup. Revert backup is easier .
Camera; found issue when suddenly is out of work and cannot be connected to app. Also have problems with video cast Skype, Viber, Whatsapp, Telegram video is frozen. Hardly switch in Camera app from Camera mode to Video mode and vice-versa.
Clock & Info; missing dock icons and info, can't "capture" moment for reason when they disappear but after a while all is returned again.
P2oggle, left switch button work okey in form of 0.4 version.
Reg,
thanks on the development for this 19.1 ROM.
Zdeslav said:
Camera; found issue when suddenly is out of work and cannot be connected to app. Also have problems with video cast Skype, Viber, Whatsapp, Telegram video is frozen. Hardly switch in Camera app from Camera mode to Video mode and vice-versa.
Clock & Info; missing dock icons and info, can't "capture" moment for reason when they disappear but after a while all is returned again.
P2oggle, left switch button work okey in form of 0.4 version.
Reg,
thanks on the development for this 19.1 ROM.
Click to expand...
Click to collapse
Hello,
I've been using this ROM as my daily driver and couldn't confirm this camera bug, could you please give a few extra details? I tested on Telegram app. Which version are you using? The Play Store's one or the one from Telegram's official website? Did you give the app "While using app" permission or "Ask every time" permission for camera? Are you sure the QS Tile "Camera access" is activated (available) when the mentioned bug occurs?
Regarding the Clock widget, yes, there's a small glitch and I'm not sure on how to fix it, if it doesn't load at all, a system reboot should fix it.
P2oggle v1.2 is 100% working as far as I can tell, so you guys can try it too if you want.
MKbis said:
-Scaler for brightness level is weird, very different from the original Lenovo roms. Anyway, not really important, but something that I noticed.
-Missing haptic feedback when using the fingerprint reader as a gesture button. Again, not critical, but I am really accustomed to it and thus I noticed immediately.
-Missing haptic feedback intensity regulation, or could not find it. It's there for general call/notification vibration, but if I remember correctly lineage could also change haptic.
Click to expand...
Click to collapse
I'm not sure if it's possible to "fix" the brightness slider.
If with "haptic feedback" you mean the phone vibration, you can just adjust it to your liking in Settings > Lenovo parts > Vibration strength, it should affect fp reader too, dunno if it affects call vibration but IFAIK it should.
Regards
Leo_97
I've been using this ROM as my daily driver and couldn't confirm this camera bug, could you please give a few extra details? I tested on Telegram app. Which version are you using? The Play Store's one or the one from Telegram's official website? Did you give the app "While using app" permission or "Ask every time" permission for camera? Are you sure the QS Tile "Camera access" is activated (available) when the mentioned bug occurs?
Click to expand...
Click to collapse
Yes on latest Telegram app from web site, tried with Google Meet, Whatsapp, Viber.., always breaking connection with API/drivers. Yes I gave all permissions to Camera. If I am not giving permissions for camera, I have always noticed to confirm what I am giving, so I am excluded from this solution. And clean storage and cashe from app regular but not prevail.
But, in a while after installed a new ROM without giving SU/Root I noticed this behavior, right after I wrote earlier post up. My bad .
Choppy startup of camera, can't easily transfer from video 2 camera and vice-versa, so I tell to my self to test intensively.
Regarding the Clock widget, yes, there's a small glitch and I'm not sure on how to fix it, if it doesn't load at all, a system reboot should fix it.
Click to expand...
Click to collapse
Yes after a while it is returned back without reboot. weird.
P2oggle v1.2 is 100% working as far as I can tell, so you guys can try it too if you want.
Click to expand...
Click to collapse
Didn't know about P2oggle v1.2 app, thx
March 29th 2023 Release​
Changelog:
- Fetch latest Device Tree sources
- Update LOS components webview & zlib
- Sync latest LOS source
- Merge March security patch
- Many more changes
Full change log available on the bottom of this post
Download URLs: GDrive | SF
Note: Please, before flashing, carefully read the instructions from the 3rd post above to avoid breaking your system.
Enjoy!
Big Thank you for this release. Will try it. - test
Great job, dude.
Previous versions had some buggy charging driver that left a wakelock running after each charging, and u had to restart phone each time or leave it to slowly drain battery by not going to sleep.
Somehow this problems seems to be gone in your build and that is awesome.
I've been using the build for about 2 weeks now and so far everything seems to be working fine.
April 09th 2023 Release​
Change log:
- Fetch latest Device Tree sources (lots of changes)
- Update LOS components:
-- lineage: Track the FMRadio App and dependencies
- Sync latest LOS source
- Many more changes
Full change log available on the bottom of this post
Download URLs: GDrive | SF
Note: Dirty flash is unsupported for this build, please make a clean flash
Enjoy!

Resources