Magisk General Support / Discussion

Search This thread


Senior Member
Apr 30, 2012
....Magisk Is A Magic Mask to Alter System Systemless-ly.
  • If you are running custom roms, dirty flash the rom again to remove all possible issues. If the rom includes SuperSU, unzip the boot image from the rom zip, and flash it through TWRP, flashify, fastboot etc. to restore to stock ramdisk......
  • ....... you can now download Magisk and flash to your device.
  • To remove Magisk, restore your boot image back (Magisk will backup your boot image automatically in /data/stock_boot(md5).img.gz), then delete /data/magisk.img.
is the following still applicable in the case of custom roms?
1. Boot in to TWRP
2. go to Advanced / File Manager and delete folder named supersu
3. go to Advanced / Terminal and enter these two commands
echo SYSTEMLESS=true>>/data/.supersu
echo BINDSYSTEMXBIN=false>>/data/.supersu​
The first one forces systemless, the second prevents /su/xbin_bind from existing.
4. Flashed Beta SuperSu 2.74-2 (we can notice while flashing this zip after the above script, we will not see the line saying "Disabling OTA". Also, end of flashing it warns that it takes longer time to boot.
5. Reboot device and enjoy systemless
6. To check if we have achieved systemless root, go to system/xbin folder and we should not see the file named "su".
7. I rebooted in to TWRP and flashed xposed 85.1 (also updated with 85.2 later) and installed the apk (Material design apk from this thread)
8. All done and my xposed works.....
Last edited:


Sep 22, 2014
Stuck at boot screen on the S7 Exynos variant, is this just for stock Android or did i do something wrong? I flashed the Magisk v1 then the phh root zip now im stuck at the boot screen ?


Senior Member
Sep 19, 2015
Stuck at boot screen on the S7 Exynos variant, is this just for stock Android or did i do something wrong? I flashed the Magisk v1 then the phh root zip now im stuck at the boot screen ?
Sure you probably did something wrong.
For starters you gave way to little information.
Did you follow the procedure from the OP exactly ?
What rom do you have, custom recovery if any, custom kernel if any ?
How did you flash ?
Come on people give this information by yourself please, don't let us pull it out of you everytime.
You know you are the one needing help than please try to give detailed information about your problem.

Sent from my Nexus 5 using XDA-Developers mobile app


Sep 22, 2014
Sure you probably did something wrong.
For starters you gave way to little information.
Did you follow the procedure from the OP exactly ?
What rom do you have, custom recovery if any, custom kernel if any ?
How did you flash ?
Come on people give this information by yourself please, don't let us pull it out of you everytime.
You know you are the one needing help than please try to give detailed information about your problem.

Sent from my Nexus 5 using XDA-Developers mobile app
Stock marshmallow, flashed via twrp, and yes i followed the op correctly. No custom kernel.
  • Like
Reactions: it0rrent


Senior Member
Stuck at boot screen on the S7 Exynos variant, is this just for stock Android or did i do something wrong? I flashed the Magisk v1 then the phh root zip now im stuck at the boot screen ��

Did you flash phh's root zip from this thread's Downloads section or from original phh's thread? If the latter, then that's probably the culprit.
  • Like
Reactions: Scandiz


Senior Member
Sep 13, 2009
@topjohnwu this new "magisk" method. It doesn't allow Android Pay to work on custom roms like CyanogenMod does it? If I remove SU from CyanogenMod and use your root.


Senior Member
Apr 30, 2012
Magisk on (Yu Yureka) ARM64 device

i did a full clean wipe and then flashed rom, magisk and 'Magisk Compatible phh's SuperUser' - in that order. magisk manager app does not open.


    81.4 KB · Views: 2,624


Senior Member
May 24, 2013
great work, will try it out soon! one little thing i noticed in the thread title...i guess it should be 2016 ;)

Top Liked Posts

  • 3
    Yeah, even better and more friendly

    I think safe mode using key combination is not very reliable, or at best requires a tricky timing.
    @gecowa6967 can comment, but it wouldn't work for him, not sure if it booted to safe mode and Magisk failed to disable the modules (in which case it would be a Magisk bug) or Safe mode never got activated.

    I personally didn't know that we could boot to safe mode from the UI, which was a great tip that we can try if this happens again, I know that gecowa6967 was not the only one that experienced this issue.

    Yes, I was not able to boot into safe mode using key combination when I was using the patched boot image.

    I only have the log of the bootloop I posted before, I do not know which module caused the issue. Once I was able to boot with my modified patched boot image, I ran "magisk --remove-modules" to remove all modules.

    When I ran "magisk --remove-modules" with the "normally" patched boot image during boot, the phone would restart, but the modules would not be removed. I think magisk did not have write permission for the folder or something like this.

    The idea of a "dumb" patched image that does not load any modules would have been good, that's why I posted the APK for anyone else having this issue.

    I am very grateful for all the kind feedback you gave me for my hacky solution. And also thank you to my roommate who helped me with all of this. :)
    .....the only catch with MBP is that users need to have had that module prior to the problem.... this being integrated into Magisk makes it simpler and easier.
    ... one more good feature in the latest Delta - Clean Hidelist...
  • 7
    Can someone either provide actual proof that zygisk/shamiko etc does anything to GPS (i havent had a single issue and i use it daily) or i dunno, maybe stop spreading FUD because of personal gripes you have against people on other platforms that dont take part here, and therefore wont get any of the swipes youre taking at them here that only further add to the aforementioned FUD.

    We've all had our moments with those folk and its fine to mention the odd bit of spice you may come across when trying to submit an issue on github (ive done this myself), but to then to continually poison magisk proper/shamiko because of that person/persons taking part is not helping anyone. Thats a personal gripe, and shouldnt colour the entire magisk (proper) project/shamiko. What we dont need is spice here....

    Please, you know who you are...

    I think we've all had enough, now
    I'm using the systemless debloater module to degoogle and debloat a device (and several other magisk modules to assist in that endeavor). I'd really like to be able to do a factory reset to clear the device of any data/artifacts from the debloated apps, but of course a factory reset wipes out magisk modules, so I'm in a catch 22.
    You can do some cleaning like this:

    - Wipe (from TWRP or by root explorer like MiXPlorer)

    -In MiXPlorer, go to three dots, Tools and clean by App Remnants

    -Install SD Maid:
    And clean by CorpsFinder option
    Installing on Samsung S7 (SM-G930F) with /e/OS?
    Okay folks, thought I'd post up the procedure:
    1. Follow these instructions until you get to 7th bullet point here;
    2. Stop. Some points to mention on the way:
      1. Note my progress above from 'Preliminaries' until point 5, adb pull /sdcard/Download/magisk_patched_[random_strings].img works just fine;
      2. Ignore my rambling queries up to point 5;
    3. Install heimdall;
    4. Boot device into 'Download' mode without USB cable connected, then once in 'Download' mode insert USB cable (this seemed important as I ran into quite a lot of ERROR: Protocol initialisation failed! type errors which seemed possibly cable/ hardware related);
    5. Bash:
      $ heimdall detect
      Device detected
      $ heimdall print-pit --no-reboot > print-pit.txt
    6. From print-pit.txt discover:
      --- Entry #10 ---
      Binary Type: 0 (AP)
      Device Type: 8 (Unknown)
      Identifier: 5
      Attributes: 5 (Read/Write)
      Update Attributes: 1 (FOTA)
      Partition Block Size/Offset: 10240
      Partition Block Count: 10240
      File Offset (Obsolete): 0
      File Size (Obsolete): 0
      Partition Name: BOOT
      Flash Filename: boot.img
      FOTA Filename:
    7. Reboot into 'Download' mode (this rebooting also seemed to help prevent the above errors);
    8. Bash:
      $ heimdall detect
      Device detected
    9. Then, instead of fastboot flash boot /path/to/magisk_patched.img at the 7th bullet point here

      $ heimdall flash --BOOT magisk_patched-25200_UjUVt.img
      Heimdall v1.4.2
      Copyright (c) 2010-2017 Benjamin Dobell, Glass Echidna
      This software is provided free of charge. Copying and redistribution is
      If you appreciate this software and you would like to support future
      development please consider donating:
      Initialising connection...
      Detecting device...
      Claiming interface...
      Setting up interface...
      Initialising protocol...
      Protocol initialisation successful.
      Beginning session...
      Some devices may take up to 2 minutes to respond.
      Please be patient!
      Session begun.
      Downloading device's PIT file...
      PIT file download successful.
      Uploading BOOT
      BOOT upload successful
      Ending session...
      Rebooting device...
      Releasing device interface...
    10. At which, the device reboots and:
    11. Happiness :)
    How does PixelFlasher invoke
    Does it invoke it as an "executable", creating a new process? Or does it "source" it, so changes to the environment will survive?

    Does PixelFlasher create an environment variable named "SHA1"?

    My copy of has a compound statement that tests whether SHA1 has a non-zero length value before setting it to the sha1 of the boot image. If the environment variable is already set, it will not be overwritten. I don't know why.
    I wouldn't source. The script is supposed to be called as an executable

    Eg, my following code is rather primitive but it dumps the active Boot partition (it supports A/B and non-A/B devices), then it patches by invoking the script, finally it dumps back to the Boot partition and automatically reboots

    Ie, it updates me the Magisk and it also leaves me the patched-boot img in the Download folder

    # Boot partition
    AB=$(getprop ro.boot.slot_suffix)
    # Boot and patched boot images
    # Magisk path
    # Disk-dump boot image to Download folder
    dd if="$BOOT_PART" of="$BOOT_IMG"
    # Patch the boot image and move to Download folder
    mv "$MAGISK_PATH"new-boot.img "$PATCHED_BOOT_IMG"
    # Flash the patched boot image
    dd if="$PATCHED_BOOT_IMG" of="$BOOT_PART"
    # Reboot
  • 1085
    This is the place for general support and discussion regarding "Public Releases", which includes both stable and beta releases.
    All information, including troubleshoot guides and notes, are in the Announcement Thread
    Hello, I haven't given much support on XDA lately. It can be resulted from
    • University started and I have limited free time. In fact, I mostly develop during midnight
    • I live in Taiwan, which has large time zone differences between my European/American contributors/testers, which usually forces me to stay up late at night to discuss/test stuffs.
    • The new version is about to come, I don't want to spend effort on supporting old releases
    The planned update is delayed again and again, to some point I think I'll shed some light about what has been happening lately, also along with some announcements.

    New Forum!
    As you might have already discovered, Magisk got its own subforum on XDA! Many thanks to all the support you gave me, and much more information/features/support is about to come!
    **For developers supporting all the devices that are not using standard Android boot format, feel free to create threads in this section (actually, PLEASE do so) for your favorite devices after v7 is out. As I currently know, Asus devices require signing the boot image before flashing, and is model dependant; Sony devices seems to use ELF kernel that is unpatchable, or some has two ramdisks (inner + outer), both requires different workarounds; LG bootloader locked devices has to manually "BUMP" the boot image after flashing Magisk..... and there may be lots of other crazy boot image formats that haven't come up to my attention yet.
    It is impossible for me to support all these non-standard boot images, and I hope the community can collaborate to make Magisk running across all the devices. Overall, community collaboration is what XDA about :D

    The Pixel Phone
    Some of you might already know this news, that the next Pixel Phone right around the corner seems like it does not have ramdisk in boot image, which pretty much wrecked Magisk in all ways. However, it pretty much doomed root itself too. Kernel modifications is inevitable IMO, so I'll try to migrate my scripts to C programs that could possibly be included into the kernel itself. Note that I'm not familiar with linux kernel, I'm not even sure if my idea and concept is correct or not. But once the device is available, I think developers will find a way to bypass all the difficulties, and I'll do my best to learn things ;)

    Current Progress
    In the past month, I've spent quite some time learning SELinux, so that I can avoid using SuperSU's sepolicy patches. Thanks to the helps and tips from @phhusson and @Chainfire, I finally have a much clearer understanding of how SELinux works. The Magisk core parts (the scripts, boot image patches, new features, more supports) are actually done some time ago. What is causing all the delays is the Magisk Manager.
    To be completely honest, although I can code in Java without much issues, Magisk Manager is actually my first Android application, I had to reach out for assistance, and fortunately awesome developers like @DVDandroid and @digitalhigh contributed a lot, which makes the current Manager awesome.
    After the repo system and module management is mostly done, I was about to do some adjustments and release, but what we really done is decided to add another feature: auto-unroot with per-app settings. I decided to wait for it to be finished, and then do my adjustments. Due to reasons that'll be mentioned later, this feature will likely not be available for the next release (should come in future updates)

    Safety Net Disaster
    Those who are using Magisk for Safety Net bypass purposes must have known that Google recently updated the detection method of my Systemless Xposed. I still have no idea what Safety Net is detecting, so currently I cannot fix it on my side (also because I'm busy working on the next update). However, suhide developed by @Chainfire is able to hide Xposed and worked fine.
    However, only my Systemless Xposed v86.2, which is based on SuperSU's su.d, is supported using that method. v86.2 and v86.5 (latest, Magisk based) have nearly identical binaries, and the only difference is the path where the binaries are stored.
    I'm still not sure what's the real issue for it not being supported, I just hope it is not done intentionally.

    Due to the fact that my Safety Net bypass is not 100% perfect now, I do not want to spend any more time waiting for auto-unroot to be polished. What I'm doing now is finishing up all the things I'd like to change in Magisk Manager (it has been a while since I last contributed to Manager, my fellow developers are doing all the heavy job), which might take a little more time, after that, packed with tons of information to be announced in Magisk Section, I'll release the long awaited update.

    Hope this lengthy post gives you the idea of the whole situation, and again thanks for all your support!!
    Ah, some Chainfire bashing, I hope it is not too late for me to exercise additional villainy.

    First, let me make clear I have nothing against @topjohnwu, nor against Magisk. Magisk is an interesting project and it certainly displays @topjohnwu ingenuity and persistence. I don't doubt we will see more interesting things from his hands.


    What has happened here is not all that dark and complicated, from either end. I returned from holidays, and someone pointed me at Magisk. My first thought: interesting!

    Among other things, the thread lists some issues with SuperSU, which in combination with the phrase The developer also requests users to not bug Chainfire with compatibility requests for SuperSU with Magisk from the portal article, raised my left eyebrow by nigh half an inch. The popular systemless xposed mod is apparently now based on it, and apparently it now no longer works with SuperSU, and apparently I'm not supposed to fix that, nor any of the other found issues. I found that a bit weird. So yes, I have told @topjohnwu that I was a bit surprised he was posting about issues with SuperSU without notifying me about them (I can't fix or help fix issues I'm not aware of, after all).

    He's also spreading a modified version of the SuperSU package, which is not all that uncommon, nor necessarily a problem. I have not looked into what he modified, I only ran a few quick tests on one of my devices, and found some commonly used commands run as root to be broken. I have informed him of this as well.

    It appears the tool of choice for Magisk is phh's Superuser, because of some of the mentioned issues with SuperSU. That's fine by itself, but fixing issues in that superuser by incorporating SuperSU's binaries into it is a somewhat questionable practise. After all, SuperSU is a commercial closed-source package that helps pay for my dinner, and superuser is a direct competitor. I have informed him that I was surprised he did this without asking for permission. I have expressed similar surprise on him spreading a modified version of LiveBoot (which helps pay for a snack now and then).
    @topjohnwu has also stated that Magisk's scripts are largely influenced by mine (I have not checked). Scripts based on mine are used all over the place on XDA, some people have crafted amazing things based on them, I have never made an issue of this (otherwise I would have just made them binaries). But yes, I have also stated to him that I don't think it's very nice to base something on one program, and then using that to (almost exclusively) push something directly competing with that program.

    tl;dr Towards @topjohnwu, I have:
    - expressed surprise he has issues getting Magisk to work with SuperSU, and has chosen not to inform me about those
    - expressed surprise he is using SuperSU binaries in a competing superuser without permission
    - expressed surprise he is posting a modified LiveBoot without permission
    - informed him of issues with the modified SuperSU he has posted
    - let him know I thought it wasn't very nice to be applying my scripts to benefit seemingly exclusively that same competing superuser

    To be crystal clear:
    - I have not asked for an apology
    - I have not asked for Magisk to be abandoned, neither the root hiding nor systemless module parts, and certainly not systemless xposed
    - I have not made an issue of any of this anywhere, until this post
    - I have not even specifically asked for anything to be taken down (though obviously in my opinion the other superuser package mixed with SuperSU's binaries, as well as the LiveBoot package, should go)
    - I have not reported this thread to XDA moderators for copyright violations or otherwise

    While my conversation with @topjohnwu may not win any awards for being friendly (though it may win some for brevity), I think all things considered my response has been rather mild. To be perfectly honest, until the apology post, I thought this was over with already. I think the apology post was triggered because I haven't replied to his last PM for a while - I was in the zone, it happens.

    To emphasize again, I have nothing against @topjohnwu, Magisk, or systemless xposed, and it is certainly not my goal to see any of them go. If it can be made to work together with SuperSU, great.

    I get it though: you think of something, you want to see if you can make it work, you finally get it to work, you publish it, it takes off - enthusiasm gets the better of you. Maybe in the rush some mistakes are made. That doesn't mean you have to just drop it and run. None of my stuff would make it past 0.1 if I stopped at the first big mistake :)

    Aside from said being in the zone coding, I usually regret actually responding to these sort of things the day after, which has made me hesitant to reply. Surprise me.
    Thread temporarily closed so everyone sees this.

    The flood of "SafetyNet isn't working for me either!" posts are not helpful, at all. Please refrain from posting further, it will be looked into. Please do not forget that not passing SafetyNet is 100% NORMAL AND INTENDED when you have an unlocked booloader or running custom firmware. These are workarounds and they will be worked around in turn.

    The Flash
    Forum Moderator

    EDIT: Thread is reopened... I will be cleaning any SafetyNet posts for a while to keep the thread clean for real issues.
    Hello everyone!

    I am aware that Google has updated Safety Net that makes Magisk itself a no go for Android Pay. In fact, I witnessed the change live while I am developing the new magiskhide, which should hide all Magisk modules and Magisk installed root.

    Google is serious about Safety Net now, clearly hunting down all possibility to run Xposed with Safety Net passed. I spend quite some time examining the new security measures last midnight, and fortunately it seems that it is possible to run Magisk and root along with Safety Net if no Xposed is running. I'm glad I removed the old root toggle at the right time lol, that is no longer feasible with the latest detection.

    So stay tuned for the next update, it will come with bug fixes, along with the new magiskhide to bypass that Safety Net.

    Google, how will a few systemless mods do any harm :p:p