• Introducing XDA Computing: Discussion zones for Hardware, Software, and more!    Check it out!

[ROM][UNSTABLE][unlocked][karnak] Lineage-18.1[25 October 2021]

Search This thread

Falcon342

Senior Member
Aug 24, 2020
649
329
I bought a few 2017 and 2018 Fire HD 8's during the pre-xmas sale. I was able to unlock and reflash the 7th gen (douglas) devices. pardon the pun, a flas. Unfortunately, I had to open up the case on the 8th gen's to get the karnak bootloader unlocked, but once I got that process worked out, I was able to load the 18.1 ROM onto them no problem.

But I was a nit surprised when some of my APKs failed to installed. I didn't realize all the 8th gen ROMs, at least those I could find, are only 32 bit. Especially since the ROMs I loaded on my 7th gen models were 64 bit, and the two have nearly identical hardware. Given that they both use the same 64bit CPU, and benchmark the same, I'm actually wondering if these 8th gen models are even worth the extra dollars.

I (now) realize Amazon shipped both models with a 32 bit version of Android, but beyond that, can someone tell me why there isn't a 64 ROM for karnak, like there is for douglas? And what the technical differences are between the douglas and karnak models? They're spec sheets appear identical, so I assume the changes are rather low level.

I apologize if this info I'm seeking is somewhere else, but after a couple hours on Google, I couldn't find any technical answers to these questions.If it does exist, just post a link please!

Here are the Amazon specs for both models. And as far as I can tell, the only difference between them is which version of Android they support:



Oh, and the 2018 models come in various colors.
If i has to guess i would assume its easier to build LineageOS as a 32-bit ROM instead of having to port the drivers, firmware, kernel, etc to 64-bit, but i might be completely wrong.
 

Falcon342

Senior Member
Aug 24, 2020
649
329
Thank-you for this android 11 ROM; for the most part, it works great!
While using it I discovered "Scoped Storage" is something new, and it's a pain.
Is there a way to disable it?
I tried a Magisk module: Scoped Storage Disabler but it doesn't seem to work right.
I also tried a few other methods, but no dice.
I'm trying to copy game files into the 'obb' directory.

Thank-you,
Mike F.
Simple File Manager seems to be able to request your permission to access "Android/data" and "Android/obb" with no issues. (i didnt test that on this ROM, but i did test it on Android 11)
 

kingladar

Member
Nov 3, 2016
8
3
If i has to guess i would assume its easier to build LineageOS as a 32-bit ROM instead of having to port the drivers, firmware, kernel, etc to 64-bit, but i might be completely wrong.
My first throught was the Android 11 ROM was built as a 32 bit ROM because the CPU didn't support the new features in Android 11 which require hardware support. Only I quickly realized all of the ROMs that have been posted for karnak are 32 bit.

If it's a question of BLOBS, the OS can be 64 bit, even if the drivers/blobs are 32 bit. It should just involve changing a few flags, and remapping a few pointers inside the build config. I'm tempted to try, but I have enough projects on my plate already. I bought these as cheap test devices, and for use as low power, network monitoring bots, IoT remote controls, etc. I ned to be careful I don't fall down the rabbit hole to far.

So I thought I'd post, and ask the question? It feels like an even bigger mystery to me given this work has already been done for the almost identical, and less popular, douglas variant. The douglas tablets also shipped with a 32 bit ABI.
 
  • Like
Reactions: Reynald0
My first throught was the Android 11 ROM was built as a 32 bit ROM because the CPU didn't support the new features in Android 11 which require hardware support. Only I quickly realized all of the ROMs that have been posted for karnak are 32 bit.

If it's a question of BLOBS, the OS can be 64 bit, even if the drivers/blobs are 32 bit. It should just involve changing a few flags, and remapping a few pointers inside the build config. I'm tempted to try, but I have enough projects on my plate already. I bought these as cheap test devices, and for use as low power, network monitoring bots, IoT remote controls, etc. I ned to be careful I don't fall down the rabbit hole to far.

So I thought I'd post, and ask the question? It feels like an even bigger mystery to me given this work has already been done for the almost identical, and less popular, douglas variant. The douglas tablets also shipped with a 32 bit ABI.

@Kaijones23 tried it as I remember on LOS14. But it resulted in Bootloops.
The Hardware between douglas and karnak is almost similar, but they run diffrent Fire OS. Douglas runs on FireOS 5 (5.1 Lolipop) and Karnak runs on FOS 7 (9 Pie).
I guess they removed from 5 to 6 everything Kernelside to not support 64bit at all for a reason?
I think its possible to run 64 OS on 32 BLOPS, but in this case it requires a lot of Kernel rewrite and trial/error.
 

Rortiz2

Senior Member
Mar 1, 2018
2,256
1,549
Barcelona
@Kaijones23 tried it as I remember on LOS14. But it resulted in Bootloops.
The Hardware between douglas and karnak is almost similar, but they run diffrent Fire OS. Douglas runs on FireOS 5 (5.1 Lolipop) and Karnak runs on FOS 7 (9 Pie).
I guess they removed from 5 to 6 everything Kernelside to not support 64bit at all for a reason?
I think its possible to run 64 OS on 32 BLOPS, but in this case it requires a lot of Kernel rewrite and trial/error.
We actually booted 64 bit LineageOS 14.1 on karnak (using blobs from some Asus MT8163 tab). However, almost nothing worked.
 
Last edited:
  • Like
Reactions: FreakyyLike

kingladar

Member
Nov 3, 2016
8
3
Cat anyone provide up-to-date instructions for compiling the 18.1 ROM forkarnak? I think there are steps I'm missing and/or something is missing from the GitHub repos. For example, I can't find the manifest with the linaro tool chain. But there are other issues. Like the mt8163/android_kernel_mediatek_mt8163_4.9 repo has no lineage-18.1 branch. So I'm not sure if it was never committed, it isn't needed, or it's identical to lineage-17.1.

It almost feels a like some of the changes weren't committed/pushed., or perhaps there is some other build process/script that I haven't found, or isn't on GitHub.

I've tried a number of different strategies, but at the moment I have the following device_manifest.xml file:

XML:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
    <!-- Device Tree -->
    <project name="mt8163/android_device_amazon_karnak" path="device/amazon/karnak" remote="github" revision="lineage-18.1"/>

    <!-- Kernel sources -->
    <project name="mt8163/android_kernel_amazon_karnak_4.9" path="kernel/amazon/karnak" remote="github" revision="lineage-18.1"/>
    <project name="mt8163/android_kernel_mediatek_mt8163_4.9" path="kernel/mediatek/mt8163/4.9" remote="github" revision="lineage-17.1"/>

    <!-- Vendor trees -->
    <project name="mt8163/android_vendor_amazon_karnak" path="vendor/amazon/karnak" remote="github" revision="lineage-18.1"/>
    <project name="mt8163/android_vendor_amazon_mt8163" path="vendor/amazon/mt8163" remote="github" revision="lineage-18.1"/>
    <project name="mt8163/android_vendor_raffy" path="vendor/raffy" remote="github" revision="lineage-18.1"/>
</manifest>

And I've recently tried pulling in the linaro tool chain with variations on this linaro_manifest.xml file:

XML:
<?xml version="1.0" encoding="UTF-8"?>
<manifest>
  <!-- Repositories -->
  <!-- Linaro Repositories -->
  <remote name="linaro-android" fetch="git://android-git.linaro.org/" />
  <!-- Linaro Toolchains -->
  <project name="prebuilts/gcc/linux-x86/aarch64/gcc-linaro-7.3.1-2018.05-x86_64_aarch64-linux-gnu" path="prebuilts/linaro/linux-x86/aarch64/aarch64-linux-gnu" remote="linaro-android" revision="master" />
</manifest>

As for build commands, the simplified version would be:

Bash:
mkdir -p $HOME/temp && mkdir -p $HOME/cache && mkdir -p $HOME/android/lineage
cd $HOME/android/lineage
git config --global user.name "Build Robot"
git config --global user.email "[email protected]"
git config --global color.ui false
repo init -u git://github.com/LineageOS/android.git -b lineage-18.1 -g default,-darwin
mkdir -p .repo/local_manifests/
cp $HOME/device_manifest.xml .repo/local_manifests/
cp $HOME/linearo_manifest.xml .repo/local_manifests/
repo sync --jobs=32
export USE_CCACHE=1
export CCACHE_COMPRESS=1
export CCACHE_DIR="$HOME/cache"
export ANDROID_JACK_VM_ARGS="-Dfile.encoding=UTF-8 -XX:+TieredCompilation -Xmx4G"
source build/envsetup.sh
rm -rf out/target/product/karnak/obj/KERNEL_OBJ/.version
rm -rf out/target/product/karnak/obj/KERNEL_OBJ/.config.old
lunch lineage_karnak-userdebug
cmka
 
  • Like
Reactions: Reynald0

rbronco21

Member
Dec 3, 2015
25
0
I've gone back and forth from your 14.1 and 16.0 ROMs with some success. What are the advantages and disadvantages of 18.1? My daughter currently uses it for kid games and some games stop or don't even load. I'd try this out in a second if it didn't mean facing the wrath of a 4yo.
 

Falcon342

Senior Member
Aug 24, 2020
649
329
I've gone back and forth from your 14.1 and 16.0 ROMs with some success. What are the advantages and disadvantages of 18.1? My daughter currently uses it for kid games and some games stop or don't even load. I'd try this out in a second if it didn't mean facing the wrath of a 4yo.
Currently everything seems to be stable expect the codec issue(s) which is probably why some games are having issues, i suggest staying on 16.0 for now.
 
  • Like
Reactions: rbronco21

Top Liked Posts

  • There are no posts matching your filters.
  • 1
    Hello,

    Thank you for this ROM. I love it. But I am a little bit confused.

    I want to install Netflix and Disney+ from the play store. But I can't find the apps. In the web version of play store, it says there are no compatible devices.

    I downloaded the Netflix app from the official Netflix page. After installing the app stopped due incompatibility.

    Best regards
    You are probably not gonna find Netflix and Disney+ in the Play Store due to being uncertified, unlocked bootloader,

    If your refering to this version: https://help.netflix.com/en/node/57688 that would be because that version is currently only compatible with "an Android version between 4.4.2 and 7.1.2"

    I would suggest getting the apps you cant find in the Play Store app from Aurora Store or apkmirror.

    1
    Thanks for all the work on this! I flashed this to my hd8 a couple weeks ago. Not sure if I have the wrong Gapps or what (should be using Gapps 11 with 18.1-20211028-UNOFFICIAL-karnak, right?). Typing any text at all results in 3-4-many random characters being injected into the text field with each "key press". I disabled auto-correct and auto-fill and that seems to have fixed it. Also Brave and Firefox crash after a minute or so when playing back video on youtube. I have a logcat (https://pastebin.com/56cexaiP) which I tried to capture as far back as "normal" playback was happening. If someone could have a look and let me know if this is "normal"? I read something in this thread about codec issues but not sure it's related.
    Gapps 11 should be the correct version, no idea why there is random characters being injected maybe try a different keyboard,

    There is still some codec issue(s?) so thats probably why your web browser is crashing,
    I have found NewPipe with the "Default video format" set to WebM or using a invidious instance works most of the time.
    1
    Gapps 11 should be the correct version, no idea why there is random characters being injected maybe try a different keyboard,

    There is still some codec issue(s?) so thats probably why your web browser is crashing,
    I have found NewPipe with the "Default video format" set to WebM or using a invidious instance works most of the time.
    Thanks again! Installed NewPipe (what a great app!) and set to WebM. Playing videos just fine now.

    I'll check into a different keyboard if I run into more issues.
    1
    If i has to guess i would assume its easier to build LineageOS as a 32-bit ROM instead of having to port the drivers, firmware, kernel, etc to 64-bit, but i might be completely wrong.
    My first throught was the Android 11 ROM was built as a 32 bit ROM because the CPU didn't support the new features in Android 11 which require hardware support. Only I quickly realized all of the ROMs that have been posted for karnak are 32 bit.

    If it's a question of BLOBS, the OS can be 64 bit, even if the drivers/blobs are 32 bit. It should just involve changing a few flags, and remapping a few pointers inside the build config. I'm tempted to try, but I have enough projects on my plate already. I bought these as cheap test devices, and for use as low power, network monitoring bots, IoT remote controls, etc. I ned to be careful I don't fall down the rabbit hole to far.

    So I thought I'd post, and ask the question? It feels like an even bigger mystery to me given this work has already been done for the almost identical, and less popular, douglas variant. The douglas tablets also shipped with a 32 bit ABI.
    1
    @Kaijones23 tried it as I remember on LOS14. But it resulted in Bootloops.
    The Hardware between douglas and karnak is almost similar, but they run diffrent Fire OS. Douglas runs on FireOS 5 (5.1 Lolipop) and Karnak runs on FOS 7 (9 Pie).
    I guess they removed from 5 to 6 everything Kernelside to not support 64bit at all for a reason?
    I think its possible to run 64 OS on 32 BLOPS, but in this case it requires a lot of Kernel rewrite and trial/error.
    We actually booted 64 bit LineageOS 14.1 on karnak (using blobs from some Asus MT8163 tab). However, almost nothing worked.
  • 22
    7652ffeccaa6bbdcda57289d991b093d.gif
    Disclaimer
    Code:
    /*
    * This ROM will eat your cat
    * 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 the products you find here before flashing it!
    * YOU are choosing to make these modifications.
    */

    LineageOS is based on the Android Open Source Project with extra contributions from many people within the Android community. All the source code for LineageOS is available in the LineageOS Github repo. And if you would like to contribute to LineageOS, please visit Gerrit Code Review.

    - This ROM only works with unlocked Fires!

    Rules
    - Please search the thread before asking questions
    - Please report bugs here
    - Report only one issue per bug report
    - When reporting bugs please post a logcat and/or dmesg if possible

    Prerequisites for Installation
    - Unlocked Bootloader
    - TWRP Installed

    Install/Upgrade the ROM
    - Boot to TWRP
    - Go to wipe and wipe: system, data, cache
    - Go to install and flash ROM.zip
    - Flash G-APPS (Optional)
    - Reboot

    Downloads
    Lineage-18.1- for Amazon Fire HD 8" 2018
    G-APPS (ARM)

    Source Code
    - Kernel Source: https://github.com/mt8163/android_kernel_amazon_karnak
    - Device Tree: https://github.com/mt8163/android_device_amazon_karnak/

    XDA:DevDB Information
    Lineage-18.1 for Fire HD8 (karnak), ROM for the Amazon Fire HD 8 and HD 10

    Contributors
    Kaijones23, Rortiz2, t0x1cSH, k4y0z
    ROM OS Version: Android 11
    ROM Kernel: Linux 4.x

    Version Information
    Status:
    Testing
    Current Beta Version: 0.1
    Beta Release Date: 2021-10-28

    Created 2020-10-25
    Last Updated 2021-10-28
    6
    Worklist / Tasks

    - [Fixed] Codecs not working
    - [Fixed] Camera not working
    - [Fixed] switch to userdebug build
    - [Fixed] Fixed glitches in the codecs
    - [Fixed] persistent notification from "Android System"
    - [Fixed] Live Display Flickering
    - [Fixed] fix Codecs fdsan being crashed.
    - [Fixed] Updated Signature spoofing To Pixel 5
    - [todo] Fix Camera Dim in Recording Mode
    - [todo] Make graphics smoother
    6
    Released the update for Fixing livedisplay issues by adding the vendor hal with the lineage
    4
    When "Advanced restart" is enabled and I use the reboot to recovery option it hangs on the Amazon screen with "=>RECOVERY Mode..." in the bottom left corner.
    do you have the latest twrp? if not you can download here
    4
    Well the glitching seems to be gone but instead the apps that were glitching before now just wont play content,

    I attached a adb logcat below (used Newpipe to recreate the error
    i would use vandced instead of newpipe temporary until we work on fixing the issues