BlackBerry Key2 & Key2LE

Requirements

NOTE: The tutorial is meant for the blackberry key2(le) but will work for other android devices.

You have ADB and fastboot installed

Your device is running LineageOS, if it's not see the article below

Version 11142 of the APatch app is installed.

apatch version 11219 is known to cause a bootloop on the Key2(LE) don't update to it!!!

Patching boot.img

Get the boot.img from the rom you currently have installed and copy it to your devices's internal storage

Open the APatch app and select the left most icon in the top bar

Press 'Select a boot image to patch' and point it to your boot.img file

Enter a password into the SuperKey box

NOTE: Make sure to write it down somewhere as you will need it later

Move the .img file it output to you computer.

Flashing APatch

Power off your phone.

Once you phone is fully powered off hold the power and volume down buttons until the bootloader is shown.

Connect your phone to your computer

Run the following commands:

  • fastboot flash boot /path/to/apatch_patched_<random_text>.img
  • fastboot reboot

Once the device finishes booting open the APatch app

Enter your SuperKey you set earlier into the superkey box then select 'Install Android Patch'

Flashing Modules

Download Integrity-Box from here, you need '<version>-Integrity-Box-<DD>-<MM>-<YYYY>.zip'.

Download NeoZygisk from here, you need 'NeoZygisk-<version>-release.zip'.

Download TEESimulator from here, you need 'TEESimulator-<version>-Release.zip'.

Open APatch and enter the APModule tab. (second from the right)

Press the floating button, it will open a file browser, open one of the downloaded zip files.

Once the restart button appears press the back key. DO NOT PRESS RESTART.

If you get a /data/adb/apd: inaccessible or not found error reboot you phone then try again

Repeat the previous to instructions until you have installed all 3 downloaded zip files.

Reboot device and once it finishes open the APModule tab again

On the card for .Integrity Box tap the 'Action' button

(Optional): Configure Integrity Box, you can open it's configuration utility by pressing the 'Open' button on it's card in APModule

If you need to hide all system modifications from an app go into APatch's superuser(center) tab and tap on the app's name then enable the 'Exclude modifications' toggle.

What is the difference between the rom variants?

LOS 22.2-Kernel 4.4 is the most stable version, and is almost at parody with stock in terms of features, but the worst performance.

NOTE: LOS 23.2-kernel 4.19 is unmaintained, don't use it

LOS 23.2-Kernel 4.19 has the latest android version and slightly better performance but is much more buggy and is missing features, GPU performance and battery can be much worse because of how much heavier android 16 is.

LOS 22.2-Kernel 4.19 has the newer kernel from LineageOS 23.2 meaning you get the significant performance and battery improvements from it's kernel without the heavier android version, it will replace LOS 22.2-kernel 4.4 as the stable version at some point.

The Key2LE's android 15 port is based on the Key2's LOS 22.2-kernel 4.4 variant, but it will move to LOS 22.2-kernel 4.19

Is performance better than android 8.1?

Yes! The combination of optimizations from newer android and lighter weight rom can make it noticeably faster, even on android 15 with kernel 4.4

Though becuase of it being an older mid-range phone it does heavily depend on what apps you have installed

Will I get timely security updates

On ZKrab roms you will get them within about a week. You will not get any on Alpha/Beta roms.

How long does the install take?

Around 20min to an hour, if you don't have an issues.

Will this keep any of my data from the stock rom?

No.

Will this LineageOS port ever be made official?

It's not currently a goal, but it could happen!

This port currently uses framework patching to fix certain things, which is not allowed in official ports,

it also has some code and implementation cleanup that may need to be need to be done because of AI use.

Do keyboard touch gestures still work on the Key2?

Yes! Scrolling is still a little weird in some apps but you can disable it with a Quick Settings button.

Gestures when editing text work exactly the same as on android 8.1 if you use Krab-Ubica's version of BlackBerry keyboard.

Do banking apps or google wallet work?

It depends on the banking app, some banking apps will work and some will need play integrity spoofing to work,

google wallet needs play integrity spoofing to work at all.

NOTE: Setting up play integrity spoofing may not fix your banking app,

the modules set linked here is not perfect and you may need different ones for your app to work

What is the difference between the ROMs here and on CrackBerry?

The ROMs linked here are the builds put out by the rom developers, the one on CrackBerry is the Key2's android 16 rom with a newer android security patch.

Will versions of android older than 15 ever be ported?

No. But if you want to try the source code is available.

Who are the rom developers?

Key2: zzach(zapaca) Krab-Ubica Previously: BotchedRPR

Key2LE: zzach(zapaca) Previously: BotchedRPR

Who runs this website, is it official?

This website is run completely by Luna-Terra.

It's not technically official, but it's endorced by both current rom developers and the previous rom developer BotchedRPR.

I want to contribute, where is the source code?

Key2: Kernel 4.4 https://github.com/orgs/Lineage-BBKey2, Kernel 4.19 https://github.com/tim-ecoder/lineageos_blackberry_athena

Key2LE: https://github.com/Lineage-BBKey2LE

Where can I contact the rom developers, the website writer, or report bugs?

On the BlackBerry Android hideout discord server! https://discord.gg/BuJURQD6Qb

Requirements

NOTE: If you have any questions or issues ask in the BlackBerry Android hideout discord server, the invite is https://discord.gg/BuJURQD6Qb

A Windows or linux computer

You have the android platform tools installed, if you don't you can get them for windows here and on linux it's packaged as either android-tools or android-sdk-platform-tools

(Windows): You have the BlackBerry USB drivers installed

NOTE: If you don't know the path of a file you can drag it from your filemanager into a terminal window

NOTE: LOS 22.2 = Android 15, LOS 23.2 = Android 16

If your bootloader is already unlocked skip to the flashing lineageos section

Stock Firmware Preparation

Remove your lockscreen password and google account from your device

If the option to remove you passcode or google account is grayed out factory reset from settings

If you do not remember your password put in random passwords until the device automatically factory resets, then follow theses instructions from the device setup.

For the Key2 (Athena) download the ACQ160 Autoloader.

For the Key2LE (Luna) download the ACT575 Autoloader.

Power off your device then boot into the bootloader, you do so by holding volume down and the power button until this green menu appears.

You now need to flash the autoloader, to do so extract the downloaded 7z file and run the included 'flashall.bat' file

NOTE: A linux version of the flashall.bat script is available here.

If you get any error: cannot load messages you can ignore them.

The phone will now reboot to either the android 8.1 setup, an 'Error!' screen or the bootloader. It does not matter which.

Reboot to the bootloader then run flashall.bat again

Power off your device then boot into the bootloader.

Unlocking the bootloader (Windows)

Download the windows unlock tool from here and extract the zip file, if you don't already have it you may need to install the microslop VC++ redists.

Open the unlock tool.

Press the scan in the upper right corner, once your device is found press the 'Unlock BootLoader' button

NOTE: The progress bar will stay at 75% even after the unlock finishes

If the unlock was successful, on the phone MODE: will change from PRODUCT to FACTORY

Power off you device

Unlocking the bootloader (Linux)

Download kibo from Bochenek's github page and extract the zip file you downloaded.

Mark the kibo binary included with the zip file as executable.

Open a terminal where kibo is located and run ./kibo unlock

If the unlock was successful, on the phone MODE: will change from PRODUCT to FACTORY

Power off you device

Flashing LineageOS

Alpha and beta builds are *NOT* ready for daily use and are for TESTING PURPOSES ONLY.

NOTE: If are going to put your sim card in it or aren't sure which variant you want, use LOS 22.2-kernel 4.4

If you have a Key2 (Athena) download the latest build of your preferred rom variant

If you have a Key2LE (Luna) download the Key2LE version of LOS22.2 build ZKrab-v1.10a.

The package for gapps(Google Services) is not included with the rom download, if you want them you will need to download it seperately.

The recommended gapps package for LineageOS 22 is MindTheGapps 15, and MindTheGapps 16 for LineageOS 23.

Once your rom download finishes extract the .zip file

Open a terminal/command prompt where you extracted the zip to

Boot into the bootloader by holding volume down and the power button.

Run the following commands:

  • fastboot -w
  • fastboot flash recovery /path/to/recovery.img
  • fastboot flash boot /path/to/recovery.img
  • fastboot reboot

NOTE: You need to flash recovery to the boot partition because fastboot reboot recovery doesn't work :p

NOTE: You navigate the recovery by using the volume keys to move the cursor and the power button the select.

Once the recovery menu appears select Advanced -> Enable ADB

From a computer run adb shell wipe-frp

Then select 'Apply update' -> 'Apply update from adb'

NOTE: If your flashing android 16 you need to cancel out of the apply update menu then go back in for it to work

NOTE: The zip file you need to sideload is the one *inside* of the LOS zip file you just downloaded

If you are using a ZKrab rom run adb sideload /path/to/lineage-22.2-<date>-UNOFFICIAL-<version>-<codename>.zip

and if you have a rom that's in alpha/beta run adb sideload /path/to/lineage-<lineageVersion>-<date>-UNOFFICIAL-krab-<version>-athena.zip

If you have any additional zips to flash(ie: gapps, magisk) go into 'Apply update' -> 'Apply update from adb' and run adb sideload /path/to/package.zip, once the signature verification failed message appears select yes.

If you get a not enough space on system partion error when flashing gapps go into 'Factory reset/Format data' and format the system partition, then re-sideload LineageOS and gapps.

Select the 'Reboot system'

If you get set back to recovery and sideloading the rom again does not fix it you may have a 'bcb recovery' unit, to get around that boot into the bootloader and run fastboot flash recovery boot.img

NOTE: The first boot can take up to 10-15 minutes

(Optional) Download a keyboard app that supports the physical keyboard from the Apps & Tweaks article

(Optional, alpha/beta builds) Once you have finished the setup set the IME switcher shortcut to Alt + Enter in Settings -> System -> BlackBerry keyboard,

doing this makes the SYM key work properly instead of opening the keyboard switcher.

Requirements

You have ADB and fastboot installed

NOTE: You cannot update from builds below v1.1B(Key2) or 20260606(Key2LE) without wiping you data because of encryption changes.

Your updating to a rom of the *same* varient, if not follow the 'Flashing LineageOS' section of the install guide.

If you need to downgrade you can do so with the recovery update method.

NOTE: You cannot downgrade to versions under ZKrab-1.9a(Key2) or ZKrab-1.4a(Key2LE) without wiping your data because of the July 2026 security update

If you are on v1.8a or lower and are updating to ZKrab-v1.9a or higher make sure the k2prodfix magisk module is removed, it's changes where merged into the rom.

Updating via OTA update

Only LOS 22.2-Kernel 4.4 builds above ZKrab-v1.9a(Key2) and 20260606(Key2LE) support OTA updates!!!

NOTE: You will get a notification when a new build get released, updating this way does not keep root

Go to Settings -> System -> System Update

Click the 'Download' text for the latest update.

If there are multible update you only need to install the latest one

Once the download finishes press the 'Install' text

Then press 'Ok" to reboot and install the update.

Updating via recovery

If you have a Key2 download the latest build for your rom variant

If you have a Key2LE (Luna) download the Key2LE version of LOS22.2 build ZKrab-v1.10a.

Once your rom download finishes extract the .zip file

If your phone is rooted patch the boot.img file included with the new build.

Power off you device then hold volume down and power until the bootloader menu is shown

Open a terminal/command prompt where you extracted the zip to

Run the following commands:

  • fastboot flash recovery /path/to/recovery.img
  • fastboot flash boot /path/to/recovery.img
  • fastboot reboot

If your switching to a different version select 'Factory Reset' -> 'Format data / factory reset'

Select 'Apply update' -> 'Apply update from adb'

NOTE: If your flashing android 16 you need to cancel out of the apply update menu then go back in for it to work

NOTE: The zip file you need to sideload is the one *inside* of the LOS zip file you just downloaded

If you are using a ZKrab rom run adb sideload /path/to/lineage-22.2-<date>-UNOFFICIAL-<version>-<codename>.zip

and if you have a rom that's in alpha/beta run adb sideload /path/to/lineage-<lineageVersion>-<date>-UNOFFICIAL-krab-<version>-athena.zip

If you have google services installed go into 'Apply update' -> 'Apply update from adb' and run adb sideload /path/to/gapps.zip once the signature verification failed messages appears select yes.

If it's not rooted select 'Reboot system'

If your rooted select 'Advanced' then 'Reboot to bootloader', once the bootloader appears flash your modified boot.img file and boot up the system.

Key2: LOS 23.2-Kernel 4.19

Tested:

  • Boots to OS: OK
  • Screen+touch: OK
  • USB + adb: OK
  • Wi-Fi: OK
  • Sound: OK
  • Bluetooth: OK
  • Encryption: OK
  • Keyboard: OK
  • Voice calls: OK
  • Camera: OK
  • Keyboard-backlight: OK
  • Keyboard-touch: OK
  • Mobile-hotspot: OK
  • Notificaiton led: OK
  • Fingerprint: OK
  • LTE: OK
  • NFC: OK
  • VOIP: OK
  • HDR+ OR GCAM88: OK
  • WIRED HEADSET: TESTING
  • Haptics/Vibro: TESTING

Recheck:

  • First shot FP/USB ignored at deep-sleep;
  • Slow wake-up after deep-sleep;

Known bugs:

  • (minor) Yellow flashlight-torch
  • (minor) Haptic/vibro is not accurate on volume and brightness change
  • (medium) Haptic/vibro is less powerfull;

Todo:

  • Good solution for Synaptics LCD colors/saturation
  • NFC driver/hal upgrade
  • Haptic driver to led upgrade

Investigation:

  • USB-C storage device not detected during Lineage setup/Seedvault restore (was detected on LOS 22.2)
  • Slight UI app-transition freezez;
  • BT/VOIP after voip-call music volume lowers;

2.0G May 21 2026 PUBLIC ALPHA

FIXED: BT-sound lags upon device unlock (every time after going into deep-sleep for the first time);

FIXED: Nav-buttons backlight turn-off on good-light conditions;

2.0F May 19 2026 PUBLIC ALPHA

Fixed: Convenience key;

Fixed: Wi-Fi disabled upon device sleep;

Fixed: Low-latency pin entering on unlocking;

Fixed: Slow LCD enabling after sleep;

2.0E May 04 2026 PUBLIC ALPHA

Fixed: Device hang on blackberry screen upon reboot (sometimes);

Low performance and lags after wake from sleep;

TRY-FIX: Gcam88 camera hangs-up device under load;

TRY-FIX: BT-sound lags under cpu pressure;

Haptics/Vibro more precise (but not as accurate as needed);

Performance and memory tunings;

2.0D Apr 30 2026 PUBLIC ALPHA

Fixed. K12KB: Back-button not work in text inputs;

Voip better;

ired head-set sound fixed;

Fixed: Virtual nav-buttons settings toggle;

TRY-FIX: Gcam88 preview freeze on some boots;

Fixed: Keyboard-press was waking device;

Led breathing and setting fixed;

Keyboard backlight timeouts controlled both with nav-btns;

Swappiness 60->100 (better swap->zram usage);

Low-light adaptive brightness flickering fixed;

NFC better;

2.0C Apr 25 2026 PUBLIC ALPHA

USB-OTG and MMC-flashes, including exFAT, NTFS;

Recovery activated restore "choose from disk";

USB mode changes via preferences unlocked;

Camera fixed (was broken by selinux);

Fingerprint better;

GPS better;

Darkening GUI-colors on Synaptics LCD temporary hacky fix;

VOIP better;

Laggy wakeups/Deep sleep better;

Shed/CPU freq scaling better tnx @Wumbomumbo;

Keyboard-backlight from LOS22-krab-v1.8 tnx @Sadako

2.0B Apr 17 2026 PUBLIC ALPHA

recovery adb sideload fixed;

Unlocking performance issue fixed;

Selinux: enforced

2.0A Apr 16 2026 PUBLIC ALPHA

Android 16 and kernel 4.19

Key2: LOS 22.2-Kernel 4.19

1.20F Jul 29 2026 PUBLIC BETA

FIXED: Youtube video scratches (HW video decoder activated) that refixed 1080p60 in proper way

shed_boost disabled, was draining battery too much (previosly shed_boost was enabled to 1080p60 fixing)

FIXED: GPU erros in logcat (more recent GPU blobs from x00td)

Memory management tunings: swapiness 60, low-memory-killer (lmk PSI mode)

Powerhint tunings for low_power_mode

FIXED: Wired headset sound while voice-call

DT2W is working

Todo: Good solution for Synaptics LCD colors/saturation

Todo: Suppress "Serial console enabled" warning

1.20E Jun 06 2026 PUBLIC BETA

Fixed: Shed/powerhint spamming in logcat;

Fixed: Aperture camera crash on taking shot;

Better: Shutter 1080p60

Fixed: qwertz/qzerty

Swappiness 100

Todo: Good solution for Synaptics LCD colors/saturation

Todo: Suppress "Serial console enabled" warning

1.20D May 22 2026 PUBLIC BETA

Mobile-hotspot fixed;

Wired-headset on VOIP fixed;

Battery and performance tunings;

Todo: Good solution for Synaptics LCD colors/saturation

Todo: Suppress "Serial console enabled" warning

1.20C May 22 2026 PUBLIC ALPHA

May security patches

VOIP fixed

Fixed: Haptic logcat errors

Todo: Good solution for Synaptics LCD colors/saturation

Todo: Suppress "Serial console enabled" warning

1.20B May 21 2026 PUBLIC ALPHA

FIXED: BT-sound lags upon device unlock (every time after going into deep-sleep for the first time)

Todo: Good solution for Synaptics LCD colors/saturation

Todo: Suppress "Serial console enabled" warning

1.20A May 19 2026 PUBLIC ALPHA

Update to linux kernel 4.19 from 4.4

Significant battery life improvements;

Gcam stability improvements;

Todo: Good solution for Synaptics LCD colors/saturation

Key2: LOS 22.2-Kernel 4.4

ZKrab-v1.10A Aug 04 2026

Enable FM radio and add Qualcomm FM Radio app

Enable formatting external storage (SD card) as adoptable storage (Settings/Storage/[SD card]/Format/Format another way) - Not recommended unless you absolutely need more app storage space!

Disable AAC codec for known problematic Bluetooth devices, add problematic BMW Bluetooth OUI prefix to disable-AAC list

Increase screen brightness threshold for adaptive keyboard backlight shutoff (from ~70% to ~80% on screen brightness slider)

Decrease adaptive backlight floor for navigation buttons (from 0.1-1.0 to 0.01-1.0 screen brightness mapping)

FIXED: Phone earpiece and voice assistant/"Hey Google" intermittently not working when the latter is enabled

FIXED: Yellow flashlight/torch (now white like on stock BB Android 8.1)

Revert kernel charging configuration back to stock BB Android 8.1

August 2026 Android platform security patch

ZKrab-1.9A Jul 24 2026

Set updater URL to Github Lineage-BBKey2/distribution repository for future OTA updates

July 2026 Android platform security patch

Enable installing unmodified Blackberry Keyboard app from an apk or from: https://play.google.com/store/apps/details?id=com.blackberry.keyboard (thanks to wumbomumbo for contribution)

Update brand, device, manufacturer, model names to blackberry, bbf100, Blackberry, KEY2 (matches closer to stock firmware, allows unpaid use of BlackBerry Hub+ apps, avoids model showing as "BlackBerry Blackberry KEY2" in some cases) (thanks to wumbomumbo for contribution)

More gradual control of media, call, ring, notification volumes (double previous number of volume increments) (thanks to wumbomumbo for contribution)

Add extra frame buffer to reduce UI animation stutter (increased input latency might be noticed) (thanks to wumbomumbo for contribution)

Bluetooth A2DP hardware offload enabled (actual functionality not confirmed) (thanks to wumbomumbo for contribution)

IME Switcher: Make Alt+Enter the default (if updating from Krab-v1.8a you will need to correct your preference in Settings/System/Blackberry keyboard)

Unlock device by entering PIN with physical keyboard (no ALT key needed, no swiping up to reveal PIN entry page needed, can disable in Blackberry Keyboard Settings) (thanks to nozerorma for the idea in key2-tweaks app)

Enable/disable adaptive keyboard and navigation button backlight in Blackberry Keyboard Settings

Currency key on QWERTZ and AZERTY keyboards now produces Euro symbol

Default ZRAM size increased from 1 GB to 3 GB

Default ZRAM swappiness decreased from 100 to 60

Enable lz4 ZRAM compression in kernel config (default compression algorithm is still lzo)

Introduce method to choose ZRAM compression algorithm with adb root commands (see "Choose ZRAM Compression Algorithm" section in discord announcement)

1.8A Apr 25 2026

Keyboard-blacklight Sadako's algo implemented,

Car-bt: music - voice-call glitches try-fix

1.7A Apr 17 2026

5Ghz hotspot,

Camera black preview sometimes

1.6A Apr 14 2026

April 01 security patches,

qwertz/azerty fix re-applied,

Lokker app v1.2a updated performance,

K12KB app v3.1c updated performance,

GPS/xtra fixes,

Wi-Fi micro enhancements (NOT WPA3)

1.5C Apr 03 2026

March 01 security patches,

Camera stability - less crashes,

qwertz/azerty fixed - retail kl/kcm behavior,

Keyboard settings -> show virtual keyboard toggle,

Lokker app v1.1 updated,

Widevine L3 OK, L1 Widevide disabled (will not work)

1.4A Mar 29 2026

NFC fixes,

Battery drains on heavy renderings,

QWERTZ, AZERTY fixes

1.3A Mar 25 2026

Voip fix (tested on Telegram),

Svindleds speakers in-call changes fix,

Touchpad-pagings sensivity -10%, inertion +10%,

App-links domains verification auto-approve (for microg)

1.2A Mar 19 2026

Bugfix capacitive nav-buttons toggling,

Keyboard and nav-btns backlight adaptive levels,

Custom-keyboard preferences rearranged,

Keyboard touch paging mode sensivity decreased

1.1B Mar 17 2026

Selinux enforcing,

Encryption,

Dt2w, button fixes on syna and focal,

Volume curve fixes,

RCS HAL crash fix,

Bluetooth mac address loader,

Touch keypad now usable,

Keyboard working on all apps,

Wifi hotspot fixes,

Init fixes,

Lineage KeyDisabler support,

USB init fix,

USB tethering fix

Key2LE: Android 15

ZKrab-v1.10a Aug 04 2026

Enable FM radio and add Qualcomm FM Radio app

Enable formatting external storage (SD card) as adoptable storage (Settings/Storage/[SD card]/Format/Format another way) - Not recommended unless you absolutely need more app storage space!

Disable AAC codec for known problematic Bluetooth devices, add problematic BMW Bluetooth OUI prefix to disable-AAC list

Increase screen brightness threshold for adaptive keyboard backlight shutoff (from ~70% to ~80% on screen brightness slider)

Decrease adaptive backlight floor for navigation buttons (from 0.1-1.0 to 0.01-1.0 screen brightness mapping)

FIXED: Phone earpiece and voice assistant/"Hey Google" intermittently not working when the latter is enabled

FIXED: Yellow flashlight/torch (now white like on stock BB Android 8.1)

August 2026 Android platform security patch

ZKrab-v1.9a Jul 25 2026

Enable installing unmodified Blackberry Keyboard app from an apk or from: https://play.google.com/store/apps/details?id=com.blackberry.keyboard (thanks to wumbomumbo for contribution)

Update brand, device, manufacturer, model names to blackberry, bbe100, Blackberry, KEY2 LE (matches closer to stock firmware, allows unpaid use of BlackBerry Hub+ apps, avoids model showing as "BlackBerry Blackberry KEY2 LE" in some cases) (thanks to wumbomumbo for contribution)

More gradual control of media, call, ring, notification volumes (double previous number of volume increments) (thanks to wumbomumbo for contribution)

Add extra frame buffer to reduce UI animation stutter (increased input latency might be noticed) (thanks to wumbomumbo for contribution)

Bluetooth A2DP hardware offload enabled (actual functionality not confirmed) (thanks to wumbomumbo for contribution)

Unlock device by entering PIN with physical keyboard (no ALT key needed, no swiping up to reveal PIN entry page needed, can disable in Blackberry Keyboard Settings) (thanks to nozerorma for the idea in key2-tweaks app)

Enable/disable adaptive keyboard and navigation button backlight in Blackberry Keyboard Settings

Default ZRAM swappiness decrease from 100 to 60

Enable lz4 ZRAM compression in kernel config (default compression algorithm is still lzo)

Introduce method to choose ZRAM compression algorithm with adb root commands (see "Choose ZRAM Compression Algorithm" section in discord announcement)

ZKrab-v1.8a Jul 15 2026

Keyboard backlight adaptive leveling: Turn off backlight in bright conditions (triggered by high screen brightness) (from Sadako's algo)

Keyboard backlight adaptive leveling: Increase min. brightness to 70% (if too bright, user can make it darker in Blackberry Keyboard settings)

Car-bt: Music/voice-call switching patch from Krab Key2 ROM

ZKrab-v1.7a Jul 15 2026

5 Ghz hotspot enabled

Camera stability update

ZKrab-v1.6a Jul 15 2026

Disable bitmap decode telemetry

ZKrab-v1.5a Jul 15 2026

Camera stability update

Blackberry Keyboard settings - virtual keyboard toggle

Widevine L3 enabled (L1 Widevide disabled/will not work)

ZKrab-v1.4a Jul 14 2026

NFC fixes

Reduce battery drain during sustained GPU load

July 2026 Android platform security patch (Note: you cannot downgrade back to v1.3a or below without wiping userdata due to the security patch update)

ZKrab-v1.3a Jul 08 2026

VOIP fix (Fixes crash when joining voice channel on Discord)

Svindled's speakers in-call changes fix

App-links domain verification auto-approve (for microg)

ZKrab-v1.2a Jul 04 2026

Keyboard and nav-btns backlight adaptive leveling

Bluetooth SCO audio config update

Disable display subsystem debug logging

ZKrab-v1.1a Jun 28 2026

QWERTY/AZERTY keyboard layouts/symbols fixed (for real this time)

IME Switcher: Enable choosing keyboard shortcut in Settings/System/Blackberry keyboard (default Alt+Enter)

Keyboard and nav button brightness settings moved to Settings/System/Blackberry keyboard

Battery/display/GPU/CPU power optimizations

Battery consumption estimation update

GPS fixes/improvements

WiFi stability fix

NFC stability fix

ZKrab-v1.0a Jun 22 2026

FIXED: Video recording with front-facing camera

FIXED: Video recording with other camera apps (Open Camera, Gcam)

The auxiliary rear camera is now selectable (it gives a slightly wider field of view than the main camera)  For videos, switch to maximum resolution to avoid cropping

Other camera improvement patches adapted from Key2

VoLTE/VT/WFC enabled (not tested), IMS package updated

Default ZRAM size increased from 1 GB to 2 GB

Alt-key handing fixed with all keyboard apps

Holding Alt for alt-lock and holding Shift for caps-lock now supported

Pastiera keyboard removed (can be manually installed from https://github.com/palsoftware/pastiera/releases/latest)

Stock screen density value is now used (you may want to change the settings in Settings/Display/Display size and text to suit your preferences after this update)

VOIP update (not tested)

exfat support enabled (not tested)

Other LTE updates (not tested)

BT SCO/VOIP update (not tested)

GPS config fix (not tested)

20260615

FIXED: Camera and flashlight

20260606

FIXED: Video/media audio through phone speakers

Configure currency key to type "$" instead of "4"

Change Updater URL to Github Lineage-BBKey2LE/distribution repository for future OTA updates

June 2026 Android platform security patch

20260602

May 2026 security patch

SELinux and encryption both enabled

Changed input method switcher shortcut from SYM key to Alt + Enter to avoid interfering with SYM key function in keyboard apps

SYM key and speed key returned to their default functions as in stock BB-Android (SYM key now works to pull up symbols in the bundled Pastiera keyboard app)

Serial console disabled (should improve performance)

Build no longer signed with public keys (should improve security)

Keyboard Apps

Pastiera: A foss keyboard app built for android phones with hardware keyboards. It's the default on Bochenek's rom builds.

K12KB: The keyboard app bundled with the Key2 roms. Currently requires enableing 'Allow on-screen keyboard' in Settings -> System -> BlackBerry keyboard to work properly

Krab-ubica's BlackBerry Keyboard: The blackberry keyboard but with working keyboard gestures. Chloejp has made a version with all language packs available here & one with only vietnamese added available here.

Hazem's BlackBerry Keyboard: A heavily modified version of the blackberry keyboard with material you colors, working keyboard gestures, newer emojis and a ton of various fixes. It's language packs are available here.

Launchers

Krab-ubica's BlackBerry Launcher: The default launcher from android 8.1 with performance improvements and modifications to make it work on LOS. The default 8.1 wallpaper set is also available on this archive.org page.

KISS: A blazingly fast launcher focused on search

Kvaesitso: A seach-focused launcher, currently needs the enable-blurs magisk module for wallpaper blur effects to work.

Lawnchair: An open-source clone of google's pixel launcher

Other

BigKaka 8.8 mod: A build of the BigKaka GCam mod with changes to work with key2's hardware. If your using a rom with the 4.19 kernel use this version instead.

Hail: Freeze certain apps to stop them from running in the background

Shelter/Insular/Island: Add apps to a work profile to isolate them from other apps, stop them from auto starting or install multible versions at once.

KeyMapper: Remap any button and set custom key binds easily

Aliucord: A light-weight discord client based on a version from before it was a wrapper for the mobile website

Root Tweaks

Key2 Tweaks: A small utility app to enable keyboard passcode entry, disable the nav keys when the keyboard is open and replace the built in EQ.

k2prodfix v2.1: Only use if you are on an alpha/beta rom!! A magisk module by wumbomumbo that lets you download BlackBerry services from the play store and make them think that they're running on an unmoddified Key2, it also adds more volume steps, hardware bluetooth A2DP offload, set swappiness to 60, and increase the max aquired buffers in SurfaceFlinger. If you have bluetooth issues after installing use the lite version instead.

Key2 Toolbox: A root app that bundles a quite a few tweaks into one app, the full list is on the github repo

Increase UI smoothness

NOTE: This also makes battery life a little better

Go into Settings -> Apps -> App battery usage

Set the drop down to 'Optimized'

Disable background usage for ALL apps you don't need to run in the background

NOTE: Make sure NOT disable any apps you get notifications from, use to play media or have set as a default app (keyboard app, launcher, etc)

Using gesture navigation

Go into Settings -> System -> Buttons

Enable the 'Enable on-screen nav bar' toggle

Check the 'Gesture navigation' radio button in Settings -> System -> Gestures -> Navigation mode

Reboot to make the back gesture work

NOTE: If you want to go back to using the hardware keys disable the 'Enable on-screen nav bar' setting

Wiping FRP

NOTE: You will need the recovery.img file from the LineageOS rom, if you don't have it you can download one for the Key2 here and one for the Key2LE here.

Run the following commands:

  • fastboot flash recovery /path/to/recovery.img
  • fastboot flash boot /path/to/recovery.img
  • fastboot reboot

Once the recovery menu appears select Advanced -> Enable ADB

From a computer run adb shell wipe-frp

On the phone select Advanced -> Reboot to bootloader

Next follow the locking the bootloader section for your operating system

or if you have a Key2 you can boot with an unlocked bootloader instead

Locking the bootloader (Windows)

Download the windows unlock tool from here and extract the zip file, if you don't already have it installed you may need to install the microslop VC++ redists.

Open the unlock tool.

Press the scan button in the upper right corner, once your devices is found press the 'Relock BootLoader' button.

NOTE: The progress bar may stay at 75% even once the bootloader relock finishes.

If the relock was successful, on the phone MODE: will change from FACTORY to PRODUCT.

Locking the bootloader (Linux)

Download kibo from Bochenek's github page and extract the zip file you downloaded.

Mark the kibo binary included with the zip file as executable.

Open a terminal where kibo is located and run ./kibo unlock

If the relock was successful, on the phone MODE: will change from FACTORY to PRODUCT.

Flashing android 8.1

If you have a Key2 download ACQ160 Autoloader.

If you have a Key2LE download ACT575 Autoloader.

Once your rom download finishes extract the zip file it downloads as

Make sure device is fully powered off then hold power and volume down until the bootloader appears

Run the flashall.bat script from the autoloader.

NOTE: A linux version of the flashall.bat script is available here.

If you did not lock the bootloader follow the section below

Booting ACQ160 with an unlocked bootloader

Download the modded boot file from here.

Or if you want to root you need to use this boot file and and Magisk v29.0

Open a terminal where you downloaded the file and run fastboot flash boot acq160-mfi-boot.img, or if your rooting run fastboot flash boot boot160-nosfi-pt0-root290.img

Fixing wifi, bluetooth & cellular not working

NOTE: This section is on how to fix a rare bug, you will most likely not experience it when reverting.

If you relocked the bootloader unlock it again as shown in the install guide.

NOTE: You need to use the same LineageOS recovery file you used earlier.

Run the following commands:

  • fastboot flash recovery /path/to/recovery.img
  • fastboot flash boot /path/to/recovery.img
  • fastboot reboot

Once the recovery menu appears select 'Advanced' -> 'Enable ADB'

Download the persist partition patch from here then extract the downloaded 7z file.

Open a terminal where you extracted the file persist to, then run the following commands:

  • adb push persist /tmp/
  • adb shell dd if=/tmp/persist of=/dev/block/by-name/persist
  • adb reboot bootloader

Lock your bootloader again then redo the flashing section android 8.1 of the guide