[ROM][UNOFFICIAL] LineageOS 16.0 for FP3

I’m on stock (120) and can’t see any difference, either with Nova nor with the default launcher

I have fixed Microphone in VOIP calls

6 Likes

Hi I managed to get LOS 16.0 on my FP3 up and running thanks for that !

I’m struggling with openGapps, I can’t get my LOS to load once I flashed them.
As you mentionned I may be linked to AVB.

Audio hal has been open-sourced finally https://gitlab.e.foundation/e/os/android_hardware_qcom_audio/-/commits/v1-pie-caf-8996

6 Likes

Nice to hear. :+1: Unfortunately I didn’t had much time this week to work on it. Will try it next week.

Maybe disabling verity helps as also used here:

Please feel free to update description here when you find out how to install it.

I have been thinking of getting a FP3 since its release but have been holding of as my current phone was still in a working condition. It has now detoriated to the point of being a ticking bomb before it shows its last pixels.

One of the reasons for waiting this long for getting the FP3 is also because I am interested in running LOS instead of stock android. I have been following the forum and this post for a the past two months to check on the development of LOS for the FP3.

To get to my question. I wonder how stable the last release is for everyday use? Would it be fine to get a FP3 and expect LOS to run without “everyday problems”?

I am also working in IT (but never with android development) and wonder if there is something that I can do to help in the development.

1 Like

I’ve just flashed the version with microG yesterday and setup everything to suit my needs and I’ve not experienced any crash or instability yet. So I’d safely say the last release is stable enough for everyday use.
I’ve used the stock Android version with Google apps provided by Fairphone for a few months and I’d state this lineageos release is as usable as the latter. It also fixed some issues I had with the stock version, especially the minimum brightness being to high to let me use the phone in the dark.
To put everything into perspective, it’s the first ROM I have ever flashed and I found the process really straightforward.
So big thanks to the devs for their amazing work.

6 Likes

Thanks for the answer. I just did that, I get the same exact result

  • I wipe all data + system
  • I install both LineageOS + openGapps
  • On reboot I get the message “Android system not found : format all data ?”
    → If I say yes and reboot, it works, but I don’t have the Gapps
    → If I say yes, reboot to recovery, sideload install the Gapps again, I get a black screen on reboot (after the usual warning screens)

I’ll keep you in touch if I go further.

That sounds very promising! I will give it a try then when I get my FP3 :smile:

Quick update on the Gapps : I learned that I need to do the disable-verity commande after installing the OS.

So I get Lineage to boot with Gapps, but I’m stuck with the message “There Was A Problem Communicating With Google Servers”

I tried several common fixes but no luck so far. I keep you posted.

1 Like

I just got a FP3 and tried installing this LineageOS image on it. The first steps – unlocking the bootloader, booting (then later installing) TWRP – worked fine, but after installing LOS (both using sideload and push + install from TWRP) it wouldn’t boot, instead giving me this broken-English error message:

Can't load Android system. You
continue to get this message,
factory data reset and erase a
device.

I tried wiping data partitions / internal storage / basically everything TWRP offered me, but it wouldn’t help.

While I was writing this, I actually got it to work though! The recovery mode that presented the aforementioned ugly error message to me also had an option for "factory-reset"ting the phone, and once I selected that, it actually started LOS! :smiling_face_with_three_hearts:

I’d be glad if this issue could be added to a troubleshooting section somewhere so other people don’t get stuck with this issue :slight_smile:

5 Likes

Thank you for your great work!
I have problems with compiling LOS 16 for FP3.

2fsdroid -p /path/android/lineage/out/target/product/FP3/system -S /path/android/lineage/out/target/product/FP3/obj/ETC/file_contexts.bin_intermediates/file_contexts.bin -f /path/android/lineage/out/target/product/FP3/product -a /product /path/android/lineage/out/target/product/FP3/product.img
__populate_fs: Could not allocate block in ext2 filesystem while writing file “webview.apk”
e2fsdroid: Could not allocate block in ext2 filesystem while populating file system

After that the build aborts. I started building via “brunch FP3 eng” after setting some variables from my previous LOS 14.1 builds (JACK_VM doesn’t seem to be recognized)

export USE_CCACHE=1 && ccache -M 80G && export ANDROID_JACK_VM_ARGS=“-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx12G” && LC_ALL=C

I’m not a software engineer, but very interested in LOS development for FP3. Do you have any idea why my build fails?

Hi,
yes, this is a known issue, inflicted upon us by other LineageOS developers. :neutral_face:

You will find a workaround in the issue discussion.
@Max_S: perhaps we should override this setting inside our device tree somehow?

Thanks for your quick answer! It worked for me. Just to pin it here: I added the following lines to my roomservice.xml
<remove-project name="LineageOS/android_external_chromium-webview"/> <project path="external/chromium-webview" name="LineageOS/android_external_chromium-webview" groups="pdk" revision="4a9980d94c632c731e8e8bbcea43467878e4bebd" clone-depth="1" />

Now repo sync hangs at Fetching projects: 99% (711/712) platform/prebuilts/checkcolor even if i delete the hole lineage folder and re-init/re-sync everything from blank folder.
Is that also a known issue or do you know whats going wrong? I couldn’t find a solution for that. I’m using Ubuntu 20.04

The repo sync command can take a very long time and seems to hang if network connections to github fail. If you want to be sure that something is still going on, use top or the Ubuntu task manager to examine the activity.

Just a quick question about the kernel…

I’m trying to follow this instruction in order to try out an Ubuntu Touch “GSI”: https://github.com/ubports/porting-notes/wiki/Generic-system-image-(GSI)

First step is to build the kernel with some patches UT needs. At the moment I’m trying to get a build setup running so see it works before going to the different patches to be applied.
The above instructions point to https://forum.xda-developers.com/android/software-hacking/reference-how-to-compile-android-kernel-t3627297 as instructions to build the kernel.

It roughly contains the following steps

  1. clone the kernel sources
  2. clone a cross compiler
    I used https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9 with
    git co pie-platform-release
    export CROSS_COMPILE=$(pwd)/bin/aarch64-linux-android-
    export ARCH=arm64 && export SUBARCH=arm64
  3. the actual build
    make O=out clean
    make O=out mrproper
    make O=out lineageos_FP3_defconfig
    make O=out -j$(nproc --all)

Does this look ok? I tried the same with the /e/ kernel sources but couldn’t get the “scripts/dtc” subfolder to build properly.

Or is there an easier way? I’ve never compiled an Android kernel so far…

Edit: I’ve run into the same problem as with the /e/ kernel sources:

  DTC     arch/arm64/boot/dts/qcom/apq8016-sbc.dtb
  DTC     arch/arm64/boot/dts/qcom/msm8916-mtp.dtb
./scripts/dtc/dtc: invalid option -- '@'
Usage: dtc [options] <input file>

Options: -[qI:O:o:V:d:R:S:p:fb:i:H:sW:E:hv]

 ...

From what I found in internet searches, it seems that the embedded dtc is too old.
There is a scripts/dtc/update-dtc-source.sh file that could update the dtc sources. But when I had tried that with the /e/ sources it got even worse:

  HOSTLD  scripts/dtc/dtc
/usr/lib64/gcc/x86_64-suse-linux/7/../../../../x86_64-suse-linux/bin/ld: scripts/dtc/dtc.o: in function `main':
dtc.c:(.text.startup+0x697): undefined reference to `dt_to_yaml'
collect2: error: ld returned 1 exit status

I’m also using it for some weeks now and it works quite stable. At least the microG build :wink:
Unfortunately openGapps seem not to work yet.

Yes, needs to be done after installing. Maybe LOS Trust extension or SELinux policies prohibits network access here. Can you see something in logcat?

Do you have an idea on that? Only thing that I have in mind is to not use the product partition and also not mounting it. However I’m not sure if this is a good solution.

In the BoardConfig.mk we have these lines:

TARGET_KERNEL_ADDITIONAL_FLAGS := \
    DTC=$(shell pwd)/prebuilts/misc/$(HOST_OS)-x86/dtc/dtc \
    MKDTIMG=$(shell pwd)/prebuilts/misc/$(HOST_OS)-x86/libufdt/mkdtimg

I think this dtc binary is used. Maybe you can try to add the DTC=... to your last make call.

1 Like

Thanks Max, I’ll give that a try in the next couple of days. :slight_smile:

Maybe just two more explicit questions to double-check:

  • “lineageos_FP3_defconfig” is the correct config to use, right?
  • when I downloaded https://android.googlesource.com/platform/prebuilts/gcc/linux-x86/aarch64/aarch64-linux-android-4.9 I was on the master branch initially but that lacked some executables (IIRC even simple things like gcc) so I looked at the available branches and selected “pie-platform-release” because the FP3 initially came with Android 9 (pie) and “platform-release” sounded somewhat less special than the other available branches.
    Is there a better choice or is it ok?

Edit: found the time to try. Taking the dtc from https://android.googlesource.com/platform/prebuilts/misc and using it via export DTC_EXT=$(pwd)/dtc from the path where I downloaded it gave me a successful make run. Thanks!