[UNOFFICIAL][ROM][10.0/9.0] LineageOS 17.1/16.0 [violet][Q/PIE]

hcnulma

Senior Member
Feb 25, 2017
61
38
18
Introduction

A spinoff thread from the previously-supported-official thread by Atman.

This thread will contain my unofficial builds for violet. On the 16.0 version, the only real fix (so far...) have been the fingerprint scanner sepolicy denials. I aim to do monthly/bimonthly builds to keep up to date with security patches, as so far I haven't encountered any other issues (let me know).
On the 17.1 version, I have slowly figured out how to make it work, but it is highly experimental.
The 16.0 ROM is stable (I use it as my daily driver).

If you find any bugs, please do take screenshots, give a way for me to replicate it on my device, and send a logcat. If you're super smart, use a logcat and filter for the keyword so I don't have to do even more digging :)

Please don't tell me to use PE/Mokee commits.

Yet another update. I've got 17.1 builds working without having to resort to cheap tricks and commits (sort of).

Flash instructions
Same as usual:
  • Reboot to fastboot and flash recovery with fastboot (You have to use the TWRP linked below. Other versions likely won't boot.)
  • Reboot to recovery TWRP
  • Wipe to format data, wipe again to wipe system and cache (not necessary if you're updating, only if you're switching ROMs)
  • Flash firmware (ADB sideload) (this step is dated. The newer builds have a higher target firmware so you should try to flash without the firmware first, then flash the firmware if the ROM doesn't work.)
  • Flash the ROM (sideload)
  • Flash GApps, Magisk, etc. as necessary
  • Done

Downloads (16.0) (STABLE)

Downloads (17.1)
Here's the 17.1 ROM. Here's the md5 hash. It has the March security patch.

It currently does not boot. If you would like to try and help with development, flash the ROM, and then flash the Chinese Q firmware on top of it (this can be downloaded from xiaomifirmwareupdater). Be warned that there is a risk that the newest android keymaster may re-encrypt your device, which in the worst case may require you to format data and/or reflash recovery and/or flash a fastboot MIUI rom. So, it's a bit risky, but likely won't be an issue.

Credits, Sources, etc.
Too many to mention. Atman Shah for getting this device supported earlier last year. ThE_MarD (Marc Bougoin) for other help. Various other names I've seen - Bruno Martins, Weikai Kong, Wang Han... all of the Lineage dev team. I'm sure I'm missing many people who have been involved in the project. I am new, and very much a latecomer to all of this.
Device Tree: https://gitlab.com/mzha/android_device_xiaomi_violet
Kernel Tree: https://gitlab.com/mzha/android_kernel_xiaomi_violet
Other things see my gitlab: https://gitlab.com/mzha

A telegram group to discuss development for 16.0/17.1: t.me/lineageos_violet

Previous builds
 
Last edited:

e2vinay

Senior Member
Oct 28, 2011
569
243
0
Good to see some devs showing interest on this os
will you be adding any customisation? or does it continue as pure lineage os?
 

e2vinay

Senior Member
Oct 28, 2011
569
243
0
Pure LineageOS. There's more than enough customised ROMs for violet already in my opinion... and I also don't have that much time :p
That's great
by any chance will you consider adding signature spoofing support? that would be really great. it would help many users go for microG instead of gapps

I completely understand you're starter.
great work. good luck.

Thank you
 

ThE_MarD

Senior Member
Dec 10, 2014
2,794
3,266
203
Grande Prairie
Heyyo @hcnulma good to see you got your thread up and going! :)

As for 17.1? You can work with your current kernel and cherry-pick the fixes that other maintainers of violet are using and same for the device tree and vendor blobs.

As an example, LeEco msm8996 devives are using kernel source code from Marshmallow just rebased on a CAF Q Tag for our kernel since we never got anything newer...

Even once Xiaomi release their kernel source code for Android 10? It would probably take quite a bit of work to shave it down to what you specifically need and then importing it on top of a fresh CAF tag for the kernel or even more work to try and inplement it into uour current kernel.

To get official builds of LOS 16.0 going again for violet you would need to show that you are capable of fixing any major bugs that arise as well.

https://wiki.lineageos.org/submitting_device.html

anywho, hope this information helps bud!
 
  • Like
Reactions: andy356 and hcnulma

WallyWest

Senior Member
May 15, 2016
207
59
38
As per OP: I'm waiting on both Android 10 firmware blobs + kernel to be released by Xiaomi... I'm not sure how the other ROM devs get around this, if it's easy to forward-port or not. But for now, only LOS 16.
I am pretty sure you can use the pixel experience device tree and kernel to compile the ROM just like every other rom
 

hcnulma

Senior Member
Feb 25, 2017
61
38
18
Thank you. If he is stable enough I will use it to build RR PIE
It's definitely stable...

I am pretty sure you can use the pixel experience device tree and kernel to compile the ROM just like every other rom
From what I understand, using their kernel tree will mean I'll have to change a lot of references in my own device tree, and using their device tree on top of that is essentially just building PE, not Lineage.

In any case, I did find the Snapdragon 675 (ie sm6150) kernel trees for Q in several places, https://github.com/sm6150-dev/android_kernel_xiaomi_sm6150 and https://github.com/PixelExperience-Devices/kernel_xiaomi_sm6150. I'll take a closer look into this...

I did find the most recent CAF kernel under sm6150 here, but there seems to be an issue of this not showing up in /quic/la... Something will be resolved. Hopefully.
 
Last edited:

WallyWest

Senior Member
May 15, 2016
207
59
38
It's definitely stable...



From what I understand, using their kernel tree will mean I'll have to change a lot of references in my own device tree, and using their device tree on top of that is essentially just building PE, not Lineage.

In any case, I did find the Snapdragon 675 (ie sm6150) kernel trees for Q in several places, https://github.com/sm6150-dev/android_kernel_xiaomi_sm6150 and https://github.com/PixelExperience-Devices/kernel_xiaomi_sm6150. I'll take a closer look into this...

I did find the most recent CAF kernel under sm6150 here, but there seems to be an issue of this not showing up in /quic/la... Something will be resolved. Hopefully.
you won't have to make any changes in the kernel as far as I know and as for the device tree you just have to make some changes according to the ROM
as every ROM uses the same device tree

and you won't be making pe instead of lineage as the same device tree and kernel are used in every Q ROM except EvoX which uses crimson kernel
 
Last edited:

Zjh0094

Senior Member
Apr 28, 2018
218
15
0
It's definitely stable...
Thanks. I will use it as my benchmark to build RR pie.

---------- Post added 15th February 2020 at 12:03 AM ---------- Previous post was 14th February 2020 at 11:57 PM ----------

In any case, I did find the Snapdragon 675 (ie sm6150) kernel trees for Q in several places, https://github.com/sm6150-dev/android_kernel_xiaomi_sm6150 and https://github.com/PixelExperience-Devices/kernel_xiaomi_sm6150. I'll take a closer look into this...

I did find the most recent CAF kernel under sm6150 here, but there seems to be an issue of this not showing up in /quic/la... Something will be resolved. Hopefully.

/quick/la/msm-4.14
 
Last edited:

hcnulma

Senior Member
Feb 25, 2017
61
38
18
you won't have to make any changes in the kernel as far as I know and as for the device tree you just have to make some changes according to the ROM
It is precisely the device tree that I'm worried about. From experience, PE has a lot of platform-specific stuff that Lineage doesn't (and the same the other way), and also from trying to figure out the fix to 16.0 I realised there's a lot of context/definition differences between the two device trees. I'd still give it a look, but I suspect it might be easier to just modify the current 16.0 device tree.

Request to create group for discussion in Telegram
https://t.me/lineageos_violet.

/quick/la/msm-4.14
Yeah I already figured it was msm-4.14. Have already cloned it but am also considering cherrypicking changes that other devs have done to their kernel trees from 16.0 -> 17.1 as opposed to starting with the CAF kernel. A work in progress.
 
Last edited:

himanshu fulmali

Senior Member
Apr 4, 2017
559
108
0
Sir I'm noob but mokee dev released android 10 and i think mokee and los are pretty same, will he not help you if you contact him?
 
Last edited:

hcnulma

Senior Member
Feb 25, 2017
61
38
18
An update on where I am:

I'm not sure whether to use the PE or Mokee vendor trees. Neither of them have much resemblance to 16.0 tree I have so cherry picking changes will be a nightmare.

The PE vendor tree has a lot of device-tree-specific commits, which will make it a headache to untangle later on. The Mokee vendor tree also has a lot of differing firmware files, though is a bit more similar to the LOS tree.

I'm doing a bit of experimentation to figure out which one will last better in the long run, since I can't seem to get my hands on any MIUI Android Q firmware blobs.
 

hcnulma

Senior Member
Feb 25, 2017
61
38
18
An update on where I am:

I'm not sure whether to use the PE or Mokee vendor trees. Neither of them have much resemblance to 16.0 tree I have so cherry picking changes will be a nightmare.

The PE vendor tree has a lot of device-tree-specific commits, which will make it a headache to untangle later on. The Mokee vendor tree also has a lot of differing firmware files, though is a bit more similar to the LOS tree.

I'm doing a bit of experimentation to figure out which one will last better in the long run, since I can't seem to get my hands on any MIUI Android Q firmware blobs.
 

hcnulma

Senior Member
Feb 25, 2017
61
38
18
Yet another update. I've got 17.1 builds working without having to resort to cheap tricks and commits (sort of).

Here's the 17.1 ROM. Here's the md5 hash. Needless to say, it's very experimental, not stable in the least (expect to get past boot maybe 70% of the time) - I'm getting very mixed results when experimenting myself. Nevertheless, try it out, see what you get. Install it the same way as usual. Keen to get as many eyes on this as possible :)
 
Last edited: