[Android General] ivelischt:
Hi Hanthonious

as the microG variant requires some "special sauce", namely the ability to spoof signature as well as other small fixes in the source code, my source tree is a bit different from the "vanilla/gapps" source tree. thus, to build variants not containing microg, you can simply sync the lineage source tree and apply the additional phh treble sources&patches. *edit: next to phh's patches, you will also need AndyYan's patches; you can find information about it in the OP. given, i write a guide (which i still intend to, but this takes some time), the patching step will be explained more clearly* basically, it's one step less than compiling it with microg. at the moment i cannot afford enough disk space to create another work tree, which is why i "can't promise" other build variants, until this issue is gone. which may be tomorrow or in a year. maybe you can find a gapps-version of treble-lineage 16 here in the xda boards. otherwise you will have to wait, or try to build it yourself. also, you might be interested in [MENTION=4467696]AndyYan[/MENTION]'s lineage version, which is vanilla (no gapps or microg).

i would guess that the system image will not grow excessive just by including opengapps, but i may be wrong. i think that you'd possibly would have to choose a "non-complete" opengapps-package, to make it fit.

to quickly summarize what microg does is, that it spoofs its signature to make your phone think that you have the real Google Services Framework, Google Cloud Messaging, etc. services installed. this makes apps, which depend on these services, work even though you don't really "have" them. additionally, microg establishes an "essential" communication between itself and the real google services to allow you to use google services despite having all their bloatware.

to round this up, you have fakestore which spoofs existence of Google Play Store for those apps and games, which specifically check for GPS's existence (Phonesky app).

i think this should quite generally point out, what microg is for (an api which connects you to google, whilst only handing out information, which is crucial to keep a specific connection alive)

you can then use i.e. Aurora Store to download and update your preferred playstore apps. i tell you this specifically, as i hope that, using it right, microg might be able to give you a "fully stocked" phone experience, whilst keeping most of your data secure and your phone unbloated by google's app-hoard.

if you follow the instructions in the OP on how to fully enable microG, this might be a very handy solution for you, too, so maybe, you want to give it a chance.

to point out my issues with twrp (as far as i can tell using my little experience): twrp is device specific. which means, you need a vendor tree and you need to include it whilst building, so twrp can compile against it. now, treble is a way of excluding your device specific vendor tree from the build altogether (your system image basically doesnt contain the vendor files in a "folder" (/vendor), but in a seperate partition. this partition is "simply" beeing symlinked to from your system partition. this way you will never need to build vendor-specific sources but android builds against standardised "api's" which are being "serviced" by treble-enabled phone's vendor-files (lying at the vendor-partition). this makes building aosp and/or lineage, etc. easier as you can build one variant per architecture, which fits all treble enabled phones of that architecture (arm/64/binder32/64,a/ab,...). this is, very basically said, what is called a HAL (hardware abstraction layer) on a desktop computer.

but at the same time it's much more difficult to find vendor sources for those phones, as there is no more need at all for manufacturers to make these sources publich (as far as i understand it). as a matter of fact, you may not need these vendor sources for modern aosp (8.1+), which really is a grace!! but twrp doesn't seem to work when compiled against treble trees.

i even managed to compile a kernel which is mentioned at the wikogeek site for the lenny 5. i tried to include that kernel when compiling the recovery image but even that did not work out. as i am no experienced programmer (especially not in the high languages), i will not be the person to ask when it comes to finding out what bugs and how to circumvent it.

there is a little light at the end of the tunnel, though. as far as i understand it, treble-phones come with mostly generic kernels, which *could* make it easier to find a way to build a kernel/boot/recovery image in a similar fashion we build the gsi (generic system image) with. additionally, if there is some effort on it, i imagine, that it would be possible to generally modify twrp in a way so it's able to build against treble source trees with missing vendor source. this would enable twrp to run on virtually any phone which is treble enabled and there would be few to no need to port it for each device, specifically. maybe there would then be versions as in the treble gsi's (arm/64,a/b,...) as well as build variants for alternative display sizes etc.

but i wouldn't even know where to start... :)

i hope i was able to answer your questions. if you decide to stick with the variant in the OP, you should consider downloading and installing the most recent updated build.

best regards