Kobo Arc 10HD Tablet Wiki - tdro/android_device_kobo_macallan GitHub Wiki
Last System Version: cm-12.1.1-20160827-UNOFFICIAL-macallan.zip
Last Kernel Version: cm-kobo-10hd-kernel-r9.zip
Last Recovery Version: cm-kobo-10hd-twrp-3.0.2.0-r2.img
Other: drm patch download (forum post)
Unofficial Cyanogenmod Zips
Recovery Images
Kernel Zips
Original ROM
Random system lockupDRM module not working correctlyVPN service not working (kernel missing vpn uid routing, patch forthcoming)- Smart cover partially enabled (does not sleep with covered, but wakes when uncovered, kernel controls this somewhere)
- Notification lights broken (don't currently have the source code to fix this)
- Sometimes screen constantly wakes up during charge (system trying to suspend indefinitely, but fails while charging)
- Camera working but lacks compatibility (not every app works well with the camera)
- Lag in some animations (cpu/gpu/resolution problem)
Geekbench not working- Google maps not working
Google play compatibility (autogen build.prop file was not correct)Optimize CPU frequencies for new governorFix video stutteringApplication cleanupMake overclock optional (soft limit on max frequency, reduces heating)- Optimize GPU frequencies
- Fix miscellaneous battery calculations
- Enable Selinux (maybe not)
Mount Point |
Type |
Source |
|
---|---|---|---|
1 |
/recovery |
emmc |
/dev/block/platform/sdhci-tegra.3/by-name/SOS |
2 |
/boot |
emmc |
/dev/block/platform/sdhci-tegra.3/by-name/LNX |
3 |
/system |
ext4 |
/dev/block/platform/sdhci-tegra.3/by-name/APP |
4 |
/cache |
ext4 |
/dev/block/platform/sdhci-tegra.3/by-name/CAC |
5 |
/misc |
emmc |
/dev/block/platform/sdhci-tegra.3/by-name/MSC |
6 |
/staging |
emmc |
/dev/block/platform/sdhci-tegra.3/by-name/USP |
7 |
/metadata |
emmc |
/dev/block/platform/sdhci-tegra.3/by-name/MDA |
8 |
/data |
ext4 |
/dev/block/platform/sdhci-tegra.3/by-name/UDA |
9 |
/sdcard |
vfat |
/dev/block/platform/sdhci-tegra.0/by-num/p1 |
SOS -> /dev/block/mmcblk0p1
DTB -> /dev/block/mmcblk0p2
LNX -> /dev/block/mmcblk0p3
APP -> /dev/block/mmcblk0p4
CAC -> /dev/block/mmcblk0p5
MSC -> /dev/block/mmcblk0p6
USP -> /dev/block/mmcblk0p7
MDA -> /dev/block/mmcblk0p8
UDA -> /dev/block/mmcblk0p9
Size |
Source |
---|---|
15392768 |
mmcblk0 |
8192 |
mmcblk0p1 [/recovery] |
4096 |
mmcblk0p2 |
8192 |
mmcblk0p3 [/boot] |
786432 |
mmcblk0p4 [/system] |
524288 |
mmcblk0p5 [/cache] |
2048 |
mmcblk0p6 [/misc] |
32768 |
mmcblk0p7 [/staging] |
2048 |
mmcblk0p8 [/metadata] |
13993984 |
mmcblk0p9 [/data] |
4096 |
mmcblk0boot1 |
4096 |
mmcblk0boot0 |
md5sum |
Block partition |
---|---|
8c39c9dc4470e30168855c02c5b72c8f |
/dev/block/mmcblk0boot0 |
89a89de78c55d96c17142ec36ebf3785 |
/dev/block/mmcblk0boot1 |
69c4d120061122b7863fb960712f8495 |
/dev/block/mmcblk0p2 |
The system has a default FPS limit (30) to save battery power. Higher FPS is good for bench-marking and smoother performance. Sometimes increasing the FPS limit may result in screen tearing. The FPS limit persists across reboots. It can be set to any desired value;
setprop persist.sys.NV_FPSLIMIT 60
setprop persist.tegra.NV_FPSLIMIT 60
The touchscreen can be re-calibrated on demand. This re-aligns the sensor coordinates, and may mitigate some touch inaccuracies. The touchscreen is briefly disabled during calibration. To calibrate the touchscreen;
cat /sys/bus/i2c/drivers/fts_ts/1-0038/ftsclb;
cat /sys/bus/i2c/drivers/fts_ts/1-0038/ftsuniformity;
The system by default does not have the internal speaker and headset volumes set to their maximum output. The internal volume is not the android system volume but the low level audio output. To set both the headphone and speaker output to the maximum internal volume;
alsa_amixer sset Speaker 31
alsa_amixer sset HP 31;
The system has a 2D and 3D gpu that is controlled by a scaling governor called 'pod'. The scaling is sometimes slow. To select other frequencies, the GPUs have to be overridden. Overriding the GPU frequencies automatically disables the 'pod' governor.
To get the available clock rates;
cat /d/clock/c2bus/possible_rates
240000 300000 384000 468000 528000 564000 600000 (kHz)
cat /d/clock/c3bus/possible_rates
204000 252000 324000 408000 (kHz)
To set override the GPU clocks;
echo "1" > /sys/kernel/debug/clock/override.c2bus/state;
echo "600000000" > /sys/kernel/debug/clock/override.c2bus/rate;
echo "1" > /sys/kernel/debug/clock/override.c3bus/state;
echo "408000000" > /sys/kernel/debug/clock/override.c3bus/rate;
The system has two CPU clusters that are utilized under different conditions. The "G" cluster is the general CPU cluster that includes 4 cores utilizing a large range of frequencies. The "LP" cluster is the low power cluster that consists of a 5th low power shadow core utilizing a select range of frequencies. The "LP" cluster is responsible for flat lining that battery usage, and can allow the system to have almost no battery drain.
To view the active cluster;
cat /sys/kernel/cluster/active
To set the "LP" cluster;
echo "0" > /sys/devices/system/cpu/cpuquiet/tegra_cpuquiet/enable;
echo "0" > /sys/devices/system/cpu/cpu1/online;
echo "0" > /sys/devices/system/cpu/cpu2/online;
echo "0" > /sys/devices/system/cpu/cpu3/online;
echo "LP" > /sys/kernel/cluster/active;
To switch back to the "G" cluster, online any of the offline cores to remove the low power condition or re-enable the hotplugging driver.