[ROM][Unofficial][AOSP] Android 6.0.1 Marshmallow - Galaxy Tab 10.1 Android Development

Android Open Source Project 6.0
Marshmallow
for
Samsung Galaxy Tab 10.1
(P7510, P7500, SGH-T859)
(p4wifi, p4, p4tmo)
​
Customizations:
busybox
init.d scripts
CMFileManager
Kernel features:
CPU overclock (1.2Ghz - 1.6Ghz)
CPU voltage control
CPU temperature readings
GPU overclock (400Mhz)
L2 cache optimization
F2FS
SELinux
Voodoo Sound
USB Charging
Updated WIFI driver
ZRAM backports
sdcardfs
Working:
Video
Audio
WIFI
Cellular
GPS
Bluetooth
- Audio playback: working
- File transfer: working
Encryption
Not working / buggy / needs testing:
Camera
- Pictures: working
- Video recording: (not working)
Dock audio
Keyboard dock (untested)
- Likely the same status as Lollipop
Tethering
- USB tethering: working with WIFI
- Bluetooth tethering: (not working)
- WIFI tethering: (untested)
Wireless Display / Miracast
- No compatibility with the outdated video blobs
Installation:
Backup all data
Install TWRP 2.8.7.0 or newer
Wipe cache, dalvik cache, system, data
Install the ROM
Optional step:
- Install gapps pico
- Install Supersu 2.52
Boot the ROM
Enable on screen keyboard by toggling "Show input method"
Downloads:
p4wifi (GT-P7510): WIFI only tablet.
aosp-6.0-p4wifi-20160806.zip
p4 (GT-P7500): Cellular / 3G tablet.
aosp-6.0-p4-20160809.zip
p4tmo (SGH-T859): T-Mobile tablet.
p4wifi and p4 users do NOT install this.
aosp-6.0-p4tmo-20160809.zip
mirror: AndroidFileHost
GApps
http://opengapps.org/
root: SuperSU
BETA SuperSU v.2.52
Mirrors:
Android File Host
​
Changelog
Code:
August 9, 2016
decatf/android_kernel_samsung_p4
e602201 defconfig: Fix typo while enabling CONFIGFS_FS
August 6, 2016
Update to android-6.0.1_r59
decatf/android_kernel_samsung_p4
2c421f2 fuse: O_DIRECT support for files
3bb1d41 fuse: remove the second argument of k[un]map_atomic()
acf44b5 fuse: verify all ioctl retry iov elements
1b17d75 fuse: postpone end_page_writeback() in fuse_writepage_locked()
d88af9d fuse: break infinite loop in fuse_fill_write_pages()
33c337c fuse: support ioctl on directories
37bb785 FUSE: Notifying the kernel of deletion.
f7c8478 fuse: Add support for shortcircuited read/write for files
d5c6ade Revert "fuse: Add support for shortcircuited read/write for files"
04ed83b fuse: Add support for shortcircuited read/write for files
ab0b217 fs: fuse: Ensure update of fuse inode attributes in shortcircuit
b653a54 fuse: Use iocb->ki_pos instead of pos for shortcircuit writes
b79cfba fuse: Use BUG_ON to check pos validity in fuse_aio_write
786913d fs: fuse: Disable shortcircuit when mmap is called on a file
bfc19a7 vfs: add d_canonical_path for stacked filesystem support
fb6bb3e inotify: Fix erroneous update of bit count
8bae312 Initial port of sdcardfs
568217e get rid of kern_path_parent()
7233db3 sdcardfs: Port to 3.4
a5d5845 sdcardfs: Port to 3.1.10
4cede1c sdcardfs: Changed type-cast in packagelist management
3f69353 sdcardfs: Bring up to date with Android M permissions:
dfc2ff3 sdcardfs: Add support for d_canonicalize
1f80a89 sdcardfs: remove effectless config option
dd5eccf sdcardfs: Remove unused code
1b8979a sdcardfs: remove unneeded __init and __exit
1c16f89 sdcardfs: Truncate packages_gid.list on overflow
560043c ANDROID: sdcardfs: fix itnull.cocci warnings
d3e1021 vfs: change d_canonical_path to take two paths
e587970 fuse: Add support for d_canonical_path
434e90b defconfig: Enable sdcardfs
e7b5ee2 BACKPORT: perf tools: Document the perf sysctls
90bd458 FROMLIST: security,perf: Allow further restriction of perf_event_open
1ccaa78 defconfig: restrict access to perf events
android_device_samsung_p4-common
8404df3 p4-common: Enable sdcardfs
913957d p4-common: Disable EGL_WORKAROUND_BUG_10194508
5f67070 p4-common: sepolicy: Allow kernel to rw wifi efs file
android_vendor_decatf
6bbd9c6 sepolicy: remove BOARD_SEPOLICY_UNION
91f8dc2 sepolicy: Add rule to allow sdcardfs to read package list
8209b59 sepolicy: Fix MTP for sdcardfs
android_bionic
546aae2 bionic: Sort and cache hosts file data for fast lookup
platform_frameworks_base
0454407 mountservice: Shut down volumes before restarting framework
9baa27d mountservice: Don't nuke all volumes when decrypting
android_frameworks_opt_net_wifi
d21014b Revert "Revert "wifi: Set the mode at native layer""
platform_system_core
a052e68 sdcard : Use the fuse shortcircuit option
86faebc sdcard: Allow fuse shortcircuit for all platforms
e06eb06 sdcard: Add support for sdcardfs!
d3a24ca sdcard: Fix sdcardFS check
6ff0e73 sdcard: Pass the umask to sdcardfs correctly
android_external_sepolicy
5d57d80 sepolicy: Add policy for sdcardfs and configfs
July 8, 2016
Update to android-6.0.1_r50
Restore previous WIFI driver
June 15, 2016
TRIM is now merged into this ROM. You don't need to install the TRIM kernel from the other thread.
Update to android-6.0.1_r46
74f7de9 p4-common: TCP buffer settings
93ca209 p4-common: Wifi is no longer built as a module
2133d24 p4-common: Enable dlmalloc
b6808c6 p4-common: Remove unused flags
4692beb tcp: drop SYN+FIN messages
cf415a5 misc: uidstat: avoid create_stat() race and blockage.
3f791c1 usb: gadget: f_fs: Fix enumeration in fullspeed mode
0469e56 usb: gadget: accessory: Fix section mismatch (again)
30fbe2f USB: remove duplicate out endpoint creation in MTP mode
c607c37 pipe: limit the per-user amount of pages allocated in pipes
8e01cbe power: max17042: Reduce logspam
5565950 Revert "Staging: android: binder: Allow using highmem for binder buffers"
bf9b28a Reduce logger size
9c3a8ec mmc: fix integer assignments to pointer
d7bfd4c mmc: sdio: Workaround for dev with broken CMD53
74032a4 mmc: sdio: Fix to support any block size optimally
3f9da59 mmc: sdio: Use multiple scatter/gather list
ed4849d genirq: Always force thread affinity
b1bb34f genirq: Avoid deadlock in spurious handling
c4cb3ae genirq: Fix can_request_irq() for IRQs without an action
aeaeb4de mmc: Restore MMC_CAP_ERASE
fd6a17d mmc: Add sdio_ctrl_power
8bd4f0d arm: tegra: p4: Allocate static dhd info buffer (section 7)
ec9b234 arm: tegra: p4: Built-in wifi
cfb0ab2 arm: tegra: p4: Set wifi chip id to 0x4330
ce80b1b arm: tegra: Conditionalize builtin wifi
2477c3b Revert "net: wireless: Sync with grouper android-5.1.0_r0.4"
e32e74d arm: tegra: p4: Fix build when not builtin wifi
a0d37af net: wireless: Import CFG80211_REG_NOT_UPDATED from klte kernel
62151e1 defconfig: disable loadable modules
a5cf304 net: Backport wireless stack from Galaxy S5 kernel
88d16a6 net: Fix net/wireless backport for 3.1.10
7dbf92b bcmdhd: G900FXXU1CPD7
abf9e8c bcmdhd: fixup for p4
e3c843a bcmdhd: Restore tegra specific irq wake
aa99d0d defconfig: bcmdhd builtin
716bd9c defconfig: Enable CONFIG_CFG80211_ALLOW_RECONNECT
946d13f mmc: tegra: Don't set MMC_PM_KEEP_POWER by default
9a40b65 mmc: host: sdhci: abort suspend if host suspend fails.
8d5d16f mmc: host: sdhci: Don't set MMC_PM_KEEP_POWER when suspending
6f689f2 mmc: Remove Samsung WIFI hacks
April 28, 2016
Fix headphone detection
April 14, 2016
Update to android-6.0.1_r30
March 26, 2016
project art/
20c3c84 Revert "Optimize double/float immediate loading on arm."
8037a8d Re-enable VFPv3-D16 register definitions
d53de19 Disable clang for art compiler on target
project device/samsung/p4-common/
f19dec3 p4-common: Use dalvik.vm.dex2oat-flags to specify backend
0cc66dc p4-common: Remove unused flag
84f022f p4-common: Tweak ksm settings
project frameworks/av/
111a9b9 Revert "mediaplayer: remove use-awesomeplayer developer option"
project frameworks/native/
f1b88cd Configure tablet dalvik heap for 1GB mdpi device
project kernel/samsung/p4/
2b12c4b pipe: iovec: Fix memory corruption when retrying atomic copy as non-atomic
16a60d8 Squash revert Android timerfd support
24bcc61 Android alarm-dev from android-3.4
f519a62 defconfig: enable android-3.4 alarm-dev
4ab42f7 p4_battery: Fix timer slack
7dbdfb5 ARM: 7006/1: Migrate to asm-generic wrapper support
f2b70ff ARM: 7493/1: use generic unaligned.h
33e4372 asm-generic: allow generic unaligned access if the arch supports it
a998f78 Revert "Revert "video: tegra: remove free memory check""
project packages/apps/Settings/
98144ac Revert "developer settings: remove "Use deprecated AwesomePlayer" settings"
project system/core/
6b5492a healthd: increase healthd fast timer to 10mins instead of 1min
March 14, 2016
Fix WIFI driver
March 10, 2016
Update to android-6.0.1_r17
ca6770d Align machine_kexec restart sequence with soft_restart()
b4c0a36 ARM: 7476/1: vfp: only clear vfp state for current cpu in vfp_pm_suspend
f847946 cfq-iosched: fix the setting of IOPS mode on SSDs
a74f780 arm: tegra: Restore tegra2 core/cpu voltage relationship
868ba34 Revert "bound cpu cores to same speed"
c4877ab include/linux/poison.h: fix LIST_POISON{1,2} offset
9c3f030 pagemap: do not leak physical addresses to non-privileged userspace
February 7, 2016
Update to android-6.0.1_r10
February 1, 2016
Add init.modem.rc for p4 and p4tmo
January 31, 2016
hwrotation for Galaxy Tab 8.9
January 28, 2016
Update to android-6.0.1r7
Switch to ICS audio wrapper HAL
Update to latest f2fs-stable
Frequently Asked Questions and Other notes:
Can I upgrade / dirty-flash from Lollipop to Marshmallow?
- You cannot. It must be a clean install.
Can I dirty flash over a previous Marshmallow build?
- Yes.
I thought you said Marshmallow wouldn't work.
- The problem with ART is not solved. The Optimizing compiler backend is producing binaries that crash on the Tegra 2. The Optimizing backend is the new default dex2oat compiler in Marshmallow. The Quick compiler is default backend in Lollipop. It is still in the Marshmallow source so this ROM is using the Quick compiler backend.
SELinux enforcing mode
- The default SELinux mode is permissive mode. The Set_SELinux_enforcing.zip will not work with Marshmallow. That script was setting a system property to toggle SELinux early on in boot. Google has removed the use of this system prop so that method won't work anymore.
- For now you can find some app on F-Droid to set the SELinux mode after boot. It's not ideal but it will do until some better solution arises.
Doze
- This device does not meet the hardware requirement to support Doze.
Themes
- Marshmallow supports RRO (Layers) themes. I will not add CM-12 themes, CM-13 themes, or any other theme engine.
HD video playback issues and Camera issues.
- The video and camera stack are proprietary NVidia software. This means there is no chance of fixing bugs within.
Browser crash when downloading files
- Settings > Apps > Browser > Permissions > Enable Storage permission
Google App force close
- Install GApps Pico.
- Google App now uses the NEON instruction set which the CPU on this device does not support. The pico package does not include the parts of GApps which use the NEON instruction set.
- reference post
Non-NEON Google Apps
Chrome 49.0.x
​
Donate:
Via Paypal
XDA:DevDB Information
Android 6.0 Marshmallow, ROM for the Samsung Galaxy Tab 10.1
Contributors
decatf
Source Code: https://github.com/decatf
ROM OS Version: 6.0.x Marshmallow
ROM Kernel: Linux 3.1.x
Based On: AOSP
Version Information
Status: Alpha
Created 2015-12-08
Last Updated 2016-12-19

Problem reporting steps:
Got an error? Is something not working for you?
I cannot see what your problem is from here. Save and upload the system logs from your device so that I can see what happening on your device.
How to save system logs:
Root the device by installing SuperSU.
Install SysLog.
Reboot the system.
Reproduce the problem.
Open Syslog app and save the Kernel Log and Main Log.
Send me the log files stored in /sdcard/Syslog.
Share the files on Dropbox or another similar site.
Then PM me a link to the files. Please describe exactly what the issue is.

Some comments to start off.
The ICS audio HAL is not working right in Marshmallow and I think I'd rather try another run at getting the rest of the stuff in the open souce HAL working rather than keep trying to find hacks to keep the old blob alive. Recall that only voice calls and dock audio are not working with the open source audio HAL.
- Voice calls are just passing off audio to the Samsung cellular blobs so I don't think it's that much of a stretch to get working. But this will have to wait until cellular stuff is working in the first place.
- I found some patch for Samsung dock audio. It looks like it might apply to this device as well seeing as it seems to have a similar dock implementation. The patch is in the ROM already so that needs testing.
Cellular probably won't work for at least the first few builds. Other devices on M with a similar cellular radio needed a few new patches to get it working on M. I have put in the patches from L but we will have to trial and error what is needed for M based on other devices as a reference.

Thank you!

I know it's early on, but do you have any expectations as to how well it will run compared to previous Android version?
I appreciate all you've done, but mine never ran that great on the newest roms. It is passable and I appreciate it though.
Sent from my XT1094 using XDA Free mobile app

thank you very much for betting on this tablet , and download and I'll try ... I'm sure you will be able to tune it as we did with lp...

sflesch said:
I know it's early on, but do you have any expectations as to how well it will run compared to previous Android version?
I appreciate all you've done, but mine never ran that great on the newest roms. It is passable and I appreciate it though.
Sent from my XT1094 using XDA Free mobile app
Click to expand...
Click to collapse
The OS appears to perform the same as Lollipop. It's a four year old device. There is nothing that will make it run as well as a modern Android device. You could try setting animation times to zero and set ro.config.low_ram=true.
For Marshmallow I have added L2 cache improvements in the kernel that improves RAM speed benchmarks. That's around 1k score in Antutu.

I understand that. And again I appreciate it. I was just curious what the performance level was. I expected at best it might be similar, but more likely it would, as is typical, use more resources.
I never expected much from my Tab. Finding your ROM was an unexpected surprise. I will try those tweaks. From all of the posts I read, I got the impression that many other tablets ran better than mine. I know fully well that each tablet is different and I don't blame you or the ROM, just my tablet.
Sent from my XT1094 using XDA Free mobile app

decatf said:
The OS appears to perform the same as Lollipop. It's a four year old device. There is nothing that will make it run as well as a modern Android device. You could try setting animation times to zero and set ro.config.low_ram=true.
For Marshmallow I have added L2 cache improvements in the kernel that improves RAM speed benchmarks. That's around 1k score in Antutu.
Click to expand...
Click to collapse
Thank you for keeping this Mastodont alive. I will be doing the switch soon enough... I have been following and installing your Lollipop releases for quite a while now and appreciate very much all the time and effort you have put into these projects...
Sent from my p4wifi using XDA Free mobile app

Definitely wasn't expecting this tbh. You're doing a damn great job at keeping this tab alive decatf. Thank you for that.

Mmmh, I just did the following steps (coming from your version of 5.1.1) :
1) Installed TWRP-2710 from previously installed TWRP-2610
2) Rebooted into 2710 Recovery
3) Full Wipe
4) Install Android 6.0 ROM
5) Install OpenGapps (nano)
6) Install SuperSU 2.52
7) Reboot
Now the P4 is stuck at the Samsung boot logo, so it does not boot up.
Any ideas what I did wrong?
Regards, mistersixt.

mistersixt said:
Mmmh, I just did the following steps (coming from your version of 5.1.1) :
1) Installed TWRP-2710 from previously installed TWRP-2610
2) Rebooted into 2710 Recovery
3) Full Wipe
4) Install Android 6.0 ROM
5) Install OpenGapps (nano)
6) Install SuperSU 2.52
7) Reboot
Now the P4 is stuck at the Samsung boot logo, so it does not boot up.
Any ideas what I did wrong?
Regards, mistersixt.
Click to expand...
Click to collapse
Me too, ive installed twrp 2.8.7.0. Full wipe, install android 6 rom (P4) and use openGapps (pico), install superSU beta 2.52.
My P4 is stuck at samsung boot logo

Anyone able to install the rom successfully?
Anyways thanks decatf for all u have done for our device!

maybe don't use OpenGapps Pico?
on different devices, had issues with OpenGapps Pico versions;
especially on 5.1 and 6.0, pico may be -too- light?
I've had success with slim gapps zero on different devices;
size is similar to OpenGapps nano.
- maybe try WITHOUT any gapps?
- assuming it works, try Open nano, or slim zero?
i'll try myself and report later if I can
cheers
---------- Post added at 10:45 AM ---------- Previous post was at 10:37 AM ----------
I haven't read -too- thoroughly,
but in addition to the 'regular' supersu beta (currently 2.52),
chainfire has a separate "WIP" thread where, at least check,
2.61.. for Marshmallow+.. systemless?.. discussion is still in the 2.52 / beta thread
a) link to the WIP thread: http://forum.xda-developers.com/apps/supersu/wip-android-6-0-marshmellow-t3219344
b) that said, maybe for our system , 2.52 may be more appropriate?
can anyone compare?
c) hmm.. more reading.. may want to stick with 2.52 for now,
until 2.62 is ready (currently 2.61, but with planned features/fixes for 2.62)
cheer

Same thing, just did another full wipe and installed the p4 ROM only (no gapps, no supersu), and it is still stuck at the Samsung boot logo.
Regards, mistersixt.
spamam1 said:
on different devices, had issues with OpenGapps Pico versions;
especially on 5.1 and 6.0, pico may be -too- light?
I've had success with slim gapps zero on different devices;
size is similar to OpenGapps nano.
- maybe try WITHOUT any gapps?
- assuming it works, try Open nano, or slim zero?
i'll try myself and report later if I can
cheers
---------- Post added at 10:45 AM ---------- Previous post was at 10:37 AM ----------
I haven't read -too- thoroughly,
but in addition to the 'regular' supersu beta (currently 2.52),
chainfire has a separate "WIP" thread where, at least check,
2.61.. for Marshmallow+.. systemless?.. discussion is still in the 2.52 / beta thread
a) link to the WIP thread: http://forum.xda-developers.com/apps/supersu/wip-android-6-0-marshmellow-t3219344
b) that said, maybe for our system , 2.52 may be more appropriate?
can anyone compare?
c) hmm.. more reading.. may want to stick with 2.52 for now,
until 2.62 is ready (currently 2.61, but with planned features/fixes for 2.62)
cheer
Click to expand...
Click to collapse

It works on my p4wifi. Somebody with an actual p4 needs to try booting it then reboot directly into TWRP and grab the last_kmsg.
Code:
adb pull /proc/last_kmsg
Or
Go to Advanced > File Manager > Go to /proc/ > Tap last_kmsg > Copy File to /sdcard/

P4: wrong updater binary?
hi,
on TWRP 2.8.7.0.. try to install on P4,
but getting error:
E:Error executing updater binary in zip '/sdcard/Android/aosp-6.0-p4-20151207.zip'
maybe the binary is from p4wifi?
anyone on P4 having issues?
I checked the MD5, and it matches.
cheers
---------- Post added at 11:06 AM ---------- Previous post was at 11:04 AM ----------
spamam1 said:
hi,
on TWRP 2.8.7.0.. try to install on P4,
but getting error:
E:Error executing updater binary in zip '/sdcard/Android/aosp-6.0-p4-20151207.zip'
maybe the binary is from p4wifi?
anyone on P4 having issues?
I checked the MD5, and it matches.
cheers
Click to expand...
Click to collapse
hmm. .. donjuan10 on P4 was able to at least flash the files.
what am i doing wrong?

Hope I grabbed the right file:
http://144.76.203.117/tmp/last_kmsg
regards, mistersixt.
decatf said:
It works on my p4wifi. Somebody with an actual p4 needs to try booting it then reboot directly into TWRP and grab the last_kmsg.
Code:
adb pull /proc/last_kmsg
Or
Go to Advanced > File Manager > Go to /proc/ > Tap last_kmsg > Copy File to /sdcard/
Click to expand...
Click to collapse

spamam1 said:
hi,
on TWRP 2.8.7.0.. try to install on P4,
but getting error:
E:Error executing updater binary in zip '/sdcard/Android/aosp-6.0-p4-20151207.zip'
maybe the binary is from p4wifi?
anyone on P4 having issues?
I checked the MD5, and it matches.
cheers
---------- Post added at 11:06 AM ---------- Previous post was at 11:04 AM ----------
hmm. .. donjuan10 on P4 was able to at least flash the files.
what am i doing wrong?
Click to expand...
Click to collapse
more info..
before the error message (in red), a message about mount/symlink:
mount: failed to mount /dev/block/platform/sdhci-tegra.3/by-num/p4 at /system: Device or resource busy
symlink: some symlinks failed
?

It might just be some kernel cmdline options I missed. The reason it boots on my p4wifi is because I'm testing it on multirom which passes off some cmdline options from the host ROM so the problem was not apparent due to that.
Just install the ROM then the kernel. And the rest of the stuff as usual.
p4-kernel-aosp-6.0-20151209.zip
p4tmo-kernel-aosp-6.0-20151209.zip

Related

[Kitkat] CM11 Android 4.4.4 for the Droid X (2015)

[Video] Installing CM11 on the Motorola Droid X (MB810)
------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Instructions for installing CM11 on Motorola Droid X:
If you're on a custom ROM already (CM, MIUI, LiquidICS, etc.) goto step 6.
Download Droid 2 Recovery Bootstrapper CWM 5.0.2.0,
Framaroot: newer versions may not work Framaroot-1.4.1.apk (XDA) - AFH - RootJunky - Mega -
Framaroot.apk
, twrp_2.7_cm11_dx.zip, latest gapps, and ROM to sdcard from one of the storages: MEGA, Mediafire, GDrive.
On phone: Settings->Applications(Enable Unknown sources)->Development->Enable USB Debugging.
Install Framaroot.apk, launch it and select "Gimli", reboot you're phone.
Install Droid2RecoveryBootstrap_CWM5.0.2.0.apk, launch it, select "Bootstrap Recovery", grant Superuser access and reboot phone.
Reboot phone into CWM Recovery or if you on stock firmware launch Droid X Bootstrapper and press "Reboot Recovery".
In CWM choose wipe data/factory reset (this will completely delete all your data on phone except sdcard), then install zip from sdcard and select twrp_cm11_dx.zip.
Reboot system.
(It's touch) Recovery -> Team Win Recovery.
In TWRP choose Install and select ROM, then slide, then make the same with gapps.
After install press Reboot system.
Additional:
Changelog
If you want to format data and cache partitions to ext4, you'll need to flash data_cache_2ext4.zip. To revert the partitions back to ext3, you'll need to wipe data/factory reset in stock recovery.
In both cases you loose your files on these partitions.​It at a point turns on and off the display and buttons, its not off, be patient.
Upgrading:
Reboot to recovery.
Select "Backup"
Check all boxes that apply, then swipe.
Once finished, go back to the main menu.
Select "Wipe -> Advanced Wipe".
Check all boxes that apply but "sdcard" then swipe.
Return to main menu again.
Select "Install".
Find and select the latest version of the ROM that is saved on your sdcard, then select "Add More Zips" and find the latest version of Gapps that is on your sdcard, swipe.
Select "Reboot System". Enjoy!
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Live support:
If you already have a favorite IRC client: #DROIDX-CM11
If you don't have an IRC client: Webchat.
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Supported languages:
Arabic - Egypt (makes a difference!!)
Chinese - China (maybe simplified)
Chinese - Taiwan
Czech - Czech
Danish - Denmark
Dutch - Netherlands
English - U.S, British, Indian
French - France
German - Germany
Hebrew - Israel
Hungarian - Hungary
Italian - Italy
Korean - Korea
Modern Greek - Greece
Polish - Poland
Portuguese - Brazil
Romanian - Romania
Russian - Russia
Spanish - Spain
Swedish - Sweden
Ukrainian - Ukrainian
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Bugs:
Camera Colors are slightly off (slightly blueish)
Hdmi only works with "RealHdmi" app (play store)
Netflix (http://www.androidfilehost.com/?fid=23159073880937064)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Credit:
@Quarx, @m.ksy, @Aaahh, masterminds
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Preformence Guide:
About phone --> Click Build number 8 times Necessary for the two below
Developer Options --> At the Bottom: Select runtime --> ART (its truely an art)
Performance --> Force high-end graphics(optional)
Aero Control (play store) -->Menu --> CPU Performance --> Govenor Settings --> smartass
Aero Control (play store) --> Menu --> GPU Control --> GPU Control
Aero Control (play store) --> Menu --> Memory Tuning --> Low Memory Option
Aero Control (play store) --> Menu --> Memory Tuning --> IO Scheduler --> deadline
Aero Control (play store) --> Settings --> Reboot check mark...
Clear cache from twrp
Feel free to suggest more, This is what help Preformence tons...
-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Links:
Download Recovery and CM and Gapps By m.ksy(Newest, first hand)
https://mega.co.nz/#F!sBZn3aga!dPA6NF1iYnZ8iWQhxIHr0Q
http://www.mediafire.com/?xdk1aolbxo4l3
App:
drive.google.com/folderview?id=0B9uqk9InEzCYWU1uczRlQlo2NGs&usp=sharing
Github
https://github.com/MotoDX-CM11/android
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Updates:
- CM repo sync
- Quarx's repo sync
- fixed BT headset audio
- fixed no digits on clock and ringing alarm screens
- leave only MPEG4 codec for camcorder(again)
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
I made a installer app, Why dont you give it a try? (BUGGED ABIT)
XDA:DevDB Information
MotoDX-CM11, ROM for the Motorola Droid X
Contributors
Aaahh, m.ksy, sd_shadow, Aaahh
Source Code: https://github.com/MotoDX-CM11
ROM OS Version: 4.4.x KitKat
ROM Kernel: Linux 2.6.x
ROM Firmware Required: TWRP 2.6.3.0||2.7.0.0
Based On: CyanogenMod
Version Information
Status: Stable
Current Stable Version: 12.26
Stable Release Date: 2014-12-26
Current Beta Version: 09.30
Beta Release Date: 2014-09-30
Created 2014-07-24
Last Updated 2015-12-13
Reserved
Multiple Roms:
We can have two roms in place of recovery but the only other thing that would work is cm11...
Reserved
Lol, rock on!
Sent from my SM-T210R using Tapatalk
Aaahh said:
WE DID IT!!! WE DID IT!!!
Okay i got cm11 to work!!!!
Two zips to flash and an apk!!!
I just GOT IT TO WORK!!!
Um okay install the 621mod cwm5 apk after rootinging with framaroot!
Then Flash my flash.zip
Then flash C11xxxxxxx.zip
BAM!!!!
http://www.youtube.com/watch?v=SBCw4_XgouA&feature=kp
what work and doesnt is uknown it just booted,
IT will BOOTLOOP, THATS NORMAL JUST LEAVE IT THERE FOR LIKE 30MINUTES WITH A ATLEAST 80% BATTERY!!!
Cm11xxxx
https://drive.google.com/file/d/0B9uqk9InEzCYUVZ2TVVlUjd0c1E/edit?usp=sharing
YOU MUST OPEN THE CM11 ZIP AND GOT TO meta/google/android/updater-script AND DELTE THE ASSET!
i'm sorry i'm to distracted testing!
Click to expand...
Click to collapse
Thanks so much Aaahh! You are now my favorite dev!
Sent from my DROIDX using xda app-developers app
---------- Post added at 10:33 PM ---------- Previous post was at 10:30 PM ----------
So delete the file and flash? No gapps? First like!
Sent from my DROIDX using xda app-developers app
---------- Post added at 10:50 PM ---------- Previous post was at 10:33 PM ----------
Bobcus Leper said:
Thanks so much Aaahh! You are now my favorite dev!
Sent from my DROIDX using xda app-developers app
---------- Post added at 10:33 PM ---------- Previous post was at 10:30 PM ----------
So delete the file and flash? No gapps? Or at least the core ones? First like!
Sent from my DROIDX using xda app-developers app
Click to expand...
Click to collapse
Btw i don't see a assets file.
Sent from my DROIDX using xda app-developers app
Changelog
Changelog: This ChangeLog maybe more up to date.
cm-11-20150112-UNOFFICIAL-shadow.zip
fix for SMS/MMS
cm-11-20150111-UNOFFICIAL-shadow.zip
CM repo sync
Quarx's repo sync
removed LockClock, again
fix for SMS/MMS
cm-11-20140914-UNOFFICIAL-shadow
CM repo sync
Quarx's repo sync
add some langs
soft reboot option
submix support
remove egl/hwui props
decrease ro.telephony.call_ring.delay to 50
remove voice quality config (not usable)
restore 300mhz
a lot of powersave fixes for kernel
try to fix random power up after shutdown phone
twrp 2.8.0.0
cm-11-20140817-UNOFFICIAL-shadow
CM repo sync
Quarx's repo sync
minor kernel fixes
cm-11-20140729-UNOFFICIAL-shadow
CM repo sync
Quarx's repo sync
restored powersave and smartass governors
smartass+deadline used as defaults
set min CPU freq to 400 MHz (does not affect the battery)
new freq calculate method for interactive (by Blechd0se)
increase DSP freq to 875 MHz
some fixes for BT HID
fixed some memory leaks
cm-11-20140722-UNOFFICIAL-shadow
CM repo sync
Quarx's repo sync
changes for TWRP (smaller size, selectable true wipe)
enabled ALS (increase screen brightness)
autoswith battery driver for non-original battery
battery life optimization
support BT-keyboards
remove useless binaries
different kernel tweaks
cm-11-20140713-UNOFFICIAL-shadow
CM repo sync
Quarx's repo sync
fixed BT headset audio
fixed no digits on clock and ringing alarm screens
leave only MPEG4 codec for camcorder(again)
cm-11-20140709-UNOFFICIAL-shadow
CM repo sync
Quarx's repo sync
restored cm bootanimation
increased max event limit (better performance)
now use 720p encoder from sources
reduce hwui memory usage
cm-11-20140706-UNOFFICIAL-shadow
CM repo sync
Quarx's repo sync
initial HDMI support (RealHDMI required)
detailed log
cm-11-20140704-UNOFFICIAL-shadow
CM repo sync
Quarx's repo sync
some fixes for kernel
calendar sync with new gapps
detailed log
cm-11-20140620-UNOFFICIAL-shadow
CM repo sync (Android 4.4.4)
Quarx's repo sync
cm-11-20140614-UNOFFICIAL-shadow
CM repo sync (CM Account)
Quarx's repo sync
removed unneeded libs
by default GPU OC disabled
fixed charge only mode
enabled zRam (swap 128mb) (type 'free' in terminal)
some system modules moved to kernel
cm-11-20140607-UNOFFICIAL-shadow
CM repo sync (Android 4.4.3)
Quarx's repo sync
some fixes for system stability
cm-11-20140523-UNOFFICIAL-shadow
CM repo sync (lot of changes)
Quarx's repo sync
add ffmpeg support
cap max CPU frequency to 1 GHz as soon as possible
add Swedish
decrease min_free_kbytes to 10240
JustArchi's ArchiDroid Optimizations V2
prebuilt Google Now with gapps 5-22
better USB OTG support
cm-11-20140509-UNOFFICIAL-shadow
CM repo sync
possible fix for different apn: data, mms (not tested)
fixed com.google.android.location FC (require updated gapps 5-5 or up)
add missed themes settings icons
some rework for camera HAL (for future changes)
add kpanic partition support
custom eri for some carriers (require changed ro.cdma.home.operator.numeric=mccmnc in build.prop)
voicemail number moved into build.prop (ro.cdma.vm.number)
cm-11-20140505-UNOFFICIAL-shadow
CM repo sync
restored SVOX, PicoTts
fixed com.android.incallui FC
freeup ~90 Mb space on system partition
fixed vibration in recovery
disable menu, back and search buttons for wake phone
cm-11-20140502-UNOFFICIAL-shadow
CM repo sync (landscape mode for call UI, etc.)
backported interactive gov from 3.4 kernel (for test)
fixed batt charge counter in recovery
in recovery battery charging support (can be used for battery calibration)
common system cleanup
fix for new version of Netflix
increase min_free_kbytes to 20480
some performance tweaks
returned to the previous wallpaper
cm-11-20140424-UNOFFICIAL-shadow
CM repo sync
fixed GPS
option in BT settings to accept receiving any files
indicate connected headset by icon in statusbar
hide mobile plan (GSM) item in network settings
cm-11-20140422-UNOFFICIAL-shadow
CM repo sync
fixed network modes in data settings (2G(CDMA), 3G(EVDO), auto)
fix for phone randomly turns on after shutdown
deleted Defy's stuff
fix for Netflix
fixed mbm and mbm loader version
proper fix for sensors (accelerometer, etc.)
fix for 143 GPIO (audio) problem
probable fix for OTG reset
fixed kim driver
system stability improvements
cm-11-20140416-UNOFFICIAL-shadow
CM repo sync (new theme engine, etc.)
fix in call audio switching (BT also, but only scratch may hear)
Defy's files cleanup
deleted some GSM stuff
cap battery level at 100%
cm-11-20140410-UNOFFICIAL-shadow
CM repo sync
fix crash on camera close
fix widescreen photo autofocus (6Mp)
cm-11-20140409-UNOFFICIAL-shadow
CM repo sync
fix stuck on reboot
cm-11-20140407-UNOFFICIAL-shadow
CM repo sync
add egl tweaks
Defy Parts -> Additional settings
fix 720p video record (6Mp autofocus broken again)
set high-end graphics enabled by default
increase video quality
removed Stk.apk (SIM toolkit)
no need to reboot before install gapps (3-22 or later)
cm-11-20140331-UNOFFICIAL-shadow
Fixed:
data connection (EvDo, 1xRTT)
New:
changed OC method (Milestone OC)
cm-11-20140329-UNOFFICIAL-shadow
Fixed:
volume buttons for zoom in camera app
unmapped key error
unknown carrier
focus(camera) button sometimes works like back button
cm-11-20140328-UNOFFICIAL-shadow
Fixed:
CDMA
reboots
New:
TWRP Recovery 2.7.0.0
stability improves
cm-11-20140326-UNOFFICIAL-shadow
Fixed:
8Mp photo quality for stock camera
New:
some work to increase battery life
cm-11-20140325-UNOFFICIAL-shadow
Fixed:
Camera
video: 480p
photo: 5M - will be fixed soon
*​cm-11-20140324-UNOFFICIAL-shadow
Fixed:
Torch/led flash
New:
CM repo sync (KK 4.4.2_r2)
Reduce LockClock size (free up some memory on*system partition)
cm-11-20140322-UNOFFICIAL-shadow
Fixed:
Vibration
FM (that I broke in 03.20* :emoji_u1f604
New:
CM repo sync (new wallpaper from them and other things)
Stability improvements
A little closer to make CDMA working (modem detected now, but can't init)
cm-11-20140320-UNOFFICIAL-shadow
Fixed:
Proximity sensor
Inverted compass
cm-11-20140317-UNOFFICIAL-shadow
Fixed:
GPS
Bluetooth
FM Radio
cm-11-20140314-UNOFFICIAL-shadow
Fixed:
safety information in «About phone»
chargeonly mode
bootstrap image directory
proper removal of battery stats
remove export path in logwrapper
New:
more network modes (for future)
permissions for apps
low RAM enabled by default
reduce System app size
some new props in build.prop
cm-11-20140312-UNOFFICIAL-shadow(new)
Fixed:
accelerometer inverted axis
rotation sensor inverted axis
cm-11-20140312-UNOFFICIAL-shadow
Fixed:
screen rotation
cm-11-20140307-UNOFFICIAL-shadow
Fixed:
data mount on system start
-** apps can be installed normally​-** no more wipe data on reboot​
data mount in TWRP recovery
adb in bootmenu (no bootmenu - no problem )
New:
safestrap instead of bootmenu.
cm-11-20140301-UNOFFICIAL-shadow
minor version
latest version with bootmenu
cm-11-20140227-UNOFFICIAL-shadow (deleted)
unstable
data partition mount problem
wipe data after each reboot
So it takes 30 minutes to boot?
Im still sitting here amazed..........thank you Aaahh!!!!! I wish i had my laptop to sbf!!!
Sent from my unicorn themed DROID X running AOKP-Kanged? v2.5
Couldnt find asset either.
Is it inside the updater script?
holy crap! thanks! You're amazing. gonna try this tomorrow
To get the zip to flash, you need to remove the first line in updater-script, starting with "assert". If you use Windows, either use Notepad++, sed, dos2unix, or something to strip out the carriage-return for LF.
I've been following progress on this project for awhile, since page 40 something in the original thread. I'm thankful that my old DX has new life breathed into it!
Edit:
Several apps FC'd on boot. I also noticed that the notification bar was missing for some reason. I attempted to boot into TWRP following that, but it won't work. Hmm. I later discovered that internal storage wasn't mounted at all. Could that be the culprit?
Edit 2:
I did something very experimental: using /etc/init.d, I wrote a command to mount /data. I thought it was a good idea, and my DX did report that it was "upgrading" its apps, but eventually I booted to Trebuchet crashing over and over again. Hopefully something will be figured out in the meantime.
cm-11-20140301-UNOFFICIAL-shadow.zip for testing. ROM that I have built before moving repo sources on to safestrap. asset already deleted. And some screenshots Also, for me data partition mounted automaticaly and I don't got bootloop (system started for a few seconds after installing in twrp) and FC's on system starting.
New CM11: cm-11-20141226-UNOFFICIAL-shadow.zip
For now we can use kernel from Defy, anyway I will continue to keep working on ours own kernel.
USB Host (OTG) is working!! Have connected mouse right now flash drive not detected for some reason
There are links to KitKat Gapps in my list, but I have not test them on this rom
sd_shadow's [Collection] of Links For: Gapps
and TWRP doesn't seem work after flashing CM11, I haven't test but thinking flashing TWRP image right after CM11, (before rebooting) may be a temp fix.
sd_shadow said:
There are links to KitKat Gapps in my list, but I have not test them on this rom
sd_shadow's [Collection] of Links For: Gapps.
Click to expand...
Click to collapse
No free space for gapps on system partition
sd_shadow said:
and TWRP doesn't seem work after flashing CM11, I haven't test but thinking flashing TWRP image right after CM11, (before rebooting) may be a temp fix.
Click to expand...
Click to collapse
don't flash it after CM11, this will format system and left only bootmenu with twrp. I think Aaahh will make another zip with his solution.
upd: Aaahh already corrected update-script, so it don't erase system. Any way bootmenu in CM11 and flash.zip have some different structure, I can not predict the outcome of installing.
Oh my god, you're SERIOUS???? Holy **** man, you guys are amazing, I can't even express how much I appreciate your guys' work! It's time to take my X out of the drawer again!
m.ksy said:
cm-11-20140301-UNOFFICIAL-shadow.zip for testing. ROM that I have built before moving repo sources on to safestrap. asset already deleted. And some screenshots Also, for me data partition mounted automaticaly and I don't got bootloop (system started for a few seconds after installing in twrp) and FC's on system starting.
Click to expand...
Click to collapse
booted in 2mins for me, didn't see any FCs, but didn't have much time to play with it.
Sent from my XT862 using Tapatalk
Aaahh said:
WE DID IT!!! WE DID IT!!!
Okay i got cm11 to work!!!!
Two zips to flash and an apk!!!
I just GOT IT TO WORK!!!
Um okay install the 621mod cwm5 apk after rootinging with framaroot!
Then Flash my flash.zip
Then flash C11xxxxxxx.zip
BAM!!!!
http://www.youtube.com/watch?v=SBCw4_XgouA&feature=kp
what work and doesnt is uknown it just booted,
IT will BOOTLOOP, THATS NORMAL JUST LEAVE IT THERE FOR LIKE 30MINUTES WITH A ATLEAST 80% BATTERY!!!
Cm11xxxx
https://drive.google.com/file/d/0B9uqk9InEzCYUVZ2TVVlUjd0c1E/edit?usp=sharing
YOU MUST OPEN THE CM11 ZIP AND GOT TO meta/google/android/updater-script AND DELTE THE ASSET!
i'm sorry i'm to distracted testing!
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
Yeah i didnt explain well,
there are some of bugs like no status bar, and the home button doesnt work...
1. Sbf
2. Root (framaroot)
3. Restart
4. Install "Droid2Bootstrap621MOD.apk"
5. "Install bootstrap" and "Reboot now"
6. Flash "Flash.zip"
7. Restart
8. Click Vol, Down on Blue led
9. Recovery -> Twrp (its touch)
10. Select install and my rom
11. Wait awhile.
12. When done, power off, the green led may stay on, ignore, and after 2min pull battery
13. Turn on.
14. Drink 10 cups of tea, and then return.
15. Come back here and tell me how many bugs you found...
Click to expand...
Click to collapse
m.ksy said:
cm-11-20140301-UNOFFICIAL-shadow.zip for testing. ROM that I have built before moving repo sources on to safestrap. asset already deleted. And some screenshots Also, for me data partition mounted automaticaly and I don't got bootloop (system started for a few seconds after installing in twrp) and FC's on system starting.
Click to expand...
Click to collapse
As one of the members who started and led the campain for KitKat until my laptop failure in early Dec, I must say I am proud of this moment, for us all, and for this device. By achieving this milestone, we, the development community, have once again proven Motorola wrong in their decision to drop support for certain devices, and given this device new life.
I will be testing this out this evening.
Everyone involved in this rock. Majorly impressive.
Sent from my XT875 using Tapatalk 2

[KERNEL][G800F][exynos][G800FXXU1*][TW Only][MM Only]Custom Kernel

hennymcc:
Important notice:
- You flash this image at your own responsibility. I am not responsible for any damage that might be caused by flashing this image (bricked device, lost data, ...)
- Flashing this kernel image will trigger the KNOX counter, so your warranty will be void.
- The image is only for S5 Mini SM-G800F (Exynos)
- The kernel is not tested well. It might be instable, crash your device, drain your battery, or even might damage your smartphone (e.g. if an OTG device drains too much power)
- Backup your data before flashing and check if the original firmware is present (e.g. at SamMobile)
Click to expand...
Click to collapse
Side note: Tripping KNOX counter might break some Samsung applications even after a factory reset. This might be due to secure storage(which is fixable), but for now be cautious if you depend on these features! This image will likley damage the Qualcomm variant of the S5 Mini, do not flash if you have a G800H!
Hello! :laugh:
I've been working on a custom kernel for a while for personal use but I thought some of you might like it.
Current feature list:
Patched to Linux 3.4.113
Fading LED notification (default disabled)
Added row I/O Scheduler
Added zzmoove CPU Governor(with temperature export)
Added PIE network scheduler(supposed to reduce latency, default disabled)
DriveDroid support
Universal Control Interface[UCI] (use the Synapse app to configure)
USB OTG
Boeffla sound engine (Only configurable via Synapse! default disabled)
Powersuspend with LCD panel hooks
1.5GHZ clock speed on processors with revision 2 and above
Double Tap 2 Wake
Voltage Control
MDNIE Hijack
F2FS Support
Haptic Feedback for soft keys
Compiled with Self built Linaro 5.3 toolchain
This kernel is currently only designed to work with the corresponding TouchWiz ROM and likely won't be able to boot custom ROMs. KitKat/Lollipop TouchWiz is also not supported!
If you have any questions about the included features (how to enable, what they do) you may ask in the Q&A until I update the thread.
About 1.5GHZ clock speed
So, as it turns out, Samsung had already done the work to push the 3470 to 1.5GHZ. The frequency tables were already there and all that needed to be done was to remove a soft limit set on it and voila! 1.5GHZ! The catch is that these tables only applied to the second revision of the SoC and above.
Possible reasons why Samsung set the limit:
The S5 mini comes out with both the older and newer revisions of the 3470 and Samsung wanted to avoid getting in legal trouble for selling a higher clocked phone as the same product
The higher clock speeds legitimately can damage the phone
As I don't have multiple S5 Mini's at hand I can't prove the first point, but the second point is more likely true. If you don't feel comfortable with the higher clock speeds you may lower the maximum to 1.4GHZ via Synapse, but the default clock is always 1.5GHZ due to the way in which the frequency controller works.
Current status : BETA
Credits:
andip71(Boeffla sound), faux123(Powersuspend), FrozenCow(DriveDroid support), ZaneZam(zzmoove), Linux Foundation(kernel patches), AndreiLux(Voltage patches for INT and MIF bus), Yank(MDNIE hijack), Samsung(F2FS)
On-board BusyBox by meefik https://play.google.com/store/apps/details?id=ru.meefik.busybox&hl=en
The authors are not responsible for the way in which their features have been implemented in this kernel. Do not post bug reports to them!
Flashing procedure will be the same as with this kernel.
Download current image here:http://forum.xda-developers.com/devdb/project/?id=10241#downloads
Chaneglog:
Code:
1.0
-Initial Release
1.1
-ZZMoove Update to 1.0 Beta 8
- Linux Update to 3.4.108
- Toolchain update
- 1.5ghz unlock for higher revision SoC's
1.2
- Ramdisk update
- Double Tap 2 Wake!
- UCI update
- USB OTG now permanently enabled
1.3
- Voltage Control (CPU, GPU, bus)
- Fixes for DT2W
- Linux Update to 3.4.109
1.4
- Intelliactive Removed
- Linux Update to 3.4.110
- MDNIE Hijack
1.4_L
- Lollipop Variant Now Live
1.4_L2
- Second Lollipop release
- Fixed OTG
- System partition can be remounted again
- Removed Frandom (Does not work so well in Lollipop)
1.5
- KitKat support terminated
- Fix annoying bootloader warning ("KERNEL IS NOT SEANDROID ENFORCING")
- F2FS Drivers updated and F2FS support improved (/data and /cache)
- Patch to Linux 3.4.111
- UKSM removed due to stability concerns
- SELinux policy support update (Latest SuperSU betas might need this)
- Switch to self built linaro toolchain
1.6
- Update to Linux 3.4.112
- F2FS drivers updated
1.7
- F2FS drivers update
- NTFS support enabled (eg. for reading USB HDDs)
- Kernel side haptic feedback on soft keys added (see second post)
1.8
- patch to 3.4.113
1.9
- Switchable OTG
2.0
- Updated to MM
- No longer need to install BusyBox manually to use Synapse
XDA:DevDB Information
G800F Custom Kernel, Kernel for the Samsung Galaxy S5 Mini
Contributors
CurtisMJ
Source Code: https://github.com/CurtisMJ/g800f_custom_kernel
Kernel Special Features: Boeffla Sound, Fading LED, Linux 3.4.113, row I/O Scheduler, zzmoove CPU governor, PIE netsched, DriveDroid support, UCI, USB OTG, DT2W, Voltage Control, MDNIE Hijack, F2FS, Haptic feedback
YOU MAY NEED TO REFLASH SUPERSU AFTER FLASHING THE KERNEL!
Version Information
Status: Beta EOL
Current Beta Version: 2.0
Beta Release Date: 2017-03-07
Created 2015-06-08
Last Updated 2017-03-07
Reserved
OTG switching
Credit to tobigun for the original code (I actually attempted it at some point but failed miserably).
Execute the commands in a terminal:
Turn on OTG
Code:
su -c echo OTG > /sys/class/sec/switch/otg_cable_type
Turn off OTG
Code:
su -c echo USB > /sys/class/sec/switch/otg_cable_type
(Haven't touched Synapse in forever, cannot make sense of it anymore, so no Synapse switch soz)
Synapse Issues
I had some trouble with colour choosers crashing Synapse under specific conditions. If Synapse keeps crashing when picking colours for MDNIE, please try the custom build available in the downloads section of this project.
IF THE DEVICE IS CRASHING WHEN USING SYNAPSE, THEN YOU HAVE LIKELY SET UNSTABLE SETTINGS! SYNAPSE WILL NOT PREVENT THIS, SO PLEASE BE CAREFUL WHEN CHANGING SETTINGS!
There are two ways to recover:
- Use your recovery to delete Synapse's data folder
- Factory Reset your device (Only in extreme cases)
Using PIE netsched:(likely not working with Android at this point in time)
Run following in root terminal or as init.d script
Code:
tc qdisc replace dev wlan0 root pie
tc qdisc replace dev p2p0 root pie
tc qdisc replace dev rmnet0 root pie
ZZMoove and profiles:
The zzmoove governor is highly recommended. It can be set to various profiles to mimic the benefits of various other governors. It'll even ensure the device doesn't overheat!
The profile can be set by setting the "profile number" tunable in Synapse to one of the number values mentioned here. Setting it will change a bunch of other tunables. You'll need to restart Synapse after setting it and save the changes for future application.
Notes on DVFS
Samsung's DVFS feature in their TouchWiz ROMs seems to get a bit shouty when anything other than the "interactive" CPU governor is active. It could also be the cause of rare kernel panics relating to CPU frequency tables(frequency controller expects something from the governor, governor doesn't deliver, panic). Since it also seems to cause a couple other unrelated issues, I'd recommended simply disabling it altogether(the easiest way being via Xposed)
Double Tap 2 Wake
This feature allows you to wake the device by double tapping on the screen while it is off. NOTE:Deep sleep is near totally inhibited while this feature is active, this means extra battery may be consumed. On a tweaked ROM you'll get 2-3%/hr on full standby, on non tweaked you'll get about 4-5%/hr, please keep this in mind while using the feature! Android OS suspension should be unaffected. The feature disables itself when a Samsung branded flip cover is closed, including S-View covers(no double tapping on the window). The feature makes use of the light and proximity sensors in order to detect whether the device is in a dark enclosed place (eg. A pocket) and disables itself in these situations as well in order to prevent accidental wakes (though that may still happen...)
MDNIE Hijack Example
Profile based of iPhone 6+ screen:
R: FF 00 00 - G: 12 FC 12 - Bu: 00 00 FF - C: 12 FF FF
M: FF 00 FF - Y: FF FF 00 - W: FF FF FF - Bl: 00 00 00
Feel free to post any other nice looking profiles you find
Init.d in Lollipop
I did not add Init.d support when building the Lollipop variant's ramdisk. Instead, /su/su.d should be used to run boot scripts. The functionality is exactly the same as the old Init.d.
Haptic feedback on soft keys
In order to avoid conflict with ROM side solutions, haptic feedback is disabled by default. It can be enabled via the following command which can be run as a boot script (eg. in /su/su.d). Command must run as root.
Code:
echo 1 > /sys/class/misc/abov_touckey/vibrate
NOTE: Above "touchkey" was misspelled in code. It should be fixed in a future update. Sorry for any inconvenience
still not fixed lol
Extra Compatibility Notes:
[url]http://forum.xda-developers.com/showpost.php?p=62226500&postcount=2[/URL]
Awesome, thanks !
Installed it and testing now
After a few days of testing !!! All I can say is, Great Kernel :good:
Good performance, great battery life
No issues so far.:highfive:
Working fine on G800FXXU1AOE3
And works great on G800FXXU1AOG2 too.
Again big Thanks Curtis ! :angel:
kernel is damn good.
Games running very fast for me with the new updated kernel
The 1.5Ghz CPU overclock is .. awesome
For additional gaming performance you can lock the GPU Frequency like this:
Shell command:
cd sys/module/mali/parameters
echo 533 > mali_dvfs_control
thats it, gpu locked to 533 mhz. Thanks to hennymcc for this commands
for example:
GTA San Andreas running now with maximum resolution+visibility graphical settings
Solid 30+ FPS :cyclops:
Sorry for noob question - can someone show me the exact syntax to enter in Terminal (or procedure) to activate OTG ? I don't seem to figure it out .
seaman5705 said:
Sorry for noob question - can someone show me the exact syntax to enter in Terminal (or procedure) to activate OTG ? I don't seem to figure it out .
Click to expand...
Click to collapse
To turn on:
Code:
su -t echo 1 > /sys/devices/virtual/sec/switch/otg
And off:
Code:
su -t echo 0 > /sys/devices/virtual/sec/switch/otg
Will ask for root.
EDIT: Enter exact commands in terminal emulator or adb shell
Thanks Curtis , but something is wrong in my case . It doesn't work and I don't understand why . After running the script , I granted the root access
, everything seemed to be ok , but nothing happens when I connect and USB key which is recognized in my S4 phone .
seaman5705 said:
Thanks Curtis , but something is wrong in my case . It doesn't work and I don't understand why . After running the script , I granted the root access
, everything seemed to be ok , but nothing happens when I connect and USB key which is recognized in my S4 phone .
Click to expand...
Click to collapse
Does anything else work? OTG also gets reset on boot, maybe it needs to be in an init.d script. I'll admit, I don't have an OTG cable to test, perhaps I should get hold of one, but the code definitely creates the right behavior (exactly the same as the other OTG kernel around here actually). Maybe switchable isn't the right way to go about it and OTG must be enabled permanently. I'll have to look into this, but in the meantime could you perhaps test with the other OTG kernel and see if it works? Also, the stick maybe might not be automatically mounting. Run "mount" in a terminal and see if it pops up. Apologies for the inconvenience.
CurtisMJ said:
Does anything else work? OTG also gets reset on boot, maybe it needs to be in an init.d script. I'll admit, I don't have an OTG cable to test, perhaps I should get hold of one, but the code definitely creates the right behavior (exactly the same as the other OTG kernel around here actually). Maybe switchable isn't the right way to go about it and OTG must be enabled permanently. I'll have to look into this, but in the meantime could you perhaps test with the other OTG kernel and see if it works? Also, the stick maybe might not be automatically mounting. Run "mount" in a terminal and see if it pops up. Apologies for the inconvenience.
Click to expand...
Click to collapse
No, it will not mount . I tested and OTG works with henny's kernel . Otherwise you made a great kernel - thanks for your work and your advices !
seaman5705 said:
No, it will not mount . I tested and OTG works with henny's kernel . Otherwise you made a great kernel - thanks for your work and your advices !
Click to expand...
Click to collapse
Attached is a build of the kernel with OTG enabled on a permanent basis. If you would not mind, could you test to see if it works? If so it will be done this way in future release, if not I will have to have a good look at any related code...
(P.S, sorry for the wait, my dual-boot was giving me issues)
CurtisMJ said:
Attached is a build of the kernel with OTG enabled on a permanent basis. If you would not mind, could you test to see if it works? If so it will be done this way in future release, if not I will have to have a good look at any related code...
(P.S, sorry for the wait, my dual-boot was giving me issues)
Click to expand...
Click to collapse
Yes , OTG works with this kernel . Great !
Note that after flashing, another reboot is needed to have the usb key properly mounting and poping up the file explorer with the key's content on connection .
Thanks !
New Version!
New version of my custom kernel released. Now includes Double Tap 2 Wake.
Is it possible to add voltage control to your kernel ? thanks .
CPU Voltage control is now implemented. Will work on a Synapse interface and the int and mif buses later today.
New Version!
Voltage control, Linux patches and fixes for DT2W waking up the screen while a call is in progress(sorry 'bout that)
Working great - I achieved good undervolting . Thanks
Hope to see a modified kernel for Lollipop too .

Magisk - The Magic Mask for Android

{
"lightbox_close": "Close",
"lightbox_next": "Next",
"lightbox_previous": "Previous",
"lightbox_error": "The requested content cannot be loaded. Please try again later.",
"lightbox_start_slideshow": "Start slideshow",
"lightbox_stop_slideshow": "Stop slideshow",
"lightbox_full_screen": "Full screen",
"lightbox_thumbnails": "Thumbnails",
"lightbox_download": "Download",
"lightbox_share": "Share",
"lightbox_zoom": "Zoom",
"lightbox_new_window": "New window",
"lightbox_toggle_sidebar": "Toggle sidebar"
}
Welcome to the Magisk Release / Announcement thread!
For all up-to-date info and links, please directly check Magisk's GitHub Page​Installation
Download count of previously XDA hosted files: 25,490,945
v1: 8746 v2: 2251 v3: 3790 v4: 1220 v5: 2914
v6: 138838 v7: 119744 v8: 116796 v9: 203836 v10.2: 215176
v11.1: 573322 v11.6:438886 v12.0: 3263706
1300: 274438 1310: 1018692 1320: 403556 1330: 1844372
1350: 39188 1360: 69874 1400: 4456314
1410: 11512 1420: 112020 1437: 247988 1455: 30652
1456: 253042 1468: 85978 1500: 434572 1510: 460120
1520: 927436 1530: 218164 1531: 3143686 1540: 97368
1600: 6043710 1610: 87628 1620: 140382
Changelog
Magisk
v20.3
- [MagiskBoot] Fix lz4_legacy decompression
v20.2
- [MagiskSU] Properly handle communication between daemon and application (root request prompt)
- [MagiskInit] Fix logging in kmsg
- [MagiskBoot] Support patching dtb/dtbo partition formats
- [General] Support pre-init sepolicy patch in modules
- [Scripts] Update magisk stock image backup format
v20.1
- [MagiskSU] Support component name agnostic communication (for stub APK)
- [MagiskBoot] Set proper header_size in boot image headers (fix vbmeta error on Samsung devices)
- [MagiskHide] Scan zygote multiple times
- [MagiskInit] Support recovery images without /sbin/recovery binary. This will fix some A/B devices unable to boot to recovery after flashing Magisk
- [General] Move acct to prevent daemon being killed
- [General] Make sure "--remove-modules" will execute uninstall.sh after removal
v20.0
- [MagiskBoot] Support inject/modify mnt_point value in DTB fstab
- [MagiskBoot] Support patching QCDT
- [MagiskBoot] Support patching DTBH
- [MagiskBoot] Support patching PXA-DT
- [MagiskInit] [2SI] Support non A/B setup (Android 10)
- [MagiskHide] Fix bug that reject process names with ":"
- [MagicMount] Fix a bug that cause /product mirror not created
v19.4
- [MagiskInit] [SAR] Boot system-as-root devices with system mounted as /
- [MagiskInit] [2SI] Support 2-stage-init for A/B devices (Pixel 3 Android 10)
- [MagiskInit] [initramfs] Delay sbin overlay creation to post-fs-data
- [MagiskInit] [SARCompat] Old system-as-root implementation is deprecated, no more future changes
- [MagiskInit] Add overlay.d support for root directory overlay for new system-as-root implementation
- [MagiskSU] Unblock all signals in root shells (fix bash on Android)
- [MagicMount] Support replacing files in /product
- [MagiskHide] Support Android 10's Zygote blastula pool
- [MagiskHide] All random strings now also have random length
- [MagiskBoot] Allow no recompression for ramdisk.cpio
- [MagiskBoot] Support some weird Huawei boot images
- [General] Add new "--remove-modules" command to remove modules without root in ADB shell
- [General] Support Android 10 new APEX libraries (Project Mainline)
v19.3
- [MagiskHide] Hugely improve process monitor implementation, hopefully should no longer cause 100% CPU and daemon crashes
- [MagiskInit] Wait for partitions to be ready for early mount, should fix bootloops on a handful of devices
- [MagiskInit] Support EROFS used in EMUI 9.1
- [MagiskSU] Properly implement mount namespace isolation
- [MagiskBoot] Proper checksum calculation for header v2
v19.2
- [General] Fix uninstaller
- [General] Fix bootloops on some devices with tmpfs mounting to /data
- [MagiskInit] Add Kirin hi6250 support
- [MagiskSU] Stop claiming device focus for su logging/notify if feasible
This fix issues with users locking Magisk Manager with app lock, and prevent
video apps get messed up when an app is requesting root in the background.
v19.1
- [General] Support recovery based Magisk
- [General] Support Android Q Beta 2
- [MagiskInit] New sbin overlay setup process for better compatibility
- [MagiskInit] Allow long pressing volume up to boot to recovery in recovery mode
- [MagicMount] Use proper system_root mirror
- [MagicMount] Use self created device nodes for mirrors
- [MagicMount] Do not allow adding new files/folders in partition root folder (e.g. /system or /vendor)
v19.0
- [General] Remove usage of magisk.img
- [General] Add 64 bit magisk binary for native 64 bit support
- [General] Support A only system-as-root devices that released with Android 9.0
- [General] Support non EXT4 system and vendor partitions
- [MagiskHide] Use Zygote ptracing for monitoring new processes
- [MagiskHide] Targets are now per-application component
- [MagiskInit] Support Android Q (no logical partition support yet!)
- [MagiskPolicy] Support Android Q new split sepolicy setup
- [MagiskInit] Move sbin overlay creation from main daemon post-fs-data to early-init
- [General] Service scripts now run in parallel
- [MagiskInit] Directly inject magisk services to init.rc
- [General] Use lzma2 compressed ramdisk in extreme conditions
- [MagicMount] Clone attributes from original file if exists
- [MagiskSU] Use ACTION_REBOOT intent to workaround some OEM broadcast restrictions
- [General] Use skip_mount instead of auto_mount: from opt-in to opt-out
v18.1
- [General] Support EMUI 9.0
- [General] Support Kirin 960 devices
- [General] Support down to Android 4.2
- [General] Major code base modernization under-the-hood
v18.0
- [General] Migrate all code base to C++
- [General] Modify database natively instead of going through Magisk Manager
- [General] Deprecate path /sbin/.core, please start using /sbin/.magisk
- [General] Boot scripts are moved from <magisk_img>/.core/<stage>.d to /data/adb/<stage>.d
- [General] Remove native systemless hosts (Magisk Manager is updated with a built-in systemless hosts module)
- [General] Allow module post-fs-data.sh scripts to disable/remove modules
- [MagiskHide] Use component names instead of process names as targets
- [MagiskHide] Add procfs protection on SDK 24+ (Nougat)
- [MagiskHide] Remove the folder /.backup to prevent detection
- [MagiskHide] Hide list is now stored in database instead of raw textfile in images
- [MagiskHide] Add "--status" option to CLI
- [MagiskHide] Stop unmounting non-custom related mount points
- [MagiskSU] Add FLAG_INCLUDE_STOPPED_PACKAGES in broadcasts to force wake Magisk Manager
- [MagiskSU] Fix a bug causing SIGWINCH not properly detected
- [MagiskPolicy] Support new av rules: type_change, type_member
- [MagiskPolicy] Remove all AUDITDENY rules after patching sepolicy to log all denies for debugging
- [MagiskBoot] Properly support extra_cmdline in boot headers
- [MagiskBoot] Try to repair broken v1 boot image headers
- [MagiskBoot] Add new CPIO command: "exists"
v17.3
- [MagiskBoot] Support boot image header v1 (Pixel 3)
- [MagiskSU] No more linked lists for caching su_info
- [MagiskSU] Parse command-lines in client side and send only options to daemon
- [MagiskSU] Early ACK to prevent client freezes and early denies
- [Daemon] Prevent bootloops in situations where /data is mounted twice
- [Daemon] Prevent logcat failures when /system/bin is magic mounting, could cause MagiskHide to fail
- [Scripts] Switch hexpatch to remove Samsung Defex to a more general pattern
- [Scripts] Update data encryption detection for better custom recovery support
v17.2
- [ResetProp] Update to AOSP upstream to support serialized system properties
- [MagiskInit] Randomize Magisk service names to prevent detection (e.g. FGO)
- [MagiskSU] New communication scheme to communicate with Magisk Manager
v17.0/17.1
- [General] Bring back install to inactive slot for OTAs on A/B devices
- [Script] Remove system based root in addon.d
- [Script] Add proper addon.d-v2 for preserving Magisk on custom ROMs on A/B devices
- [Script] Enable KEEPVERITY when the device is using system_root_image
- [Script] Add hexpatch to remove Samsung defex in new Oreo kernels
- [Daemon] Support non ext4 filesystems for mirrors (system/vendor)
- [MagiskSU] Make pts sockets always run in dev_pts secontext, providing all terminal emulator root shell the same power as adb shells
- [MagiskHide] Kill all processes with same UID of the target to workaround OOS embryo optimization
- [MagiskInit] Move all sepolicy patches pre-init to prevent Pixel 2 (XL) boot service breakdown
v16.7
- [Scripts] Fix boot image patching errors on Android P (workaround the strengthened seccomp)
- [MagiskHide] Support hardlink based ns proc mnt (old kernel support)
- [Daemon] Fix permission of /dev/null after logcat commands, fix ADB on EMUI
- [Daemon] Log fatal errors only on debug builds
- [MagiskInit] Detect early mount partname from fstab in device tree
v16.6
- [General] Add wrapper script to overcome weird LD_XXX flags set in apps
- [General] Prevent bootloop when flashing Magisk after full wipe on FBE devices
- [Scripts] Support patching DTB placed in extra sections in boot images (Samsung S9/S9+)
- [Scripts] Add support for addon.d-v2 (untested)
- [Scripts] Fix custom recovery console output in addon.d
- [Scripts] Fallback to parsing sysfs for detecting block devices
- [Daemon] Check whether a valid Magisk Manager is installed on boot, if not, install stub APK embedded in magiskinit
- [Daemon] Check whether Magisk Manager is repackaged (hidden), and prevent malware from hijacking com.topjohnwu.magisk
- [Daemon] Introduce new daemon: magisklogd, a dedicated daemon to handle all logcat related monitoring
- [Daemon] Replace old invincible mode with handshake between magiskd and magisklogd, one will respwan the other if disconnected
- [Daemon] Support GSI adbd bind mounting
- [MagiskInit] Support detecting block names in upper case (Samsung)
- [MagiskBoot] Check DTB headers to prevent false detections within kernel binary
- [MagiskHide] Compare mount namespace with PPID to make sure the namespace is actually separated, fix root loss
- [MagiskSU] Simplify su_info caching system, should use less resources and computing power
- [MagiskSU] Reduce the amount of broadcasting to Magisk Manager
- [ImgTool] Separate all ext4 image related operations to a new applet called "imgtool"
- [ImgTool] Use precise free space calculation methods
- [ImgTool] Use our own set of loop devices hidden along side with sbin tmpfs overlay. This not only eliminates another possible detection method, but also fixes apps that mount OBB files as loop devices (huge thanks to dev of Pzizz for reporting this issue)
v16.4
- [Daemon] Directly check logcat command instead of detecting logd, should fix logging and MagiskHide on several Samsung devices
- [Daemon] Fix startup Magisk Manager APK installation on Android P
- [MagiskPolicy] Switch from AOSP u:r:su:s0 to u:r:magisk:s0 to prevent conflicts
- [MagiskPolicy] Remove unnecessary sepolicy rules to reduce security penalty
- [Daemon] Massive re-design /sbin tmpfs overlay and daemon start up
- [MagiskInit] Remove magiskinit_daemon, the actual magisk daemon (magiskd) shall handle everything itself
- [Daemon] Remove post-fs stage as it is very limited and also will not work on A/B devices; replaced with simple mount in post-fs-data, which will run ASAP even before the daemon is started
- [General] Remove all 64-bit binaries as there is no point in using them; all binaries are now 32-bit only.
Some weirdly implemented root apps might break (e.g. Tasker, already reported to the developer), but it is not my fault
- [resetprop] Add Protobuf encode/decode to support manipulating persist properties on Android P
- [MagiskHide] Include app sub-services as hiding targets. This might significantly increase the amount of apps that could be properly hidden
v16.3
- [General] Remove symlinks used for backwards compatibility
- [MagiskBoot] Fix a small size calculation bug
v16.2
- [General] Force use system binaries in handling ext4 images (fix module installation on Android P)
- [MagiskHide] Change property state to disable if logd is disabled
v16.1
- [MagiskBoot] Fix MTK boot image packaging
- [MagiskBoot] Add more Nook/Acclaim headers support
- [MagiskBoot] Support unpacking DTB with empty kernel image
- [MagiskBoot] Update high compression mode detection logic
- [Daemon] Support new mke2fs tool on Android P
- [resetprop] Support Android P new property context files
- [MagiskPolicy] Add new rules for Android P
v16.0
- [MagiskInit] Support non skip_initramfs devices with slot suffix (Huawei Treble)
- [MagiskPolicy] Add rules for Magisk Manager
- [Compiler] Workaround an NDK compiler bug that causes bootloops
v15.4
- [MagiskBoot] Support Samsung PXA, DHTB header images
- [MagiskBoot] Support ASUS blob images
- [MagiskBoot] Support Nook Green Loader images
- [MagiskBoot] Support pure ramdisk images
- [MagiskInit] Prevent OnePlus angela sepolicy_debug from loading
- [MagiskInit] Obfuscate Magisk socket entry to prevent detection and security
- [Daemon] Fix subfolders in /sbin shadowed by overlay
- [Daemon] Obfuscate binary names to prevent naive detections
- [Daemon] Check logd before force trying to start logcat in a loop
v15.3
- [Daemon] Fix the bug that only one script would be executed in post-fs-data.d/service.d
- [Daemon] Add MS_SILENT flag when mounting, should fix some devices that cannot mount magisk.img
- [MagiskBoot] Fix potential segmentation fault when patching ramdisk, should fix some installation failures
v15.2
- [MagiskBoot] Fix dtb verity patches, should fix dm-verity bootloops on newer devices placing fstabs in dtb
- [MagiskPolicy] Add new rules for proper Samsung support, should fix MagiskHide
- [MagiskInit] Support non skip_initramfs devices using split sepolicies (e.g. Zenfone 4 Oreo)
- [Daemon] Use specific logcat buffers, some devices does not support all log buffers
- [scripts] Update scripts to double check whether boot slot is available, some devices set a boot slot without A/B partitions
v15.1
- [MagiskBoot] Fix faulty code in ramdisk patches which causes bootloops in some config and fstab format combos
v15.0
- [Daemon] Fix the bug that Magisk cannot properly detect /data encryption state
- [Daemon] Add merging /cache/magisk.img and /data/adb/magisk_merge.img support
- [Daemon] Update to upstream libsepol to support cutting edge split policy custom ROM cil compilations
Magisk Manager
v7.5.1
- Fix toggling app components in MagiskHide screen
- Update translations
v7.5.0
- Support new MagiskSU communication method (ContentProvider)
- Fix several issues with hidden stub APK
- Support using BiometricPrompt (face unlock)
v7.4.0
- Hide Magisk Manager with stub APKs on Android 9.0+
- Allow customizing app name when hiding Magisk Manager
- Generate random keys to sign the hidden Magisk Manager to prevent signature detections
- Fix fingerprint UI infinite loop
v7.3.5
- Sort installed modules by name
- Better pre-5.0 support
- Fix potential issues when patching tar files
v7.3.4
- App is now fully written in Kotlin!
- New downloading system
- Add new "Recovery Mode" to Advanced Settings
v7.3.0/1/2
- HUGE code base modernization, thanks @diareuse!
- More sweet changes coming in the future!
- Reboot device using proper API (no more abrupt reboot)
- New floating button in Magisk logs to go to bottom
v7.2.0
- Huge UI overhaul
- More sweet changes coming in the future!
v7.1.2
- Support patching Samsung AP firmware
- Much better module downloading mechanism
v7.1.1
- Fix a bug that causes some modules using new format not showing up
v7.1.0
- Support the new module format
- Support per-application component granularity MagiskHide targets (only on v19+)
- Ask for fingerprint before deleting rules if enabled
- Fix the bug that causes repackaging to lose settings
- Several UI fixes
v7.0.0
- Major UI redesign!
- Render Markdown natively (no more buggy WebView!)
- Support down to Android 4.1 (native Magisk only support Android 4.2 though)
- Significantly improve Magisk log disply performance
- Fix post OTA scripts for A/B devices
- Reduce memory usages when verifying and signing boot image
- Drop support for Magisk lower than v18.0
v6.1.0
- Introduce new downloading methods: no longer uses buggy system Download Manager
- Introduce many new notifications for better user experience
- Add support for Magisk v18.0
- Change application name to "Manager" after hiding(repackaging) to prevent app name detection
- Add built-in systemless hosts module (access in settings)
- Auto launch the newly installed app after hiding(repackaging) and restoring Magisk Manager
- Fix bug causing incomplete module.prop in modules to have improper UI
v6.0.1
- Update to use new online module's organizing method
- When fingerprint authentication is enabled, toggling root permissions in "Superuser" section now requires fingerprint beforehand
- Fix crashes when entering MagiskHide section on some devices
- Remove support to Magisk version lower than v15.0
- Ask storage permissions before patching stock boot image
- Update dark theme CardView color
v6.0.0
- Update to latest AndroidX support library
- Fix crashes when online repos contain incomplete metadata
- Optimize BootSigner to use as little memory as possible, prevent OutOfMemoryError
- Support new communication scheme between Magisk v17.2 and Magisk Manager
- Enable excessive obfuscation to prevent APK analysis root detections (still not 100% obfuscated due to backwards compatibility with stable channel)
2016.10.04
Magisk-v7 is quite a significant update compared to v6. A lot has changed, new features are added, and improved compatibility a lot, especially in selinux issues.
Open Source!
My previous releases has some controversy due to the fact that I included closed source property with unexpected intentions. I had worked hard to create/improve open source tools, so that they can fit my own needs. Magisk is now 100% open source, including the binary it uses.
Brand New Magisk Manager
The Magisk Manager is completely a different application compared to the previous crappy app. It has now packed with features, and it is now part of the core experience of Magisk itself. New features and improvements are still planned, so stay tuned in this application's development!
Repo System, Module Management
We've been putting a lot of effort into constructing this repo system. This change is to make installing Magisk Modules a lot more easier. What I'm aiming is to make Magisk something like Xposed, an interface and a platform for developers to work on. Providing a repo system is a good step towards the goal, as it makes installing new stuffs and receiving updates super simple. I also drastically simplified the Magisk Module template. Right now, I believe anyone with basic knowledge can create their own Magisk Module easily. Changing a few values into a config file should make porting existing mods to Magisk much easier.
Safety Net
My decision to remove root management from Magisk seems to cause some debate. People might wonder why I would remove such feature that made Magisk so popular. Well, I have to emphasize again, Magisk is never meant for bypassing Safety Net. The Xposed and root bypasses are some fun projects that I'm messing with what Magisk is capable of. One of the two main reasons I dropped this feature in Magisk is
1. Xposed is no longer working with Safety Net enabled. I had tried to bypass it with some mounting tricks and process killing, but all of those are not able to fix the issue. Soon suhide is available and it is able to bypass Xposed had made me really frustrated, as I do not want to keep working on a "not complete solution".
2. On the open source side, phh is also developing his own "suhide". phh just released a test build for hiding root (link to his test build), I'm gonna take a look and include it into the Magisk version of phh root.
These two methods are much better than the one I was using. It doesn't need a toggle, it is per app basis, and many more. Also, I'm not creating a root solution, I'm creating an interface that root solutions can rely on. So I decide to give the hiding root "responsibility" to the root solutions, not managed by the interface, Magisk, itself.
Just to let all of you know, one of Magisk Manager's future feature will be a GUI to manage these two root hiding solutions. It will need some time to develop, and I also wanted to do some things in the core Magisk side to add this support natively. So please don't be pissed that I dropped the whole root management thing. It is for a bigger plan
Due to a bug in the template zip, there will be issues flashing the zip files if the path has spaces.
This commit in magisk-module-template should fix the issue.
All repos online is updated with this fix, developers please include this patch into your modules.
2016.10.19 Magisk v8
This release is aimed for bug fixes, and most importantly the ability to hide itself from Safety Net's detection.
Template Cache Module Fix
Due to a bug in the template script, if your module is a cache module, your scripts might not be executed correctly, also flashing in Magisk Manager will cause the UI to break.
This particular commit is the fix, only cache modules are needed to be updated, other modules are working fine.
Search Bar in Download Section
Magisk Manager 2.1 brings search bar to the "Downloads Section", so that it's easier to find a module once the list gets too long.
SuperSU Integration
In the previous release (v7), I decided to automatically convert SuperSU into a Magisk module while installing Magisk. In this release (v8), I make Magisk 100% compatible with SuperSU out of box, not needed to modify how SuperSU work in anyway. For v8 and future releases, Magisk will detect SuperSU patched boot image, and only add the required additional patches to the boot image.
Also, I created further integration for Magisk and SuperSU: Magisk will create a script placed in /data/custom_ramdisk_patch.sh when SuperSU detected. What this means is that the next time you upgrade SuperSU by flashing SuperSU zip in custom recovery, Magisk will automatically be injected. You can also apply OTA updates with FlashFire, and enable SuperSU injection, which will also inject Magisk on-the-go!
For users that was using v7 with SuperSU along with the Helper Module, please manually restore your boot image (should be stored in /data/stock_boot.img), and flash the latest SuperSU, then flash Magisk-v8.
Magisk Hide
This feature should've been released a few weeks ago, but university is killing me lately; overwhelming schoolwork prevents me to finalize the tool, so please pardon my absence and lack of support. But it's still better late than nothing .
In the weeks I have been inactive, Safety Net got a couple updates, each makes bypassing more of an hassle. Magisk v8 introduce "Magisk Hide", the tool to properly hide Magisk, preventing Magisk to break Safety Net features. What it can do is hide all Magisk modules' files and mounts from target processes (e.g. Safety Net), including Magisk compatible phh root maintained by myself.
It cannot hide SuperSU, it cannot hide Xposed. If you want to hide any of them, please use suhide developed by Chainfire.
It should not cause issues as I have been testing quite some while, but if you replace some files with Magisk (known: /system/etc/customize/ACC/default.xml), Google Play Service will constantly crash. Due to this fact, this feature is not enabled by default. You have to manually enable it in the settings of Magisk Manager v2.1 after you upgraded to Magisk v8, and reboot to apply the settings.
Right now, you can manage your own hide list with ways similar to suhide, no GUI:
Code:
(All commands should be run in a root shell)
# Show current list
/magisk/.core/magiskhide/list
# Add new process (the package name should work fine)
/magisk/.core/magiskhide/add <process name or package name>
# Remove a process (might need a reboot to make an effect)
/magisk/.core/magiskhide/rm <process name or package name>
The process com.google.android.gms.unstable (Safety Net) will always automatically be added to the list if Magisk Hide is enabled, so if you just want to bypass Safety Net, just enable in Magisk Manager and you're good to go.
Safety Net - The Already Lost Cat-And-Mouse Game
Keep in mind, in the latest update of Safety Net that just happened in a few hours, Google seems to step up the game, and it might got to the point that no modifications are allowed, and might be impossible to bypass.
Currently on my HTC 10, no matter what I did to the boot image, even just a repack of 100% stock boot image, Safety Net will not pass under any circumstances. On the other hand, my Nexus 9 running stock Nougat seems bypass without issues, with root and modules all enabled and working fine. The boot verification might vary from one OEM to another, HTC's implementation might just be one of the first included into Safety Net, but eventually all major OEMs' method will be included, and at that time I think any Android "mod", including custom kernels, will pretty much break Safety Net. These verification should be coded deep into the bootloader, which is not that easy to crack. So the conclusion is that I will not spend that much time bypassing Safety Net in the future.
The attachment is a screenshot about where to enable Magisk Hide in the app
Magisk MultiROM - POC
I spend some time playing with the possibility of Universal MultiROM by only using Magisk.
Surprisingly, it is not that difficult at all! Here is a small POC video demonstrating my HTC 10 dual booting stock rom and CM 13.
No other dependency is required (e.g. modified TWRP recovery, kext kernel patch etc.). You only need Magisk injected into the boot image, and along with proper settings, by swapping out the boot image, you can load any rom systemless-ly.
What this means is that all Magisk supported device can enjoy MultiROM features! What a great news for flashaholics LOL.
NOTE! The process showed in this video in far from what it will be eventually. I will make the process nice and smooth
2016.11.14 Magisk v9
This release comes with significant updates and changes, doing adjustments to pave the road for the next major update v10: the update with Multirom support!
Please spend some time reading this lengthy release note, the most important information are included in quotes, or bolded and colored in RED.
Also, many other fixes not mentioned here are listed in the changelog.
The End of Cache (post-fs) Modules
This shall be the biggest change for this update. One of Magisk's cool feature is that it can mount files before data and build.prop is loaded (post-fs). Most modules only uses this advantage to modify read-only props (e.g. DPI, fake device model etc.) without modifying build.prop, however with a new tool included in this release (will be introduced in the next section), dealing things in post-fs is not needed anymore.
Instead of having both "Cache Modules" and "Normal Modules" at the same time, confusing both developers and users, creating complexity in module management, the decision is made that "Cache Modules" are no longer supported after this update.
How about some features that require mounting in post-fs mode (known: Changing Boot Animation)? No worries, post-fs mode is still there (as Multirom will depend on this), I only removed the interface for modules.
Magisk no longer let you install cache modules, you have to manually add the files you want to replace, which is actually super easy.
You can place your new files into the corresponding location under /cache/magisk_mount, Magisk will automagiskally manage selinux contexts, permissions and the mounting for you.
For example, you want to replace /system/media/bootanimation.zip, copy your new boot animation zip to /cache/magisk_mount/system/media/bootanimation.zip with any root explorer, Magisk will mount your files in the next reboot.
Click to expand...
Click to collapse
Magisk v9 will remove all installed cache modules under /cache/magisk, which is the previous path where cache modules locate.
Further more, to push developers to upgrade their cache modules, the latest Magisk Manager (v2.5) will filter out cache modules, which means cache modules available in the Magisk repo are NOT shown under the "Download" section in Magisk Manager.
Cache Module developers please refer to the following instructions to update your current module:
Take a look at the changes in this commit (if you're famlier with git, you can just cherry pick this commit, and deal with some minor merge conflicts)
Check the "resetprop" section to understand how to change props without using a cache module, and update your modules accordingly. For example, if you want to replace the build.prop, you no longer need to enable "automount", or bind mount the file manually in your script, as nothing will load it again.; instead, you should enable post-fs-data script, and read your new build.prop file with proper commands. If you want to change certain prop values, just switch from post-fs script to post-fs-data script, and instead of calling "setprop", please call "/data/magisk/resetprop" to set your props.
Remember to remove the "cacheModule" entry or set to false in the module.prop file, or else your module will never show up in the Magisk Download section in the Magisk Manager!
New Badass Tool - resetprop
To be honest, this tool itself deserves a new thread on XDA, as it is super powerful and super cool.
"resetprop", originally named "xsetprop", was initially developed by @nkk71 to bypass the crazy tough detections for Safety Net. Developers found method to bypass the check by modifying the kernel source code, which served the need but the solution is far from perfect as it requires the source code to be available and kernel compiling.
The tool was originally made to directly modify the system prop database. With seeing the potential of this tool, I contacted @nkk71 and start collaborating together, which brings the original simple tool into a full-fledged, all-in-one prop management tool.
Here are some technical details:
System props are handled by "init", a binary located in the ramdisk which starts right after kernel is loaded. "props" are supposed to only have a single writer, and multiple reader, which means only the process "init" has the full control to the prop database. We modify the props (by calling setprop) through an interface called property_service, which will pass the request to init; property_service also handles the triggering of "events" that should be triggered by a prop change. What read-only props means is that property_service will block all requests for modifying props starting with "ro.", as those props are not allowed to be changed once set. To overcome this difficulty, we can mimic how init behaves by directly modifying the trie structured database. However we will not be able to trigger events, as we completely skipped the property_service part. This might be ideal for SN bypasses, but not applicable for Magisk, as I want to load any prop, which should trigger some events to make some changes. So we went a step further and added a feature to "delete" a system prop! As a result, by directly deleting the prop entry in the database, then send a request to property_service, property_service will accept the request and trigger events if needed.
The new tool - resetprop can modify/delete any system prop, including read-only props (prop names starting with "ro.")
You can also read a whole build.prop, overwriting all existing props. The binary will be installed to /data/magisk/resetprop.
Here are some examples for cache module developers to adapt to the new changes:
Code:
# Set any prop (with trigger)
/data/magisk/resetprop ro.sf.lcd_density 480
# Set any prop (without trigger)
/data/magisk/resetprop -n ro.crypto.state encrypted
# Delete any prop
/data/magisk/resetprop --delete magisk.version
# Read props from a prop file
/data/magisk/resetprop --file /magisk/somemod/new_build.prop
Click to expand...
Click to collapse
The tool is originally built with AOSP source, I spent some time to make it much more portable.
Here is the link to the NDK-buildable source of the resetprop used in Magisk: https://github.com/topjohnwu/resetprop
Magisk Hide - Greatly Improved
Another update to pass SN, please grab it before it expires lol
People started to panic when Google device to check boot loader / boot-verity etc. As stated in the previous section, resetprop fixes the issue easily with setting all detecting props to the valid values. However, more detection has been added. One of those is that simply adding Magisk directories into PATH will break Safety Net. Not sure if I should be glad because the word "magisk" is now officially on the tech giant's blacklist......
So in order to hide root (here I'm only referring Magisk phh superuser, as SuperSU users shall always rely on CF's suhide, not MagiskHide), I had to change the way things works.
For the new changes that are required to NOT modify PATH, the phh's superuser has to be upgraded.
Please make sure your phh superuser is upgraded to r266-2 (or any version higher).
Older version will NOT work with Magisk v9, please upgrade phh's su before upgrading.
Also, along with the new Magisk Manager v2.5, we finally had an GUI to add/remove apps from the MagiskHide list!
Click to expand...
Click to collapse
Development
I added build.sh into the main Magisk repo, you can call the script and it will guide you with help messages.
Custom version names are supported, both in Magisk and Magisk Manager (if using custom name, update will disable)
So feel free to clone the repo and develop Magisk yourself! Pull requests are appreciated!
For Magisk Manager, you can provide translations for the app, just translate the strings, create a pull request, and I'll merge it into the main app, many thanks!
Those Pixels
I stated before that the new Google Pixel devices are using a complete different partition structure, as the ramdisk is now stored along with the system partition, and a kernel modification is inevitable.
Without much surprise, our mighty developer Chainfire had released a systemless root for Pixel devices. What it does in a nutshell is bringing back the ramdisk to the boot image, and still do modifications in the ramdisk (rootfs). However it still requires 1. custom init binary 2. binary patch directly to the kernel. If I decide to use the provided closed source solution, it shall not be difficult to port Magisk to the Pixels and start all the systemless craziness, but still I need an device to test and debug. In addition, I would love to see if I can create an open source tool to achieve similar results to make Pixel (which means maybe all future devices) running Magisk.
But the huge issue is: I live in Taiwan, and there is no sign that the Pixels will be available for purchase here, well at least not possible in 2016.
I could ask my buddy studying in the US to bring me one when he comes back at the Christmas vacations (which is still quite some time from now, but still better late than nothing.....), however the problem is that Pixel XLs (the model I prefer) are currently out of stock on the online Google Store, and I will never know if ordering now will make the package show up in my friend's place in time before he comes back to Taiwan.
If anyone seeing this post has access/can purchase brand new Pixel XLs (anywhere should be OK), and possible to deliver them to Taiwan in a reasonable time and a reasonable shipping fee, please contact me and I'll be very happy.
Lastly, I just bought my new HTC 10 within a year. I'm just an university student, the money I earn from tuition could afford me the super expensive Pixel device, but any additional donation to support my open source development is highly appreciated . I'd be really happy that many people love my work!
Click to expand...
Click to collapse
Here are some news....
Lack of Support
School have been super busy lately (getting the last metro to home nearly every day...), I have little if any time to spend on Android development. Another big factor is that I'm still waiting for my laptop to be repaired.
Sorry for all the private messages sending to my inbox, I've got way too many PMs that I'm not in the mood to read through dozens and dozens of them, since a large fraction of them are simply just asking for instructions for installing Magisk on their device.
I prefer REAL issues to be opened on Github, as I check them from time to time, and I can keep track of which are not yet resolved.
Build Friendly
I added build script for Unix-like systems (Linux and macOS) and also for Windows. I tested on all three platforms and all of them are working as expected. For people interested in the latest feature added to Magisk but not included into an official release yet, feel free to build it yourself. I automated the process that even people with no experience in NDK or scripting can build it easily.
Also for people willing to report bugs, please test Magisk built against the latest commit before opening issues on Github, thanks a lot!
Magisk Module Repo?
It has been a while since I last updated the Magisk Module Repo. I know there are a few requests for adding their own modules to the repo. I'm gonna change the way for requests to be handled from the current "posting in a request thread on XDA", to most likely handled through Github. When the new way for requests is decided, I'll add the current requests at once, and close the current thread.
I really appreciate every person who is interested in making a Magisk Module and willing to share it with others, once the new method is decided, the requests should be addressed in a timely manner.
Multirom? Updates?
I've spend my extremely limited free time to fix current Magisk issues, and so far (the latest commit on Github) it has improved a lot compared with the current v9 release.
I haven't really spend much time in the multirom feature, however I found an interesting open source project: DualBootPatcher.
It exists for quite a while, and it is very impressive just like the Multirom Tasssadar created. I haven't looked into how DualBootPatcher works, so I'm not sure if it is using similar tactics method that I switch between systems in a super simple way through Magisk.
2017.1.2 Magisk V10
Happy New Year! What is a better way to celebrate 2017 than a Magisk update
Another massive update!
Official Icon
Instead of using the picture grabbed online, the official Icon for Magisk is now live!
Magisk Hide Back On Stage
This is the most awaited fix, isn't it?
The issue of losing root is haunting since day 1 of the release of Magisk Hide, although it can be temporary recovered with a reboot, it is still quite annoying. I spend a lot of time trying to identify the reason, and soon found out that the issue is caused by MagiskHide reacting "too fast". Most processes starts from Zygote, and it requires a small period of time to isolate the mount namespace apart from Zygote. When MagiskHide reacts too quickly, it will unmount all mounts in the Zygote namespace, which literally means that all processes will lose the mounts (including root).
After adding checks and retries before switching namespaces, it leads to another issue: MagiskHide reacting "too slow". When critical files like framework is Magic Mounted, and the unmounting doesn't happen in time, it will break the SafetyNet checking process (Google Play Service FC), and can never recover until a reboot (or full restart of Google Play Service). I added tons of safety precautions (I won't go into the details here, it will be another few hundred of words), and I can "almost" eliminate all possible breakages.
Due to the fact that Magisk Hide DOES NOT hijack app_process (Zygote), it can only react passively, so there is a limitation to the effectiveness.
The best practice is to NOT add a lot of apps in the blacklist of MagiskHide (managed in Magisk Manager), so that the MagiskHide daemon has the time to react.
Personally I only hide SafetyNet (the preset), and it passes all excessive tests without any issue. However my tester still managed to break it a few times when adding 6 additional apps, and having 10+ accounts syncing at the background all the time. So I guess it is good for most users lol
Magic Mount With No Limits
I'm glad to announce that starting from this update, Magic Mount can do ANYTHING! Thanks to the new mirror implementation and some workarounds in the algorithm, it can now handle adding files to /system root (and /vendor root if separate partition). Also thanks to the new MagiskHide, all mounting combinations can pass SafetyNet!
Magisk Powered Custom ROM: One Click to Custom ROM, Another Click You're Back to Stock
I am a member of an HTC custom ROM developer team - Team Venom, and without too much effort, The world's first Magisk Powered Custom ROMhttp://venomroms.com/worlds-first-100-percent-magisk-rom/ was born!
The advantage over traditional full packaged custom rom is that we ROM developers no longer need to port carrier features (Wi-Fi calling, VOLTE etc.) to our ROMs. Users can install Magisk on their stock devices, load the Custom ROM module, reboot and BOOM all done, along with 100% fully working carrier features. Also, it is just cool to load a custom ROM fully systemless, isn't it!
Developers in the HTC 10 community soon realized the "power of Magisk", and currently trying to push out more and more Magisk Custom ROM Modules.
I hope all developers feel the excitement, and port all stock modified custom ROM to be implemented with Magisk!
For ROM developers interested, please check the link and download the zip to get an idea how to create your own Magisk Custom ROM Module!
Magisk Can Now Root Your Device
I decided to fork the phh Superuser and start doing modifications. From Magisk v10 and after, Magisk will root your device with the bundled root if
a. No root installed b. Root that isn't Systemless SuperSU or older Magisk phh versions installed
Right now you still have to install the phh Superuser application, however the root management should move to Magisk Manager soon, please stay tuned.
Currently it is nearly the same as official phh root with only a few tweaks, but I might add more in the future.
Magisk Manager Now On Play Store
It seems that some already found out that Magisk Manager is now available on Play Store! All future updates will be pushed through Play Store.
Download links will still be posted here, since there are still places where Play Store isn't available.
Documentations Updated, Module Template Updated, New Repo Requests
The documentations here on XDA is pretty outdated, I updated them with more info to assist developers and users to create their own modules.
Module template is updated for an addition option to load a prop file.
Repo requests are also updated, please check out the new instructions!
Sorry guys, in v10 (and the v10.1 if you're fast), when updating within the Magisk Manager, my scripts didn't handle the phh upgrading correctly.
For those got stuck with no root, please flash the latest phh zip downloaded in this thread in custom recovery (or Magisk Manager, because it is the only app that have root access).
Sorry for the inconvenience, please forgive me lol, I'm only one man!
2017.1.11
Magisk Manager v3.1
I'm still dealing with my finals (got an exam tomorrow, and 3 more projects to do......), but the online repo is no longer accessible on Magisk Manager, which forces me to push out an update.
Apart from that critical bug fix, it also comes with a lot of updates and improvements, please check the changelog for further info.
Please update your Magisk Manager from Play Store. The direct link is also updated with the new v3.1 version
Magisk v11.0
2017.2.6 Magisk v11.0
Came back from Chinese New Year holiday with some significant updates!
Introducing MagiskSU
Magisk officially becomes its own rooting solution!
Initially I just want to add root management features into Magisk Manager, but ended up updating lots of code.
Since the changes are quite significant, and no longer compatible with older versions, I'll just name it MagiskSU instead of phh Superuser.
The code is based on phh's approach to update the CM Superuser. I spent quite some effort to achieve SuperSU standards, so far the functionality should be nearly equivalent, my only concern now is compatibility, which is what I will focus on in future releases.
Please note, Magisk is still fully compatible and functional with the latest SuperSU (tested against v2.79-SR3)
The Fully Re-factored sepolicy-inject tool
To accompany with the fresh new MagiskSU, I also spent a ton of effort re-factoring the tool sepolicy-inject.
The tool now accepts policy statements, you can get more info about it from from this section of @Chainfire 's wonderful How-To SU documentation.
Basically I aimed to follow the same syntax as SuperSU's supolicy tool, as it is straight forward and same as the .te policy sources. I added a few additional features in sepolicy-inject, you can directly execute the binary with no options to refer to the help info.
See all changes in the changelog
(I named it "sepolicy-inject" instead of "supolicy", since it still differs in many ways (e.g the built-in rules) even though the syntax is now nearly identical. Root app developers might want to handle this difference when live patching sepolicies)
Pseudo SELinux Enforce Mode
Thanks to the new sepolicy-tool, pseudo enforced mode is now possible (the status shows enforced, but actually is permissive).
In some versions of Google Play Services, setting SELinux to permissive causes Safety Net to fail; however some custom ROMs require the system to be in permissive to be fully functional (although it should be considered as a bad practice). This shall be the perfect solution.
This will not be as a switchable option within Magisk Manager, since Google has a history of pulling apps from the Play Store when related to SELinux (see the tragic example of developer @flar2 's awesome app, and there are still more incidents).
MagiskHide binary is now updated to detect the permissive state, patch the current sepolicy to pseudo enforced mode, then switch back to enforced.
ROM developers don't have to change anything, just simply set to permissive on boot with a bundled app or a boot script as usual. If a user decided to enable MagiskHide, it will handle everything itself.
General Purpose Boot Scripts
I removed this feature in Magisk v4 and favored the per-module scripts. Now I decided to bring it back again.
The scripts should be placed in /magisk/.core/post-fs-data.d and /magisk/.core/service.d. The directory name should be self-explanatory.
If you have no idea which to choose, the post-fs-data.d will be a nice bet.
So Magisk will now execute script named post-fs-data.sh in each module, and all files within post-fs-data.d. The same applies to service.
Future
Thank you for everyone providing translations to Magisk Manager, and huge thanks to all donated.
I appreciate all the support, and that is my motivation to continue pumping stuffs out!
I will be maintaining MagiskSU continually; support won't end, at least in the near future.
Magic Mount features and better Magisk Module support are also on my list.
I spent zero time on adding more support to devices in v11, all the effort were put in MagiskSU and MagiskManager and major bug fixes.
The whole project is now in the state I consider "feature-packed" enough, most users/developers haven't used the full potential of the features.
I'll stop adding major new features and instead focusing on bringing Magisk to more devices that currently isn't supported.
And yes, that means I will postpone the long planned but never worked on Multi-ROM feature (I barely spent time on it after the POC video)
Hope you all will enjoy the update
(P.S. It's 9 AM here and I haven't slept. I'll update documentations after some sleep)
Before I got the in-app guides done, here are some tips for you
Many people seems missing these details
2017.2.19 Magisk Manager v4.2
Magisk Manager v4.2 is now live on Play Store. OP direct links are also updated accordingly.
Tons of improvements to the app, check the changelog for more info
Where is the Magisk Update?
I'm aware there are issue in Magisk v11.1 (vendor mount issues, and MagiskSU system rw issue)
I already fixed the system rw MagiskSU issue (so TiBack now 100% functional), you can check the Superuser sources if you're interested into the solution
I'll push an update soon after I fixed all currently known issues, AND add compatibility to more devices.
Please note that I'm only one single man, and also got a real life to deal with, so I can only focus one thing at a time.
I decided to first improve the Magisk Manager application to a point I think it's acceptable. Android application development is quite tedious, I have to put quite some time and effort into it.
After this Magisk Manager update, I will put all my attention on the core Magisk part, so please stay tuned!
New Online Module Info Display
I updated the way Magisk Manager show the details of Online Magisk Modules in the repo.
Previously I let each module include a changelog.txt, donate link, and support link
However, I think it would be better to let module developers to write anything they want
And considering the text rendering needs to be nice and clean, I think Markdown is the best choice here!
You can include links to your thread, links to your donation link, download link for an app required, changelog.... anything!
All Repo Developers Aware!
In Magisk Manager v4.2, the app will read the README.md file within your repo, and render the file properly
The changelog.txt file, support and donate entry within module.prop are no longer read, they can be removed.
Please update your README.md file ASAP to let the new app properly display what your modules do.
Here is an example, I updated the Xposed module's README.md, you can see the results in attachments
This is also a screenshot of what the new UI looks like
Magisk Manager v4.2.5 is live!
Hot fix for Samsung crashes (theoretically, no device to test), also did several adjustments here and there
As usual, full changelog in 2nd post, direct links and Play Store (might need to wait a few hours) are also updated
Sorry for the inconvenience!
Magisk Manager v4.2.6
Finally got the Samsung crash fixed!! Thank you for everyone reporting giving feedback, really appreciate the community!
As a compensate for the frequent updates and inconvenience, I added another feature that was requested to Magisk Manager - add a setting to disable update notifications
Play Store might take a few hours to update, direct link in OP is updated
Finally, I can now focus on the core part, which IMO is much much more important
Device compatibility should be GREATLY improved once the work is done, stay tuned!
For Pixel support though, I'll need to borrow my friend's Pixel XL for a couple of weeks to develop, but this might not happen soon since school is quite busy.
2017.3.21 Magisk v11.5/v11.6
It's about time for some Magisk update!!
Magisk Binary Changes
The original tool sepolicy-inject is now renamed to magiskpolicy. However, for backward compatibility, a symlink named sepolicy-inject will be created, which simply just links to magiskpolicy
The original tool bootimgtools is now renamed to magiskboot, which is a complete rewrite of the existing boot image patching tool. More info later.
Starting from this release, magiskpolicy, sepolicy-inject, resetprop, and if MagiskSU is installed, su, and supolicy (this is NOT the SuperSU supolicy, it just links to magiskpolicy, exists for compatibility) are all added to the PATH, which means you can directly call these commands through shell (and apps) without explicitly calling "/data/magisk/XXXXX"
In a nutshell:
Code:
/sbin/su -> /data/magisk/su
/sbin/resetprop -> /data/magisk/resetprop
/sbin/magiskpolicy -> /data/magisk/magiskpolicy
/sbin/sepolicy-inject -> /data/magisk/magiskpolicy
/sbin/supolicy -> /data/magisk/magiskpolicy
/data/magisk/sepolicy-inject -> /data/magisk/magiskpolicy
New Boot Image Tool: MagiskBoot
I spent a lot of time rewriting the whole boot image patching tool. For now it shall GREATLY improve the compatibility of Magisk. Key features:
Complete rewrite boot image extracting process
Proper MTK header support
Sony ELF type boot image support
Native ramdisk compression method support : gzip, xz, lzma, bzip2, lz4
This means custom kernel developers can now use a different ramdisk compression method with their custom kernels!
Native cpio patching support: auto ramdisk backups, auto ramdisk restores, auto dm-verity patch, auto forencrypt patch, native cpio extract/mkdir/add
This means boot patching process itself does not require root access anymore (it usually does)
Native LG bump and Samsung SEANDROIDENFORCE flag detection
More Magisk installation methods shall come soon!
I believe some of the features above do not exist in any existing rooting methods, I hope this will bring more users on the Magisk bandwagon
MagiskSU Fixes
In all current open source root methods, a common issue is that some apps (most well-known: Titanium Backup) cannot properly mount /system to read-write. Here I'll only briefly explain the technical details.
After spending very many hours, the victims are narrowed down to programs that directly use the "mount" system calls instead of calling the "mount" command. Also, the issue does not only happens to /system, but instead any read-only partitions. The only way to remount them to rw is through the toybox implementation of the mount command, which should be the default of all devices. This means that any external mount command (e.g. busybox) cannot remount them to rw either. After digging through the AOSP toybox source code and some search through the commits, I finally found the culprit: this commit in AOSP. What that commit does in a nutshell is that all blocks mounted read-only will be locked to read-only.
So starting from this release of MagiskSU, all blocks will be unlocked when the daemon is started (this does NOT break your system integrity, meaning it does not break OTAs), everything should work fine.
Another subtle change is that the command "-cn" will not do anything starting from now. All root developers can call the "-cn" command on both SuperSU and MagiskSU, it shall work in both cases.
I had tried to add the "-cn" command in the previous release, which only exists in SuperSU, but it was not implemented correctly, and apps depending on it will not work correctly.
However, this "context switch" command is originally added to SuperSU due to the way it managed selinux back in the old days. The way I deal with selinux, starting from Magisk v7 (Chainfire switched to similar method in his latest beta) DOES NOT need any context change, as all root procedures and processes are running in a permissive domain (in Magisk's case it's a domain that allows everything, which is slightly different to permissive. This is because permissive does not work on Sammy)
Magic Mount Vendor Issues
In Magisk v11.1, devices with a separate vendor partition (newer Nexus devices) will fail to properly magic mount files in vendor, the most common issue is using the ViPER4Android Magisk module.
It is now fixed in v11.5
Module Template Update
The Magisk Module Template is now updated. All developers please adapt your modules to the newer version
An entry in module.prop called template now indicates the template version number.
In future Magisk Manager updates, it will only show the modules that are using the latest two versions of the template.
e.g. If the latest template version is v13, only v13 and v12 modules will be showed in the repo
This gives the time for developers to update their modules, but also enforcing them to adapt to newer scripts, so I don't need to support the old template formats.
I apologize that I was busy and didn't add the existing module requests, I'll add them once you have migrated your module to the latest template
Also please note that I will NOT add modules that ONLY change some props using resetprop, as this is a upcoming feature to Magisk Manager in the near future.
What's Next?
Magisk v11.1 got over 500K downloads! Thank you for all the support!
The next short term goal is to add more features into MagiskManager (including the mentioned prop management, and a new installation method)
The long term goal will be migrating the current script-based magic mount to C program, which shall be run as a daemon in the background, combining resetprop, magiskhide etc. all-in-one. This will take some time to finish though.
For the long awaited Pixel support, I think I'll start working on it, but the complexity of that device might take a very long time for me to understand, since I do not own the device. I can only borrow my friend's device for not that long of a period of time, so progress shall be really slow. I'll not get the Pixel device now, because I don't think it is worth the price and the hassle for me to import it into Taiwan, but I'll definitely get the Pixel 2 to replace my current daily driver lol.
Magisk v11.6 Hotfix
The issue turns out to be a veeeery minor issue, but causes the whole script unable to run correctly on Samsung devices.
Also, I fixed the incorrect value for selinux prop patching for MagiskHide, so people with selinux issues should now be settled.
I guarantee all future releases will go through serious beta testing, especially Samsung devices. This project is in a scale that these kind of mistakes cannot be tolerated.
I'm sorry for all the inconvenience the previous release gave you, and the mess and headaches for all broken devices.
The Module Template is again updated. This bug will also affect module templates, so please update accordingly, thanks!!
But still, I hope you will enjoy this new release
2017.3.31 Magisk V12.0
The major version bump should label this release as a stable release (at least this is what I hope)
This release is thoroughly tested by all my testers, especially focusing on Samsung devices
Unless major issues, the next release should be a complete new redesign, and requires more time, more info later
The FAQ in OP is updated, please check them out!!!
Samsung, Samsung, oh Samsung
My previous release was widely criticized for breaking tons of Samsung devices, the rating on Play Store also reflected this fact
Thanks to helpful testers and developers, we ironed out all the quirks of Sammy, and in addition added more Samsung specific features.
One is adding proper support for Samsung permissive kernels. Another is faking KNOX to 0x0 if MagiskHide enabled.
Is that good enough to compensate my mistakes in the last release?
Sepolicy Live Patch Moved
Another critical update is that the sepolicy live patching is now moved from the post-fs-data mode to the service mode.
This decision is done due to the fact that on some devices (e.g. Samsung), there are too much to patch, which greatly delays the bootup time if the live patching is done in a blocking stage. However, this will require some updates for the minimal sepolicy rules.
The minimal patch is now a little more complete, which requires 20-80KB of ramdisk size (previously 1-4KB). Still not large to be honest.
However, this makes post-fs-data mode NOT completely unrestricted. post-fs-data mode can still do any file related operations, setting system props etc., a lot more than normal users would use. However, service mode would be guaranteed to be executed AFTER the full sepolicy patch is done.
It is recommended to run most scripts in the service mode (service.d/service.sh), except a. mounting files; b. patching system props; c. time critical operations
Magisk Core Only Mode
People complain that Magisk has "too many features", they don't want to use such "complete" solution.
Here I introduce Core Only Mode. It can be enabled in the new Magisk Manager.
What will still be started: MagiskSU, post-fs-data.d, service.d, (if enabled: MagiskHide, systemless hosts, systemless busybox)
What will not be started: Cache (post-fs) mounts, magic mount (system mirror etc.), all modules, all module scripts
So it literally limits Magisk to root + boot scripts. MagiskHide is still there for those who want some Mario Run lol.
Say Goodbye to Outdated Modules
This day finally comes. All modules on the repo that aren't using the latest template (v3 for now) are now hidden.
This not only guarantees that the modules are using the latest scripts, but also a nice way to filter out modules that are no longer maintained by the uploader.
You have to add/update template=(ver) in your module.prop. Magisk Manager will not know if you only updated the scripts
Upcoming Features
Here are some planned features (sorted in priority)
Magisk Manager resetprop GUI
MagiskSU multiuser support
Unified Magisk daemon: As stated before, I'm planning to write Magic Mount in code to achieve more efficiency and features.
All current Magisk features (magiskpolicy, magiskhide, resetprop, superuser, magic mount) will be in a unified daemon
Pixel (XL): Some developers has done some progress, I'll contact them and sort things out
Android O: I bought a Nexus 5X now, finally got some O love
Some details are changed in v12.0, I'll update the documentation (wiki) soon.
Some Recent Updates
I wish I can be more vocal in the forums, so more information can be spread to the community, but being a university student in Taiwan, studying engineering specifically, is not easy.
It has been a while since the last release, I think I would shed some light regarding the next big update.
Unified Binary
First, the most obvious change is that Magisk no longer rely on the overly complicated scripts, but instead replaced with pure C/C++ programs. Along with Magisk's development, more and more features were added, and those cannot be done with scripts are added as binaries (magiskhide, magiskpolicy, resetprop etc.). As a result, in the last build (v12.0) there are tons of binaries scattered, loosely working together with poor communication.
So the first thing to do is to combine everything as a single program, something like busybox, which is a single binary that acts as multiple utilities. This took me quite some time to finish, especially merging the existing superuser with other parts that also requires daemon connection. Another tricky part is to port the spaghetti shell script into proper C code. The good news is that both of them are done (though, some small bugs might exist and I'm currently hunting them down)
No More Busybox!
Second is the decision to remove the bundled busybox. Initially I added busybox into Magisk due to lack of proper commandline tools in native Android environment (e.g. lack of losetup in Android 5.0), and also many selinux specific options for several utilities do not exist in official AOSP toolbox/toybox. The big problem is that the busybox causes more issues than I would ever expect. Many features in v12 are implemented to only work with that specific busybox bundled with Magisk. However due to the variety of configurations of custom roms, the assumption that the target busybox is always there, working as expected obviously isn't true, leading to numerous breakage and headaches. This is one of the reason why tons of issues submitted to Github are not addressed, because all pre-v13 are haunted with the same issue - the environment Magisk is running is a mess.
However, thanks to ditching shell scripts completely, currently I handle everything by natively calling system calls, or by implementing the functions directly into the binary (another tedious task...). So Magisk now works as a complete package itself, no more dependency and requirements in the environment. Due to this change, the Magisk Manager would need to include a busybox in order to provide the environment to install Magisk modules/Magisk updates, which I think many tracking the development on Github would already notice this change.
Those wondering how to add busybox if they want? I'll release a new module in the repo.
Android O
Finally, Android O support! As expected, Android O has quite some security changes, but since I'm gonna start everything from scratch anyway, things are all quickly sorted out. Also thanks to the arrival of my Nexus 5X, I can finally test things on an actual device, as a result Magisk is now 100% working on Android O DP1. The module template might need some slight updates regarding Android O changes, please stay tuned for the announcement!
Of course, tons of other improvements are also included, I won't list all of them here and will leave them for the release post and changelogs. Updates to Magisk Manager are also work in progress (application development is very tiresome...). There are still tons of features/support bugging in my mind and I would hope I can implement all, but the reality and school prevents me to do so, I am now aiming more towards a stable release rather than rushing out poorly designed features and making me regret in future maintenance lol.
I won't have time to publish lots of informative posts as this one, for those who are interested in the active development of Magisk/Magisk Manager, please keep track of the Github repos. I always keep the development work transparent, anyone curious can spend a little effort to build it themselves and have a sneak peak of what's currently going on. Just keep in mind that the cutting edge master branch does not always work properly

[CLOSED][EOL] Osprey LineageOS 13 with microG patch

Hi,
this thread aims at keeping the LineageOS 13.0 version alive for the Moto G 2015 (osprey) device with current security patches from LineageOS (branch 'cm-13.0'). The build here has already a history in this thread on XDA - it may be worth to scroll through it to find additional information.
The build has got the following features:
LineageOS 13 with current security patches
Patched for microG (see https://microg.org, signature spoofing as switchable permission)
Squid kernel for the Osprey device (own fork)
LineageOS Jelly Browser
Current Android System Webview
CMUpdater is not part of this build
Renewed CA-certificates from AOSP master branch
VoLTE (may not work in all cases!)
Current build data
Download here
AOSP tag android-6.0.1_r81
Security string 2018-06-01
Android System Webview on M66 (stable, taken from LineageOS 14.1)
Contains the fix for the KRACK attack against WPA2
Root access included (can be switched on/off in developer settings)
Unofficial microG-build as 2nd build variant
Download here
Hardened build with pre-installed microG apps. For more information, see https://lineage.microg.org/
(This is an unofficial build for LineageOS 13 f. osprey based on the work described on the project page)
Different from the 1st build, the following features apply, everything else is the same:
No root available (can be flashed separately)
Pre-installed microG apps (see lineage.microg.org page)
SQLite 'secure delete' feature enabled
Access to /proc/net blocked for user apps
Enhanced Privacy Guard (1): Switches for motion sensors and other sensors available
Enhanced Privacy Guard (2): Switches for read phone state and storage (read/write) available
Oreo backport: SET_TIME_ZONE permission restricted to system apps
Oreo backport: Access to timers in /proc restricted
Cloudflare DNS (1.1.1.1) as default fallback
Privacy-preferring default settings
Source Code links
LineageOS: https://github.com/LineageOS
Kernel: https://github.com/MSe1969/android_kernel_motorola_msm8916/tree/mse_cm13
microG patch: https://github.com/microg/android_p...aster/patches/android_frameworks_base-M.patch
microG-Build: https://github.com/lineageos4microg
local manifest: https://github.com/cm13-microG/local_manifests
hardening features: see reserved post further below
Installation instructions
YOU ARE RESPONSIBLE SOLELY YOURSELF FOR ANY ACTIONS YOU DO WITH YOUR DEVICE !!!
Please note - I won't explain any single aspect (e.g. how to install 'fastboot' on your PC or troubleshoot USB connectivity issues under Windows). Search the net and consult the search engine of your choice or look here in XDA, there is plenty information available.
Pre-Requisites
Get familiar with the hardware keys of the Motorola Moto G 2015 (osprey) device, especially how to enter fastboot mode (switch phone off hold power + volume down together for about 3 seconds) and recovery mode (in fastboot mode, switch with volume key to the reboot recovery option and select with power key)
Have fastboot and adb installed on your PC and make sure, you can connect via USB to your device in fastboot mode and via adb
Download the most current .ZIP file of this ROM and place it to your phone's internal memory or SD card
If you wish to install Google apps (GApps), please refer to the GApps section further below
An unlocked bootloader (read the warnings carefully and backup your data!
Install TWRP recovery
If you come from stock ROM and have just unlocked your boot loader, this is the next thing to do. If you have already a working custom recovery on your device, there is no necessity to replace it.
However - I recommend to use the TWRP recovery linked here. The following instructions are based on TWRP.
To install TWRP, download the TWRP.img file (Note: replace "TWRP.img" in the following instructions with the real file name) from this section to your PC, get it into 'fastboot mode', connect the device via USB to your PC and enter the following command on your PC:
Code:
fastboot flash recovery TWRP.img
Afterwards, directly boot into 'recovery mode' (see above) - I recommend not to boot the phone's Android system after having flashed TWRP. Once TWRP has been launched, you may decide to reboot your phone and install the ROM at any time later. But the first boot after flashing TWRP should be TWRP in recovery mode.
Advanced Wipe
ONLY perform the steps described here, if you come from Stock ROM or a different Custom ROM!
Boot into recovery mode. In TWRP, choose "Wipe", "Advanced" and spefify "Dalvik", "System", "Cache" and "Data" to be wiped.
Make sure NOT to wipe "Internal memory" or "SD Card". Swipe to confirm the deletion and get back into the main menu.
GApps
The following instructions only apply for the 1st variant, do not flash Gapps over the "microG build":
You do not need to install GApps, but you may wish to do so. In that case, download GApps from here and put the .ZIP also to the SD card or Internal memory of your device.
Choose ARM as platform, Android 6.0 and the flavor of your choice. I recommend "pico", as this leaves you the most freedom to only install, what you really need; you can later still install all the Google products you want and do not need to live with pre-installed Google applications you have no use for. The 'microG patch' in this ROM has no negative impact on installing Gapps.
Install the ROM
In the TWRP main menu, choose "Install". A file manager appears to let you navigate to your internal memory (path /sdcard) or your SD card (path /external_sd).
Choose the .ZIP file of this ROM and swipe to flash. If you update from a previous version of this ROM, you don't need to perform a wipe.
If you had GApps already installed before the update, there is no need to flash them again. They will be automatically restored during the flash process.
(Note: If you wish to get rid of GApps, navigate to TWRP's file manager in the Advanced section of the main menu, go to path /system/addon.d and delete the file 70-gapps.sh, before flashing the ROM update)
If you come from a different ROM (or stock firmware), make sure that you have performed the Wipe steps above.
If you wish to install GApps, select the respective .ZIP file directly afterwards, do not boot into Android before having flashed GApps. When finished flashing, return to the main menu, choose "Reboot" and then "System", which will cause your phone to boot into Lineage OS 13.0 - be patient, the first boot after flashing a new ROM takes quite long!
microG Installation
These instructions apply to the 1st 'default' variant, not the 'microG build' (which has already microG installed)
The ROM is patched for the use of microG, but it does not contain the microG system components.
The best way to obtain them is to include the microG repository into the F-Droid store as described on the microG Download page, where you will also find links for the direct download of the .apk files.
Please refer to the official installation instructions. However, there are three pieces of information, which are explained on the microG pages, but unfortunately not directly in the installation instructions, so I would like to point them out here:
Download the 'unstable' Gms Core version 0.2.4-105-... to avoid "outdated play services" warnings
The Location Provider functionality is included in Gms Core, but also available as separate application. I recommend Gms Core - however, the explanation is not included in Gms Core, but only here
To grant the signature spoofing permission, go to Settings - Apps - Advanced (the 'gear' icon) - App Permissions - Spoof package signature; it is not possible when you enter the individual app's permissions menu
Credits
Android Open Source project (AOSP)
LineageOS project
squid2 (Kernel)
microG project
XDA:DevDB Information
Osprey LineageOS 13 with microG patch, ROM for the Moto G 2015
Contributors
MSe1969
Source Code: https://github.com/cm13-microG/local_manifests
ROM OS Version: 6.0.x Marshmallow
ROM Kernel: Linux 3.10.x
Based On: LineageOS
Version Information
Status: Testing
Created 2017-10-23
Last Updated 2018-07-24
Change Log
June 20th, 2018
Announcement to discontinue the cm-13.0 builds - please visit my Lineage OS 14.1 microG thread, which continues with LineageOS 14.1
June 10th, 2018
Security string 2018-06-01
May 22nd, 2018
Security string 2018-05-01
Android System Webview M66
Cloudflare DNS as default (instead of Google)
Privacy-preferred default settings
Kernel fix for in-call sound issue
April 11th/12th, 2018
Security string 2018-04-01
Android System Webview M65
March 16th/17th, 2018
Security string 2018-03-01
Squid Kernel r22c (Oreo)
Renewed CA certificates from AOSP master branch
Bugfix of date/time reset on reboot, when no carrier sync
Bugfix in microG build: Always skip GMS page in SetupWizard
February 19th, 2018
Update after ASB merge in LineageOS 13.0
Webview now on stable M64
February 10th, 2018
Security string 2018-02-01
Squid Kernel r22c (Oreo)
Privacy Guard enhancements
Further security hardening in 2nd "microG build" variant
January 16th, 2018
Security string 2018-01-01
Squid Kernel r22 (Oreo)
System Webview switched back to M63-stable
2nd build variant "unofficial microG build"
December 21st, 2017
Security string 2017-12-01
Squid Kernel r21 (Oreo) forked
Recent Jelly build
Android System Webview 64.0.3282.30 (beta)
November 24th, 2017
Security string 2017-11-01
Squid Kernel (Nougat) forked and merged 3.10.108 updates from kernel.org
October 23rd, 2017
Fix of KRACK attacks
Security string 2017-10-01
AOSP tag 6.0.1_r81
Android System Webview updated to M64
Squid Kernel (Nougat)
- - - - - - - - - - - - - - - - - - - - - - - - - - - -
Historical entries from this thread:
September 21st, 2017
Security string 2017-09-01
AOSP tag 6.0.1_r80
Jelly updates
Fix of 'Blueborne' attack (part of Sept. security patches)
September 2nd, 2017
Security string 2017-08-01
Android System Webview updated to M60
July 14th, 2017
Security string 2017-07-01
June 14th, 2017
Security string 2017-06-01
Android System Webview updated to M59
May 28th, 2017
Replaced Gello with new LineageOS Jelly Browser
Android System Webview updated to M58
May 26th, 2017
Security string 2017-05-01
April 17th, 2017
Security string 2017-04-01
AOSP tag 6.0.1_r79
March 24th, 2017
Security string 2017-03-01
Included Kernel from cm-14.1 branch to regularly receive sec. patches
March 13th, 2017
Security string 2017-02-01
February 21st, 2017
Security string 2017-01-01
Rebranded LineageOS
Security Hardening (microG build)
Details about additional security hardening in the "microG build"
1. SQLite 'Secure Delete' feature
This sanitizes deleted data by overwriting it with zeroes, rather than having it persist within SQLite's free list.
Backport from Oreo, see https://android-review.googlesource.com/q/topic:"secure_delete"
2. Restrict SET_TIME_ZONE permission to system apps
Backport from Oreo, see here
3. Enhanced Privacy Guard (1) - Sensor permission switches
An own sensor template to control access to motion sensors (ask mode) and all other sensors (allowed by default, but can be restricted) has been implemented into the Privacy Guard. Commits: (1), (2), (3)
4. Enhanced Privacy Guard (2) - Switches for 'Read phone state' and 'Storage'
The existing AppOps to read the phone's IMEI and to control access to the SD card have been made accessible.
This is a cherry-pick of the proposed LineageOS change here
5. Restrict access to /proc/net for user apps
An adapted SELinux policy prevents user apps from accessing the /proc/net pseudo file system, which can be misused to monitor and track the phone's internet traffic. For technical backgrounds, see here. This is the main commit. For the legitimate use case of the smart phone owner him/herself monitoring the network traffic to see, what the installed apps do, the app Privacy-Friendly Network Monitorhas been bundled
6. Access to timing information in /proc restricted
To prevent side-channel attacks as described here, the respective Oreo patch has been back-ported.
7. Cloudflare (instead of Google) default DNS
Cloudflare DNS has a better privacy policy than Google Public DNS and has DNS-over-TLS and DNS-over-HTTPS. In the deafult DNS settings (as fallback) and network diagnostics, the Cloudflare DNS adresses 1.1.1.1 and 1.0.0.1 are specified as defaults (instead of Google's 8.8.8.8 and 8.8.4.4)
8. Privacy-preferred default settings
When newly installed, the below settings are defaulted, different from standard LineageOS 14.1 (all setting can be changed at any time later):
Privacy Guard is enabled on install (proposal during Setup)
Anonymous LineageOS statistics disabled (proposal during Setup)
The standard browsing app does not get the location runtime permission automatically assigned
Sweet..
Nice. Good to see this as separate post.
Every time the ambient display lights up the screen, it is in on a high brightness mode. And the moment I tap, it gets back to normal brightness. I know this could be a cm13 issue but, any way to resolve this ?
shadowbone said:
Every time the ambient display lights up the screen, it is in on a high brightness mode. And the moment I tap, it gets back to normal brightness. I know this could be a cm13 issue but, any way to resolve this ?
Click to expand...
Click to collapse
I haven't observed this behavior on my device, can you provide some more details?
MSe1969 said:
I haven't observed this behavior on my device, can you provide some more details?
Click to expand...
Click to collapse
It isn't that big a difference but perhaps I could provide you a log, if that could help.
shadowbone said:
It isn't that big a difference but perhaps I could provide you a log, if that could help.
Click to expand...
Click to collapse
Thanks - will have a look later
MSe1969 said:
Thanks - will have a look later
Click to expand...
Click to collapse
Sure thing.
Also, is this volte supported or should I flash the volte patch ? Because I can't seem to get it work. I am on the latest build.
VoLTE
As you can see in the old thread, there have been some discussions about VoLTE support (and also some attempts from my side to get it running).
Let me quickly summarize:
I have tried the VoLTE patch(es) from XDA - VoLTE menu was there but no VoLTE calls on my phone
I have tried to create a test build with the contents of those patches and also looked at what was done in cm-14.1 - same result: menu there, but no VoLTE calls (LTE symbol disappears when calling)
Got mixed feedbacks from people using the test build - works well for the ones and does not work or stops working after reboot for others . . .
LineageOS 14.1 is supposed to have VoLTE support f. osprey - same story, not on my phone (menu entry there, but *#*#4636#*#* menu and IMS status there tells VoLTE not available - tested with SIM cards from different carriers)
So I'm having trouble to get it working on my device (XT1541 16GB) at all. On my repo's at github, the msm8916 device and vendor tree have two volte branches for testing.
Any insight, advice and/or build suggestions welcome
shadowbone said:
It isn't that big a difference but perhaps I could provide you a log, if that could help.
Click to expand...
Click to collapse
dear user, could you tell me what application I can get this file (
File Type: txt 2017-10-25-14-38-27.txt), since I have some errors in the rom, thanks.
MSe1969 said:
As you can see in the old thread, there have been some discussions about VoLTE support (and also some attempts from my side to get it running).
Let me quickly summarize:
I have tried the VoLTE patch(es) from XDA - VoLTE menu was there but no VoLTE calls on my phone
I have tried to create a test build with the contents of those patches and also looked at what was done in cm-14.1 - same result: menu there, but no VoLTE calls (LTE symbol disappears when calling)
Got mixed feedbacks from people using the test build - works well for the ones and does not work or stops working after reboot for others . . .
LineageOS 14.1 is supposed to have VoLTE support f. osprey - same story, not on my phone (menu entry there, but *#*#4636#*#* menu and IMS status there tells VoLTE not available - tested with SIM cards from different carriers)
So I'm having trouble to get it working on my device (XT1541 16GB) at all. On my repo's at github, the msm8916 device and vendor tree have two volte branches for testing.
Any insight, advice and/or build suggestions welcome
Click to expand...
Click to collapse
You could get some help from this post.. check by integrating this patch. https://forum.xda-developers.com/2015-moto-g/themes-apps/osprey-volte-patch-android-n-roms-t3527635
Edit - post added
Erick_Summer said:
dear user, could you tell me what application I can get this file (
File Type: txt 2017-10-25-14-38-27.txt), since I have some errors in the rom, thanks.
Click to expand...
Click to collapse
Well, if you meant taking a log, there are plenty. The one I used is 'matlog'. You can get it from playstore.
rahul9999 said:
You could get some help from this post.. check by integrating this patch. https://forum.xda-developers.com/2015-moto-g/themes-apps/osprey-volte-patch-android-n-roms-t3527635
Edit - post added
Click to expand...
Click to collapse
I used this post and its patches always as a base for my test builds. Tried now the most current MM patch , which was uploaded in October - same result, does not work on my device.
shadowbone said:
It isn't that big a difference but perhaps I could provide you a log, if that could help.
Click to expand...
Click to collapse
Hi, haven't really noticed anything unusual in the log, I also use afwall and Xprivacy. Only noticed you use a battery app, but log does not indicate any issues... So I am afraid I can't really help, as I can't reproduce this behavior on my device.
MSe1969 said:
Hi, haven't really noticed anything unusual in the log, I also use afwall and Xprivacy. Only noticed you use a battery app, but log does not indicate any issues... So I am afraid I can't really help, as I can't reproduce this behavior on my device.
Click to expand...
Click to collapse
Yeah, I use the betterbatterystats from xda. I guess I will try and do a dalvik cache clear and if possible do a clean rom flash in the near future and try again. Else, it must be some device specific issue.
Anyway thanks a lot for your time. I appreciate it.
My daily ROM, please update.
The best ROM tk!
kurapika7 said:
My daily ROM, please update.
The best ROM tk!
Click to expand...
Click to collapse
This is marshmallow, correct. Why is it better than
Nugget?
Thanks for sharing!
Also, your experience with no Google services.
melp57 said:
This is marshmallow, correct. Why is it better than
Nugget?
Thanks for sharing!
Also, your experience with no Google services.
Click to expand...
Click to collapse
have a better use of ram

[KERNEL][FireTV Stick 4K] Custom Kernel For AFTV 4k - 6.2.9.4

Warning !!! Use this kernel on your own risk !!! I can't be held responsible for any kind of damage or data loss !!!
Features:
SDCARDFS
exFAT and F2FS support
Wireguard
Advanced TCP options
CIFS and NFS support
Insecure ADB
v1 -6.2.6.8-Changelog
v1 -6.2.6.8-Changelog
defconfig: Enable SDCARDFS
sdcardfs: Fix sdcardfs to stop creating cases-sensitive duplicate entries.
ANDROID: sdcardfs: Make WARN_RATELIMIT to pr_debug
ANDROID: sdcardfs: Add missing break
ANDROID: Sdcardfs: Move gid derivation under flag
ANDROID: mnt: Fix freeing of mount data
config: Add full mantis config
defconfig: Enable Wireguard
net: Add Wireguard importer
defconfig: Disable Amazon Metrics
defconfig: Enable Advanced TCP Congestion
defconfig: Enabled IKCONFIG_PROC
defconfig: Enable Network Filesystems
defconfig: Enable CIFS support
fs:Enable NFS support
fs: Enable exFAT Filesystem
fs: Add exFAT support
defconfig: Enable F2FS
v1 -6.2.7.1-Changelog
v1 -6.2.7.1-Changelog
defconfig: Enable SDCARDFS
sdcardfs: Fix sdcardfs to stop creating cases-sensitive duplicate entries.
ANDROID: sdcardfs: Make WARN_RATELIMIT to pr_debug
ANDROID: sdcardfs: Add missing break
ANDROID: Sdcardfs: Move gid derivation under flag
ANDROID: mnt: Fix freeing of mount data
config: Add full mantis config
defconfig: Enable Wireguard
net: Add Wireguard importer
defconfig: Disable Amazon Metrics
defconfig: Enable Advanced TCP Congestion
defconfig: Enabled IKCONFIG_PROC
defconfig: Enable Network Filesystems
defconfig: Enable CIFS support
fs:Enable NFS support
fs: Enable exFAT Filesystem
fs: Add exFAT support
defconfig: Enable F2FS
v2 -6.2.7.1-Changelog
v2 -6.2.7.1-Changelog
Enabled XPAD driver (this will enable support for Microsoft XBOX gamepads)
v3 -6.2.7.1-Changelog
v3 -6.2.7.1-Changelog
Wireguard not working issue is now fixed (please install the AFTV4k_Selinux_Magisk_Module.zip after installing the kernel)
v1 -6.2.7.3-Changelog
v1 -6.2.7.3-Changelog
defconfig: Enable SDCARDFS
sdcardfs: Fix sdcardfs to stop creating cases-sensitive duplicate entries.
ANDROID: sdcardfs: Make WARN_RATELIMIT to pr_debug
ANDROID: sdcardfs: Add missing break
ANDROID: Sdcardfs: Move gid derivation under flag
ANDROID: mnt: Fix freeing of mount data
config: Add full mantis config
defconfig: Enable Wireguard
net: Add Wireguard importer
defconfig: Disable Amazon Metrics
defconfig: Enable Advanced TCP Congestion
defconfig: Enabled IKCONFIG_PROC
defconfig: Enable Network Filesystems
defconfig: Enable CIFS support
fs:Enable NFS support
fs: Enable exFAT Filesystem
fs: Add exFAT support
defconfig: Enable F2FS
Enabled XPAD driver (this will enable support for Microsoft XBOX gamepads)
Wireguard fix (please install the AFTV4k_Selinux_Magisk_Module.zip after installing the kernel)
R1 -6.2.7.6-Changelog
R1 -6.2.7.6-Changelog
defconfig: Enable SDCARDFS
sdcardfs: Fix sdcardfs to stop creating cases-sensitive duplicate entries.
ANDROID: sdcardfs: Make WARN_RATELIMIT to pr_debug
ANDROID: sdcardfs: Add missing break
ANDROID: Sdcardfs: Move gid derivation under flag
ANDROID: mnt: Fix freeing of mount data
config: Add full mantis config
defconfig: Enable Wireguard
net: Add Wireguard importer
defconfig: Disable Amazon Metrics
defconfig: Enable Advanced TCP Congestion
defconfig: Enabled IKCONFIG_PROC
defconfig: Enable Network Filesystems
defconfig: Enable CIFS support
fs:Enable NFS support
fs: Enable exFAT Filesystem
fs: Add exFAT support
defconfig: Enable F2FS
Enabled XPAD driver (this will enable support for Microsoft XBOX gamepads)
Wireguard fix (please install the AFTV4k_Selinux_Magisk_Module.zip after installing the kernel)
R3 -6.2.7.7-Changelog
R3 -6.2.7.7-Changelog
2f447f82b defconfig: Enable USB Serial FTDi-SIO
8b84c88e9 defconfig: Enable XPAD driver
ec89c3cc8 defconfig: Enable UVCVIDEO
67ca709a6 defconfig: Enable SDCARDFS
f4f1b3fa0 sdcardfs: Fix sdcardfs to stop creating cases-sensitive duplicate entries.
b1eeb0fef ANDROID: sdcardfs: Make WARN_RATELIMIT to pr_debug
b6a76bbb2 ANDROID: sdcardfs: Add missing break
962bd1f78 ANDROID: Sdcardfs: Move gid derivation under flag
705999951 ANDROID: mnt: Fix freeing of mount data
9f15be5ad defconfig: Enable Wireguard
883a014a9 net: Add Wireguard importer
68b1bb60b defconfig: Disable Amazon Metrics
efd514f93 defconfig: Enable Advanced TCP Congestion
ae7306d2d defconfig: Enabled IKCONFIG_PROC
73017ed8e defconfig: Enable Network Filesystems
149dc468c defconfig: Enable CIFS support
f0d5ceb5a fs:Enable NFS support
485fce697 fs: Enable exFAT Filesystem
a61103c71 fs: Add exFAT support
5a43a9876 defconfig: Enable F2FS
99f0df6ac Initial commit - Amazon FireTV 4K - 6.2.7.7
R3 -6.2.9.3-Changelog
R3 -6.2.9.3-Changelog
Sync with Amazon's 6.2.8.9 release (latest kernel source available)
R2 -6.2.9.4-Changelog
R2 -6.2.9.4-Changelog
Sync with Amazon's 6.2.9.4 release (latest kernel source available)
Requires a TZ update ,otherwise Dolby Vision will not work.
You can find a TWRP flashable zip attached to this post (mantis_tz_update_6.2.9.4.zip)
Installation:
Download and install with TWRP
If you are rooted,flash Magisk after flashing the kernel (installing Magisk is mandatory if you want to avoid issues and use all kernel features or my Magisk modules )
Install the kernel modules with Magisk (optional - only required if you need uvcvideo and advanced TCP)
Install AFTV4k_Selinux_Magisk_Module.zip ( this is mandatory if you want to avoid issues and use all kernel features or my Magisk modules )
Reboot
Kernel Modules and AFTV4K_CIFS_MOUNTING_MODULE :
Download and install with Magisk Manager
Reboot
AFTV4K_CIFS_MOUNTING_MODULE:
Download AFTV4K_CIFS_MOUNTING_MODULE.zip
Unpack the module
Open service.sh with a text editor (on Windows i recommend Notepad ++) replace user, pass and path with your own values
Repack the module and install with Magisk Manager
Reboot
Source Code -> Github
Good work!
Rortiz2 said:
Good work!
Click to expand...
Click to collapse
Thx! Next step would be to switch the internal storage to F2FS. xD
Flashed [6.2.6.8_r1] by rbox -> booted fine. Flashed this custom kernel and it is not booting, stuck at first fire tv logo, on black screen. I flash again the ROM and it is fine.
Are the problems with the ROM by rbox?
can you add uvcvideo to this kernel or as a module to the stock kernel? it will be nice to try USB webcams on the stick
Nice job. Any hope/idea to fix this?
github.com/amzn/exoplayer-amazon-port/issues/94
cristimnt said:
Flashed [6.2.6.8_r1] by rbox -> booted fine. Flashed this custom kernel and it is not booting, stuck at first fire tv logo, on black screen. I flash again the ROM and it is fine.
Are the problems with the ROM by rbox?
Click to expand...
Click to collapse
I don't know, i'm not using rbox's rom here.
tsynik said:
can you add uvcvideo to this kernel or as a module to the stock kernel? it will be nice to try USB webcams on the stick
Click to expand...
Click to collapse
No promises, but i will look into it and eventually i will send you a test build.
Btw, have you flashed the kernel?
Pretoriano80 said:
No promises, but i will look into it and eventually i will send you a test build.
Btw, have you flashed the kernel?
Click to expand...
Click to collapse
I was on magisk patched stock because I use stickmount for USB drives but flashed your kernel and magisk 20.1 after just for test right now and stick boots fine. So in general looks like it works
tsynik said:
I was on magisk patched stock because I use stickmount for USB drives but flashed your kernel and magisk 20.1 after and stick boots fine. So in general looks like it works
Click to expand...
Click to collapse
Great, than something is not right on rbox's rom.
Personally i use my own zip to flash OTAs and i tested the kernel for quite some time.
Hmm,i've tried Stickmount months ago but i wasn't satisfied, that's why i started to work on the OTG module.
Best would be to find a way to make the OTG storage to show in Settings, so people could mount/unmount from there.
Can I get your 6.2.6.8 zip?
cristimnt said:
Can I get your 6.2.6.8 zip?
Click to expand...
Click to collapse
Download the zip from here - >https://mega.nz/#!RoV3iKRJ!U7U99phnyeqsRh71G8agaPCSM_8tMzRY1APkxeC_RHU <- and flash it with TWRP.
Also extract the boot.img from that zip and in case you need it, install it with TWRP (in twrp you must select "install image - > boot).
Make sure you have the latest amonet TWRP installed because that zip it's basically the stock Amazon OTA, renamed to zip.
Pretoriano80 said:
Hmm,i've tried Stickmount months ago but i wasn't satisfied, that's why i started to work on the OTG module.
Best would be to find a way to make the OTG storage to show in Settings, so people could mount/unmount from there.
Click to expand...
Click to collapse
StickMount just do it's work: mount and unmount exFAT, NTFS drives to /sdcard/USB. Fuse performance isn't great but acceptable for any Blurays with high bitrates. According to dd it have about 22-25 MB/s on reads and writes via fuse. You can find little bit improved version on my GDrive in app folder
tsynik said:
StickMount just do it's work: mount and unmount exFAT, NTFS drives to /sdcard/USB. Fuse performance isn't great but acceptable for any Blurays with high bitrates. According to dd it have about 22-25 MB/s on reads and writes via fuse. You can find little bit improved version on my GDrive in app folder
Click to expand...
Click to collapse
Yes, but it has a big limitation, at least that was the case when i tested, it can't write files bigger than the available space of the internal storage.
I added UVC to the kernel, but i didn't found an app that works (or my webcams are not supported, idk). Wanna test? I packed the modules into a Magisk module, so it's all systemless
If you are using Telegram, drop me a line there, same nick as XDA.
sam7323 said:
Nice job. Any hope/idea to fix this?
github.com/amzn/exoplayer-amazon-port/issues/94
Click to expand...
Click to collapse
That's the dream right there.
Its the only downside of this stick for me right now...I have to use my vero 4k+ for live TV which is a pain.
A fix would be unbelievable, I think Amazon have basically washed their hands with the issue now, which is really disappointing.
Pretoriano80 said:
[*]CIFS and NFS support
Click to expand...
Click to collapse
Hi.
Thanks for your work.
Could you give a hint how to properly use this kernel to mount nfs/cifs share to let's say /sdcard/share with access of installed apps to this folder.
I can sort of mount what i need via shell but folder remain accessible only for apps with root. I need it for Kodi as i can't get rid of buffering when i mount share in Kodi itself.
Hey @Pretoriano80!
LOVE your kernel! Thank you very much for gifting us with your hard work.
Wonder if this kernel has init.d support? If not, any plans to implement it?
Mil gracias!
What will the Kernel version be once this is flashed (just so I can verify that it's installed once booted into the Firestick OS.)
Do we have to uninstall stickmount to use this or is it much like a addon feature with your kernel ?
Hi Pretoriano!
Awesome work, mate! LOVE your kernel!
I tried flashing it under 6.2.7.1, but got bootloop. How can I make this kernel work in the latest OS?
Thanks again!

Categories

Resources