Jump to content
tdm

LineageOS 16.0 Official Builds: Discussion

Recommended Posts

Posted (edited)

I am pleased to announce that the Pro1 has received official support in LineageOS 16.0.

 

You can find the builds and installation instructions on the official LineageOS Downloads page.

 

Please note that LineageOS does not include the proprietary Google apps (aka. "gapps", Play Store, etc.), nor a "su" binary.  These are "extras" or "add-ons".  You may use any appropriate gapps package for Android Pie.  I personally recommend MindTheGapps which can be found here.  LineageOS maintains an official su add-on and a couple other extras here.  Note the Pro1 is arm64 and be sure to select the appropriate version (Android Pie 9.0, LineageOS 16.0).

 

Many thanks to those who helped with this project, including @npjohnson and @Sean McCreary.  And of course, a huge thanks to Ethan Chen (intervigil) who isn't here but gave the code some very nice polish at the last minute.

 

Edited by tdm
  • Thanks 19

Share this post


Link to post
Share on other sites

Hmm, i will give this a try this week... I have fought with a Fairphone 3 passed weekend. So I most tools should work.
Thank you all for making this happen!

  • Thanks 1

Share this post


Link to post
Share on other sites
8 hours ago, EskeRahn said:

Thanks. I get this after flashing trying to run the usual "adb reboot recovery" though:

error: device unauthorized.
This adb server's $ADB_VENDOR_KEYS is not set
Try 'adb kill-server' if that seems wrong.

The suggested kill server does not help. (I can manually reboot to recovery from the menu though)

It then complains about the signature of the gapps-package, but I am allowed to overwrite that.

(Same for adb reboot)

But overall it installed gracefully and preserved my user data. 🙂

In Recovery Menu: Advanced -> Enable ADB - it's supposed to be secure by default 🙂 

2 hours ago, SteffenWi said:

I'm sorry but could someone take another look at https://wiki.lineageos.org/devices/pro1/install

The instructions for flashing the recovery image are...weird. Something about temporary flashing? And the command doesn't match what we previously used either.

Before: fastboot flash boot_a lineage.img

According to the install page: fastboot flash lineage.img

And then those confusing notes about wether an A/B device is used? I thought the Pro1 *is* an A/B device?

I have no clue where you're seeing `fastboot flash lineage.img` - that's no where on there.

And yes, you're temporarily flashing a custom recovery - flash to boot, then boot to recovery - it will be overwritten by the install of the ROM.

And again, it is an A/B device - not suer where the confusion lies here.

1 hour ago, acrux said:

Temporary because the following updates already include boot.img.

You made an inaccuracy here, according to the install page:

fastboot flash boot <recovery_filename>.img

It does not matter to which slot boot partition it is flashed if it is install and not a update.

 

Yeah, like I said, that's the correct syntax.

1 hour ago, SteffenWi said:

oh, okay.

But you need to know which slot it is to switch back to it to get to recovery and sideload the zip file? Or is the switch back no longer neccessary?

Stop worrying about slots - we handle it all. Just follow the guide, flash recovery, boot to recovery, flash the ROM, format data, (optionally) reboot to recovery, install Google Apps.

41 minutes ago, SteffenWi said:

@tdm That is the thing: I lack the knowledge to know if things just changed because it is now a lineage image or if the wiki is wrong. There are just a lot of differences between what was on your site and what it says on the lineage site.

There's multiple ways to do these things - follow the wiki for official builds and things will go swimingly.

  • Like 1

Share this post


Link to post
Share on other sites

So, forgive my noobness, but if I am updating (preserving data) from Test 22, can I just adb sideload the new nightly, then use the advanced menu on the phone to reboot into recovery (which should be the new recovery image) and carry on with suaddon and Gaaps, or do I need to fastboot flash the new recovery first?

Share this post


Link to post
Share on other sites
33 minutes ago, Hook said:

So, forgive my noobness, but if I am updating (preserving data) from Test 22, can I just adb sideload the new nightly, then use the advanced menu on the phone to reboot into recovery (which should be the new recovery image) and carry on with suaddon and Gaaps, or do I need to fastboot flash the new recovery first?

 

The former.  Basically update just like you always have with my test builds, but using the official zip.  When you reboot into recovery to install gapps/su, you will be in the official recovery.  You can tell because should see the version string show nightly instead of unofficial and adb shell will be unauthorized.  And when you flash gapps, it will complain about the signature (but it will let you proceed anyway).  After gapps installation, reboot and you should be running the official build without issues.

 

This is all theory .. I haven't actually done it, as I typically don't run official builds.  But @EskeRahn and others indicate it works.

 

  • Thanks 2

Share this post


Link to post
Share on other sites

@Hook you need to reboot to bootloader and install the official boot.img to the active boot partition first before booting to recovery and sideloading.

  • Thanks 3

Share this post


Link to post
Share on other sites

I will NOT move the few older posts on the official build into this thread, as moving things older than the OP into a thread make things sort of a mess, as the OP then appear as an answer.....
But will try to remember to move the newer ones in here.

  • Thanks 1

Share this post


Link to post
Share on other sites
5 hours ago, npjohnson said:

I have no clue where you're seeing `fastboot flash lineage.img` - that's no where on there.

sorry, I didn't type the 'boot' part in there. Before we had to specifically select a boot slot (for example boot_a) but taking your later response to another issue I had we don't have to worry about boot_a/boot_b anymore now that this is an official lineage image. Thanks.

Share this post


Link to post
Share on other sites
2 minutes ago, SteffenWi said:

sorry, I didn't type the 'boot' part in there. Before we had to specifically select a boot slot (for example boot_a) but taking your later response to another issue I had we don't have to worry about boot_a/boot_b anymore now that this is an official lineage image. Thanks.

To be clear, fastboot talks to the bootloader and that is never changed by Lineage (or any custom OS).  I merely specified the suffix _a/_b to make the user aware of exactly what is happening.  You have always been able to fastboot flash any partition without the suffix.  It just writes to the active one.  But you may not know which one is active, so I considered this a bit dangerous.

 

  • Like 2
  • Thanks 2

Share this post


Link to post
Share on other sites
2 hours ago, Wheeljack said:

@Hook you need to reboot to bootloader and install the official boot.img to the active boot partition first before booting to recovery and sideloading.

Yes, you are correct.  I did try doing it as if it were one of tdm's updates and got roundly put in my place when I tried to sideload it with the Test 22 recovery 😄 .  SO, yes, booted into bootloader and used fastboot to flash the boot image to the active partition, rebooted to recovery and then all the adb sideloading went well!  I'm up and running.  Thanks!

  • Like 2
  • Thanks 2

Share this post


Link to post
Share on other sites
19 hours ago, tdm said:

... Just be prepared for the OTA install to take nearly an hour.

Is there a particular reason for that? Moving Gapps and other addons?

My Nexus 6 with no Gapps usually performs an LineageOS OTA update in 2-3 minutes.

  • Like 1

Share this post


Link to post
Share on other sites
3 hours ago, acrux said:

Is there a particular reason for that? Moving Gapps and other addons?

My Nexus 6 with no Gapps usually performs an LineageOS OTA update in 2-3 minutes.

It is EXTREMELY slow to actually install the package. The mere download is perhaps two minutes, depending on net and servers. But the install takes well forever....
I will suggest to just take the notification that an update is available, and then download and install it manually - that takes a few minutes through the ADB sideload.

Yes less elegant, but MUCH faster. For me the OTA of the V2 over V1 even failed to boot after I waited over an hour, so had to do it manually afterwards anyway, but that could be an initial issue, where it lacked the gapps... i'm not going to attempt an OTA at 02:30 next time....

  • Thanks 2

Share this post


Link to post
Share on other sites
Posted (edited)
4 hours ago, acrux said:

Is there a particular reason for that? Moving Gapps and other addons?

My Nexus 6 with no Gapps usually performs an LineageOS OTA update in 2-3 minutes.

It is because A/B. See this link:

 

https://source.android.com/devices/tech/ota/ab/ab_faqs#if-youre-installing-an-update-while-the-system-is-running,-isnt-that-slow

 

Incremental OTAs are much faster, but don't work with addons. I would like to fix that at some point.

Edited by tdm
  • Thanks 4

Share this post


Link to post
Share on other sites
Posted (edited)

So, I just finished setting up Lineage on my phone and then wanted to connect it to my PC so I could copy some files over from the previous phone...and now the Pro1 isn't recognizing the USB connection (in USB settings everything is greyed out) and my PC isn't seeing the device either (nothing in dmesg, nothing in lsusb).

The phone is charging though. Connecting my old phone to the same USB cable works (phone is recognized). I'm not sure what to do now. Could the USB port on the Pro1 be broken already?

 

Nevermind, phone is also not recognized in bootloader nor recovery mode. This is great...

Edited by SteffenWi

Share this post


Link to post
Share on other sites
39 minutes ago, SteffenWi said:

So, I just finished setting up Lineage on my phone and then wanted to connect it to my PC so I could copy some files over from the previous phone...and now the Pro1 isn't recognizing the USB connection (in USB settings everything is greyed out) and my PC isn't seeing the device either (nothing in dmesg, nothing in lsusb).

The phone is charging though. Connecting my old phone to the same USB cable works (phone is recognized). I'm not sure what to do now. Could the USB port on the Pro1 be broken already?

 

Nevermind, phone is also not recognized in bootloader nor recovery mode. This is great...

 

Perhaps your PC is having issues with USB?

 

Lineage supports ADB over network.  I frequently use this instead of USB because it is super convenient.

 

Enable developer settings (tap on build number 7 times), then go into developer settings and enable ADB over network.  The adb address will be shown.  On your PC, run "adb connect <address>".

 

  • Thanks 3

Share this post


Link to post
Share on other sites

Just swapped to this build today from ubuntu touch all went fine.  (Had to install Gapps twice for some reason but went on in the end!)  Also play store crashed until it did an update (Am sure I saw this mentioned somewhere else)

I have noticed it is sluggish compared to ubuntu touch I mean animation wise.  Problem is I can't remember what stock was like now :S I guess this could be power saving features?

Share this post


Link to post
Share on other sites
7 minutes ago, _DW_ said:

Just swapped to this build today from ubuntu touch all went fine.  (Had to install Gapps twice for some reason but went on in the end!)  Also play store crashed until it did an update (Am sure I saw this mentioned somewhere else)

I have noticed it is sluggish compared to ubuntu touch I mean animation wise.  Problem is I can't remember what stock was like now :S I guess this could be power saving features?

Perhaps it is the animation speed? Go into developer settings and set the animation scales to 0.5x. That should feel faster.

Share this post


Link to post
Share on other sites
3 minutes ago, tdm said:

Perhaps it is the animation speed? Go into developer settings and set the animation scales to 0.5x. That should feel faster.

Its not that.  It's more the refresh of the rendering is low fps or frames are skipped sometimes. I just checked my Blackberry Keyone and that is a lot smoother in comparison in general transitions and effects.

  • Confused 1

Share this post


Link to post
Share on other sites
Posted (edited)

And I was just about to flash my phone. I think I'll wait for a smooth ride on a official nightly. I can deal with bugs. But a choppy interface, Heeell nooo.

Edited by DieBruine

Share this post


Link to post
Share on other sites
45 minutes ago, _DW_ said:

Its not that.  It's more the refresh of the rendering is low fps or frames are skipped sometimes. I just checked my Blackberry Keyone and that is a lot smoother in comparison in general transitions and effects.

Hmm, interesting.  Is anyone else seeing this?  I certainly don't notice it.

 

Also FYI... the first build missed a kernel configuration to enable EAS (the Energy Aware Scheduler, a key part of the new power stuff).  So that may be causing some performance issues.  It's been fixed and the next build will have it enabled.

 

Share this post


Link to post
Share on other sites
1 hour ago, _DW_ said:

Its not that.  It's more the refresh of the rendering is low fps or frames are skipped sometimes. I just checked my Blackberry Keyone and that is a lot smoother in comparison in general transitions and effects.

 

16 minutes ago, tdm said:

Hmm, interesting.  Is anyone else seeing this?  I certainly don't notice it.

 

I'm certainly not seeing anything like that.

Share this post


Link to post
Share on other sites

 

42 minutes ago, DieBruine said:

And I was just about to flash my phone. I think I'll wait for a smooth ride on a official nightly. I can deal with bugs. But a choppy interface, Heeell nooo.

Most people I bet won't notice its like seeing something at 60fps then 30fps you would notice but seeing 30fps all the time you wouldn't. 

I have only spotted due to me swapping from ubuntu and also having another phone to compare with a similar install. (That is android 8 I realised though a version behind)

32 minutes ago, tdm said:

Hmm, interesting.  Is anyone else seeing this?  I certainly don't notice it.

 

Also FYI... the first build missed a kernel configuration to enable EAS (the Energy Aware Scheduler, a key part of the new power stuff).  So that may be causing some performance issues.  It's been fixed and the next build will have it enabled.

 

Yeah I do think it's power saving related like something been throttled.

Share this post


Link to post
Share on other sites

For me, the interface is quite snappy. I went from LOS Test 15 to LOS Nightly and I would say there is no difference between both.


What I have noticed (on Test versions and this Nightly as well) is that sometimes, the transition between home screen pages can stutter a little bit. I tried to find the cause via terminal (top command) but no luck.

  • Like 2

Share this post


Link to post
Share on other sites
Posted (edited)

Okay, so I'd like to contribute to LineageOS for Pro1, and there are two things I think of

1. Add a possibility to turn off autocapitalization
2. Implement sticky fn. The idea here is to store a boolean flag `fn_sticky_pressed` and set it `aw9523b_check_keys` while checking the state of the keys

So I have questions

1. In which part of the software stack is the autocapitalization for hw keyboard handled? This doesn't look like in the kernel driver
2. What's the correct way of building the kernel? I did the following on Arch Linux, gcc 10.1.0

export ARCH=arm64
export SUBARCH=arm64
export CROSS_COMPILE=aarch64-linux-gnu-
make clean
make mrproper
make lineage-pro1_defconfig
make -j $(nproc)

However, this fails because of

kernel/bpf/core.c: In function 'bpf_patch_insn_single':
kernel/bpf/core.c:175:3: warning: writing 8 bytes into a region of size 0 [-Wstringop-overflow=]
error, forbidden warning: core.c:175

I applied the following patch so that the kernel builds at all:
 

diff --git a/scripts/dtc/dtc-lexer.lex.c_shipped b/scripts/dtc/dtc-lexer.lex.c_shipped
index 45a4913958b8..0fa49e70de1d 100644
--- a/scripts/dtc/dtc-lexer.lex.c_shipped
+++ b/scripts/dtc/dtc-lexer.lex.c_shipped
@@ -622,7 +622,7 @@ char *yytext;
 #include "srcpos.h"
 #include "dtc-parser.tab.h"
 
-YYLTYPE yylloc;
+extern YYLTYPE yylloc;
 extern bool treesource_error;
 
 /* CAUTION: this will stop working if we ever use yyless() or yyunput() */

otherwise, I'd get `multiple definition of `yylloc'`

Edited by marmistrz

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


×
×
  • Create New...

Important Information

Terms