[LG G Watch] invisiblek:
Hey everyone! Got this thing on a super deal the other day ($50 brand new!) and couldn't pass it up. Naturally the first thing I want to do is tweak and mod it :p

To be completely honest, I didn't spend much time running stock on it to determine a baseline for battery/performance. I ran for a bit on kitkat and it seemed pretty laggy. With the mods I made it runs very smooth (for good reason, you'll see why).

Battery life seems on par with whatever everyone else is getting (on the short amount of research I did) http://i.imgur.com/vjefGL8.png

Check below to find out what version you should be running.

* download *

http://www.invisiblek.org/dory/kernel/

* install * -- must be OEM unlocked -- be sure to check your current version in settings and pick an image below that matches it

Download a zip from the link above and flash via TWRP (md5sums below)

OR

Download an img from above (md5sums below)

To flash:

adb reboot bootloader
fastboot flash boot <name of image file>
fastboot reboot

To test: (this doesn't actually flash it, just boots it to try out, simply reboot to get back to whatever kernel/ramdisk you have before)

adb reboot bootloader
fastboot boot <name of image file>

* changelog *

(img md5sum: 931830de150ca3c3ec83b8355c81abae)

v8 - 12/08/2016 - M1D64S

- [RAMDISK] Updated ramdisk from M1D64S

v7 - 11/16/2016 - M1D64K *** NOT COMPATIBLE WITH PRE-M1D64K ROMS ***

(img md5sum: b7879d15261d08920d0fb2445c08e03e)

- [RAMDISK] Updated ramdisk from M1D64K (so it actually boots with M1D64K). This will effectively make this image unusable on any build prior to M1D64K

- [KERNEL] Hack to force selinux in permissive mode in the kernel. This is necessary for mpdecision to work correctly

v6.1 - 02/22/2016 - MEC23G

(img md5sum: 04cf3b464be402fe3f393d94bb75066d)

- [RAMDISK] CPU governors set back to 'ondemand' until we get kernel source and can add custom governors

v6 - 02/22/2016 - MEC23G

(img md5sum: 96f4b59ea14dc9bf32966b602cffd72e)

- [KERNEL] Pure stock kernel image from google (we have to wait for kernel source)

- [RAMDISK] Merge in MEC23G ramdisk changes

- [RAMDISK] Remove install-recovery.sh service so twrp persists

- [RAMDISK] Fstab: support for either squashfs or ext4-formatted /system partition

- [RAMDISK] Added the necessary bits for systemless root (you can flash the SuperSU zip from Xmaster24's thread before or after the image)

v5 - 11/03/2015 - LCA43

(img md5sum: ab8b4d327682177bdfe984c0897696ff)

(zip md5sum: 02dedf601e47553ea87744cebc76019d)

- [KERNEL] Add adaptive low memory killer

- [RAMDISK] Enable adaptive low memory killer

v4 - 09-01-2015 - LCA43

(img md5sum: ce35db73d354c30b02b95feeaf0e8823)

(zip md5sum: cb6c08bfd1dcd2a12a7985d02fbfa8aa)

- [RAMDISK] Updates from LCA43

- [RAMDISK] Reverted to stock gpu governor/frequencies

v3 - 07-21-2015 - Never announced

(img md5sum: 81d2ee08e4ab2286c4062966a3041f34)

(zip md5sum: f09d69895fe1a47120b99350027690b8)

- [RAMDISK] Used msm-adreno-tz gpu governor and unlocked all frequencies. Never officially released because it wasn't tested too long and didn't really do much anyway.

v2 - 06-06-2015 - Initial 5.1.1 Release

(img md5sum: f5a6a61207968c31a2f0f6bcb84419b9)

(zip md5sum: 4bb6625a97e1ca11f0e03eeb355262b4)

- [KERNEL] Rebased v1 mods on aosp/android-msm-dory-3.10-lollipop-mr1-wear-release

- [RAMDISK] update to 5.1.1 ramdisk

- [RAMDISK] allow cpu to scale above 787mhz

v1 - 04-13-2015 - Initial 5.0.2 Release

(img md5sum: 127c036c629e0171ca64a4ea0b2e33f7)

(zip md5sum: e118f8f76a2b95685ae1e06a4588997f)

- [KERNEL] Based on latest aosp source

- [KERNEL] Compiled with Christopher83's linaro 4.9 toolchain

- [KERNEL] LZ4 compressed kernel

- [KERNEL] Couple MMC tweaks care of arter97

- [KERNEL] Disabled a bunch of debugging

- [KERNEL] maxwen's Smartmax Governor added and set as default after boot (performance gov while booting)

- [KERNEL] Increased vibe intensity care of arter97

- [KERNEL] Several misc security patches

- [RAMDISK] Enable all four cores and add mpdecision to hotplug them (see below for more info). mpdecision kanged from v4xx (g pad 7.0, same soc)

- [RAMDISK] Boot with Performance governor, all four cores and noop i/o scheduler (switch to smartmax/row/mpdecision after boot)

* mpdecision *

mpdecision is a daemon that runs on most (all?) qualcomm chips. Its job is to hotplug cores as they are needed. LG (or google?) forces cores 1-3 off on this device leaving just core 0 to fend for itself and no mpdecision to ever turn these other cores on. While this in theory should save battery life, it also makes your quadcore wrist computer run as a single core. I've taking the mpdecision daemon from the LG G Pad 7.0 (another device I own that has the same chip as the G Watch) and shoved it into the ramdisk so we can do hotplugging. You may ask: "won't this cause battery drain?". My answer is maybe. Since stock is forcing only one core usable, sure it seems like it would take less battery than being able to use all four, but what if everything you did on your device now takes 4 times as long (exaggeration, but say twice as long)? That, to me, could arguably cause more battery drain. In the end, I felt it was something worth trying, and from initial use I don't notice any major additional battery drain, plus the device runs buttery smooth. I've also added the smartmax cpu governor which should keep the frequency down and conserve battery life.

* source *

kernel: https://github.com/invisiblek/android_kernel_lge_dory/tree/invisiblek

ramdisk: https://github.com/invisiblek/dory_ramdisk