UPDATE: For those of you with T-Mobile’s latest UVUAMDL firmware or Sprint’s latest VPUAMDL firmware, this root method will not work. BUT, you can use CWM or TWRP method below along with kernel fix to root. (See Sprint Kernel fix and T-Mobile Kernel fix)
You can use this root method on Windows, Mac, and Linux/Ubuntu.
This root method also just “gives you root”, does not install custom recovery so it is very easy to also unroot by using universal Android unroot method.
For rooting Galaxy S4 on Mac OSX, see full video tutorial here:
For rooting Galaxy S4 on Linux/Ubuntu, see full video tutorial here:
Step 1. Go to Settings->More->About device then hit “Build Number” about 5-10 times until you see “Developer mode has been enabled” message.
Step 2. Next hit the Back button and you should see a new menu called “Developer options”, hit that new menu button!
Step 3. Make sure Developer options is checked ON and also check “USB debugging” ON.
Step 4. Connect a micro-USB cable from your Galaxy S4 to your computer, you should see “Allow USB debugging” window pop-up on your phone, hit “OK”. If you don’t see it yet, just skip this step and check back on Step 7.
What is a Custom ROM?
A custom ROM is a custom, modified operating system that you can install on your Android device. Basically it's like installing Windows OS on a Macbook. By installing a custom ROM, you can bypass stock factory settings like locked hotspot tether, install new Android versions early, or even convert your phone into another OS.
With a custom ROM, you can really maximize the capabilities of your smartphone by adding custom features that have been developed by open source developers.
How to Install Custom ROMs
First, you will need to root your device, if it is not rooted yet, follow our root tutorial and root your phone.
Once rooted, you should have TWRP installed on your phone. Installation of a custom ROM is easy if you learn the basic of it. If you don't know how to install custom ROMs using TWRP recovery, see our tutorial on How to Install Custom ROM using TWRP!