Some cool ROMs for the Samsung Galaxy S4 (MetroPCS) SGH-M919N

What is a ROM? A ROM is basically an operating system for a phone. Just as there are different operating systems that you can install on a computer there are also different ROMs – in addition the stock ROM that comes with the phone – that can be installed.

There are three foundations to being able to install ROMs, and these are:

1. Root the phone

2. Install a custom recovery

3. Install Titanium Backup and run a batch backup of all user apps and system data

Root

To start everything out one must first root the phone. Android is a form of Linux which is a form of Unix, and on Unix-based systems root is the master user of the system. With root privileges one has complete and full control over the system. Normally the use of root is discouraged unless absolutely necessary when administering a system, however there are a number of apps including Titanium Backup which require root privileges to run. Having root gives you complete control over your phone and can make some things easier.

Custom Recovery

Every Android device has what is called a recovery environment. Its basically a special, tiny maintenance OS that exists separately from the main ROM of the system. It is through this maintenance or recovery environment that ROMs are installed (flashed) to the device.

Every Android device comes with a stock recovery, however to start flashing ROMs you will almost certainly need a custom recovery. The most popular recoveries are Philz, Clockworkmod, and TWRP, with the latter seeming to be the most popular recently. Here is information for installing TWRP. There is also a TWRP Manager app available which makes rebooting into the recovery environment and performing various tasks in it easy.

Titanium Backup

Titanium Backup should always be the first app you ever install on any device. Once it is installed you can run a batch backup of all apps and system data. This will save everything in a folder called TitaniumBackup either on the internal memory card or an external SD card. You should then copy this entire folder to a safe location on a computer as backup.

You may need to enable Developer Options on your Android device in order to connect it to your PC and transfer files to and from it. This is done by going into Settings -> About phone and then tapping on Build number multiple times until a message appears which says Developer Options have been enabled. Then exit back one level in Settings and go into Developer Options and turn on USB debugging. Now the device should show up in Windows Explorer under My Computer.

Once you’ve installed any ROM, the first thing you will always do is set up your main Google account so that you can access the Play store, then install Titanium Backup right away and run a batch restore of all apps and data. Before running the restore, go into the Google Settings app and under Security make sure “Scan device for security threats” is disabled otherwise you will get a ton of annoying confirmation popups during the restore process.

I selectively choose which things to restore – all my important apps, my custom launcher (Nova which I love), plus the following special items:

Accounts – extremely useful because it actually does restore settings for all your accounts. Note that the sync settings will probably get changed after the restore for each account so you will have to go in an manually set them to your preference afterwards.
Bluetooth Pairings – useful to restore any bluetooth device pairings/settings
Call log – again, extremely useful to have the call log restored
Messages – extremely useful. Restore all SMS messages.
Wallpaper – I use a highly customized, live wallpaper (Light Grid Pro which is amazing) so its nice to have it restored
Wifi Access Points – useful if you have a lot of different access points configured

Once the batch restore is complete you should reboot immediately. It always blows my mind when, after wiping the phone, installing a brand new ROM, then restoring everything with Titanium Backup, the system comes up and everything is almost exactly the way it was before.

However you may still need to do a few tweaks – for example any keyboards you have installed (I love Swiftkey) will have to be re-enabled in Settings -> Language and input. You may also need to go into Settings -> Accessibility and re-enable some things (such as Lastpass input), and into Settings -> Accounts and re-enable things or turn on/off syncing for different accounts (I use CalDAV sync to sync with my Owncloud calendar and I have to go into the account and re-select the calendar to sync).

Note about freshness

One major downfall of 3rd party ROMs is that many of them are released and then no longer maintained. If you look through the ROMs available for the TMobile Samsung Galaxy S4 (which includes the MetroPCS model) as well as those available for S4 models in general (some of which may not support the MetroPCS model), many in the list are no longer maintained. Often someone creates a ROM, releases it, and then moves on.

In light of serious security vulnerabilities found in Android, such as the latest kernel vulnerability and the now infamous Stagefright vulnerabilities its important more than ever to have a system which will receive timely security fixes.

I therefore recommend sticking with ROMs which are part of larger group projects, rather than one-off builds created by single developers, cool though they may be.

One feature to look for in any ROM is OTA (Over The Air) updating. This means that in the Settings there will be an Update option through which can check for, retrieve, and install updates.

Noteworthy ROMs

Below are some noteworthy ROMs for the MetroPCS Galaxy S4. Note that the codename for this model is the same as for the TMobile model: JFLTETMO. Any ROM for the TMobile model (SGH-M919) will also work for the MetroPCS model (SGH-M919N).

Cyanogenmod 12.1 CyanogenMod (often referred to in forums as “CM”, not to be confused with the custom recovery ClockworkMod “CWM”) is actually the base of a lot of custom ROMs. It is kind of like a bread-and-butter ROM. It may not have extra special enhancements which other custom builds have, but the “nightlies” are always maintained and if you use it you should feel confident to know that you will probably receive any important Android security updates before anyone else does. It is a good choice if you want something that is secure and will always be maintained. You can also create a Cyanogenmod account which will link with your device. This was the first custom ROM I tried. Features OTA updates. One thing I will mention is that the many of the themes available for CM 12.1, which work with many of the other builds mentioned here, are amazing.

Optimized CyanogenMod 12.1 Installed this ROM today and its excellent, on par with Resurrection Lollipop mentioned below. AnTuTu benchmark score is very high, and performance is snappy. I miss the cool ringtones from Resurrection and the latter also had a few more settings and tweaks available but nothing of major importance. This ROM includes STweaks instead of Kernel Adiutor. One thing I like about STweaks is it has a Sound section where you can up the gain to the speaker. You just have to be careful because you can blow out the tiny speaker if you up it too high. Under Wifi advanced settings you can change the Wifi country setting since the radio bands for Wifi differ between countries. Well-maintained project with many contributors and frequent updates. Features a lot of performance optimizations/customizations and OTA updates.

Candy5 Somewhat similar to Cyanogenmod but with more enhancements. It is maintained by a good number of people and has fairly frequent releases. This was the previous ROM I used. It also comes with a Sweetener Pack which are cool customizations that can be done to most aspects of the interface, beyond what almost any other ROMs offer. It also includes a system-wide ad-blocker that can be enabled. Another cool thing is Kernel Adiutor, available in Settings, which gives fine-grained control and the ability to tune the kernel, CPU, GPU, and more. I especially like the Sound settings here in which it is possible to up the gain for the handset speaker. Features a custom kernel and OTA updates.

Jflte Team The Android Open Source Project This is about as pure Android as you can get. Google periodically releases the source code of Android which is what projects like Cyanogenmod and this one use. However most projects will then customize it. This project tries to keep it pure but adds a few things from Cyanogenmod. Features OTA updates.

Resurrection Lollipop v5.5.6 Yesterday I installed this ROM and was glad I did! It is a really cool, feisty ROM, very smooth and fast. Has some cool ringtones that I like. Under Settings -> Configurations there are a lot of cool tweaks. AnTuTu Benchmark score was notably higher with this ROM than with Candy5. The link to GApps on their page was not working, so I used TK GApps micro which is working fine. This ROM features Kernel Adiutor for kernel tweaking and has more settings tweaks than most ROMs. Features OTA updates.

JFLTE-GPE 5.1 Based on Google AOSP

Team-Radium 1.4 Derived from Cyanogenmod with additional features. Features OTA updater.

MoKee OpenSource Project

Ayeh MODs albe95 S6 Port I tried this and it is a very good ROM. It is basically a backport of the Galaxy S6 to the S4. Even though its a Samsung-based rom it still lacks Wifi calling (as virtually all other ROMs mentioned here also do). Also, it was built based on settings for a different country. Wifi channels are different in different countries, and with this ROM 802.11a and 802.11n (5GHz) connections were not working. There is a way to fix this but it is pretty involved. Hopefully a future release will fix this. Note that this is not an actual release from albe95 but rather an adaptation for the TMobile done by one person.

Albe95 LolliROM 5.0 Another Samsung-based ROM with many backported apps and features from later models like the S6 and Note 4. Same as with the ROM above, this is not albe95’s actual release, but an adaptation of it for the TMobile by Ayeh.

ROMs that do not support the M919 TMobile/MetroPCS model

Unfortunately a number of popular S4 ROMs you may hear about do not support the MetroPCS model. These include:

Slim Roms

Euphoria Android Lollipop

Albe95 S6 FULL PORT 4.5 Unfortunately the main release of the very cool Albe95 S6 backport does not support the MetroPCS model, although Ayeh has done a release for the TMobile (linked above).


Note about Camera apps

One thing I did miss with non-Samsung-based ROMs was the Samsung camera app. Android has a new camera API called Camera2 which supports more features and there are a number of very cool camera apps which support it. However the Candy5 ROM I’m using and I believe many of the others mentioned above do not support it. I still managed to find a couple really good and free camera apps at the Open Source Android repository F-Droid: Focal and Open Camera.

Note about Wifi calling

Wifi calling is a nice thing to have, however pretty much all non-Samsung-based ROMs will not support it and even the Galaxy S6 backport ROM above doesn’t support it. But since MetroPCS plans feature unlimited voice this is not really a big issue even though it would be nice to have. In the past, with another phone, I found that keeping Wifi calling disabled actually ensured better voice connections when out and about and connecting to various Wifi hotspots.


Comments

Leave a Reply

Your email address will not be published. Required fields are marked *