Unofficial CM13 on LG G2 FAQ
The following FAQ is from me, the OP, and not from any CM officials or the device devs. I hope you all find it helpful.
What are the common problems? I'm pretty stupid and hate reading...
Is it stable? I'm worried about trying new things...
- Users who don't seem to read: Please read the entire FAQ and don't pollute the thread with common questions. Use the "Search Thread" box at the top of the thread to look for your issue or issues like it.
- Google apps force closing after an update: This is related to your choice of recovery, please read the recovery section.
- WiFi disconnect while sleeping/screen off: This is not a G2 specific issue or even a CM specific issue. It's an Android issue. See: https://code.google.com/p/android/is...tail?id=196035. Please do not pollute the forums with questions about it, at present there is no fix.
- Which bootstack is recommended: None! No bootstack is recommended. Please read the section on best install method and then bootstacks to understand why you shouldn't do this.
Is it stable? Yes. I think it's as stable as a nightly can get. And that could change from night to night, so maybe watch the thread for a day or two and see what people are saying about the releases before installing them.
If you're worried about installing it for fear of, you know... whatever. Then don't install it. This isn't the place where I'm gonna convince you to try it. That's your decision. There's risk to everything. Understand and own the risk.
What is required for CM on the G2? What should my device have?
The required bootloader (aboot) for CM13 on the LG G2 is the KitKat (KK) bootloader. CM13 will fail to install otherwise. The minimum required bootstack (radios, laf, and other firmwares) is a KitKat (KK) bootstack, however a Lollipop (LP) bootstack will work and is preferred. CM-13.0 is bumped and thus does not require loki compatibility.
In order to have a successful update procedure, you will need a recovery that honors sepolicy. Please read the question on the recovery for further details and recommendations.
What is the best install method? Where do I start from?
The best starting point for installing this ROM is from an LG Stock Lollipop installation. While you could
in fact install a Lollipop G2 bootstack and then install CM-13.0 on top of that, there's a good chance that it might fail or not work entirely well for you.
If you don't know or remember the history of ROMs on your phone, you may be much better off doing a full KDZ or TOT re-installation of LG Stock on your phone and take it all the way to Lollipop. Then proceed to root and autorec from there, upgrade your recovery and install CM. If you do this you will not require a bootstack
and won't run the risks associated with installing one. Doing this sort of installation is beyond the scope of this thread. There are different files and starting points for each device. You will have to search for what works for you.
What about a bootstack? Should I use that if I don't want to update? What if I simply can't?
The recommended course of action is detailed above: return your phone to stock lollipop and then proceed to root your device and run autorec to install a recovery. If for whatever reason you simply cannot do that, whether it's because you can't or just won't, then the bootstack options are available. HOWEVER, this has led to problems for many people and is NOT recommended, not even by the devs that created them.
The bootstacks were created as a crutch for those unwilling or unable to upgrade their phones via kdz/tot or OTA methods. They update several key internal partitions for firmwares and keys and what not to bring the phone up to a base lollipop hardware standard. Not all are replaced, and the bootstacks don't do as good a job as LG's OTA's. This is why they can be problematic.
Issues: If you are absolutely set on installing a bootstack, the lg-devs recommend the lg-devs lollipop bootstack
. However some people encounter problems with this as it creates a situation where the phone boots to a black screen and getting to recovery is difficult. If that's the case, you can consider installing Daniel Stuart's hybrid CAF bootstacks
(or download direct from his GitHub
). His bootstacks aren't recommended by the lg-devs, but they do seem to solve the issue of the black screen after boot.
A bootstack with loki support is not required for CM-13.0 to function. It is also not recommended unless you absolutely know you need it on your device. A bump-compatible bootstack is all that's necessary.
The d803 never had an official stock Lollipop release and thus doesn't have an lg-devs LP bootstack. If your device is on a KK bootstack it should work fine, or you could use Daniel Stuart's bootstack which offers a hack to put lollipop firmwares on the d803.
IMPORTANT: If you install any of these bootstacks you run the REAL RISK of BRICKING YOUR DEVICE. Neither I, the G2 CM contributors, nor the CyanogenMod developers are responsible for anything you do to your device. Please proceed with caution before proceeding and have an understanding of what is necessary to recover your phone in case things go horribly wrong.
You need a recovery that honors sepolicy. Without that you will see Google applications force close after a CM update, and the only seeming way to fix it is to re-flash your chosen gapps. This is not a problem with a recovery that honors sepolicy properly.
recovery is Blastagator's TWRP
, version 184.108.40.206 or newer. Older versions (220.127.116.11 or older) do not
honor sepolicy. The CyanogenMod Recovery also works properly, and has for some time. However it is feature starved and lacks useful/advanced functions like backups or a file manager.
Do I need to install anything else? What is a Gapps?
CyanogenMod can be used standalone. However if you want things like Google's Play Store, Google Calendar Sync, and other Google services, you'll want to install a gapps zip package alongside CyanogenMod. I personally use OpenGapps
but have also used SlimGapps
in the past. For CM13 on the LG G2, you need a gapps for the ARM architecture and Android 6.0 (Marshmallow). Please read the entry about camera problems as it may affect your choice of Gapps.
Also, look at the FAQ entry for the recovery if you have FC issues.
In what order do I install this all?
The following is MY recommendation. It isn't necessarily law, but it works well for me. This assumes you have a custom recovery and have already booted into it. If you can't get that far, this is not the place for you to learn how. Please search XDA and look around for the relevant threads.
Suggested install order (the more emphasis I add to words, the more I want you to pay attention to them
). One last tidbit of important information... The order chosen below was deliberate. I wouldn't recommend changing the order unless you know what you're doing. Here you go:
- Recommended: Disconnect anything connected to your USB port, then boot into your recovery
- Optional: Upgrade your recovery to the latest version
- Install latest recovery zip file (Read recovery section for recommendations)
- Reboot Recovery
- Recommended: Do a full ROM backup, then copy the backup (and possibly your internal storage files) to your PC. The remaining steps have the potential to be destructive.
- Optional, NOT Recommended: Install selected bootstack if deemed necessary
- Read disclaimer above in the bootstacks section and make sure you know what you're doing
- Re-read aforementioned disclaimer
- Install bootstack of your choice
- Reboot Recovery
- Recommended: If coming from another ROM or CM 12.1, do a factory reset. CM will fail to install over another ROM's user data
- Recommended: Wipe the system partition
- Install the CyanogenMod zip
- Optional: Install your chosen gapps package
- Reboot your device and wait for first boot to complete
To enable the built in root on CyanogenMod you must enable Developer Options first. Go to Settings
-> About phone
and repeatedly press Build number
until you are told you have enabled development settings. Then go to Settings
-> Developer options
, find the Root access
option and change it to suit your needs.
My understanding about SuperSU is that it does not easily work with CM. The current "stable" version won't work and will likely cause a bootloop. Unless you've done quite a bit of research and know what you're doing, your best bet would be to stay away from SuperSU for this ROM.
Is OTG working? I can't see my attached device!
The OTG, to my knowledge (and personal experience), works. If you get a notification when you attach your OTG peripheral to your device, then OTG is working.
is that Marshmallow (Android 6.0) does things differently with attached storage. Locations are all different from the way they were on previous versions of Android (Lollipop and earlier) and mount points are now auto-generated. Your chosen file manager must have been updated to work with the new 6.0 scheme. Not all of them have been.
For example, I just attached an OTG sdcard reader with an SD card inserted, and the storage was mounted at /mnt/media_rw/7E7B-0812
: An option is to go into the CM FileManager, navigate to /mnt/media_rw (or to your OTG device), press the Actions triplet menu in the lower left side and choose "Add to bookmarks." This should place the location into the bookmarks (when you press the hamburger menu or swipe in from the left) for easier access.
My camera doesn't seem to work!!!
We are limited to the proprietary camera libraries from LG for the G2. The latest of these is for Lollipop. That means any cameras that depend on the new Marshmallow API's to operate will fail to work properly (if at all) on our devices
. A major example of this is the Nexus edition of the Google Camera. Sadly, this camera is included in many "Stock" editions of Gapps (including the popular OpenGapps distribution). To complicate matters, the "Stock" edition of these Gapps packages remove the stock AOSP/CM camera. AND because the camera is basically named for the Google Camera from the Play Store, you can't install the Play Store edition. Basically, you are stuck with a non-working camera as your only option unless you install something 3rd party.
To fix this problem you'll need to instruct your Gapps to avoid installing the "Stock" Google Camera. This will leave the AOSP/CM camera in place and allow you to install the Google Camera from the Play Store. Both of these options are preferable to the non-working Nexus edition of the Google Camera. The process is detailed in this post: http://forum.xda-developers.com/show...&postcount=501
What about this Snap camera I've heard about?
The "Snap" camera is actually the SnapDragon camera from Qualcomm. It's optimized for qualcomm chipsets and so is faster and generally better on our hardware than other cameras. As of nightly 20160112
it is now built into the system as the default camera. You'll want read and follow the instructions in the above entry "My camera doesn't seem to work!!!
" to make sure your Gapps doesn't replace it.
Bugs, I think I genuinely have them. What should I do?
Whine. Just whine and whine, no one will be annoyed at all. Actually, many people will be annoyed and there's a good chance I'll make fun of you.
The first thing you should actually do is to search this FAQ. Please read all the entries to make sure they really don't apply to you. Reading never killed anyone. If that doesn't turn up an answer, use the "Search this thread" box up at the top of the page and see if you can locate posts like yours on this thread. You may very well have a bug that others have solved, but please be mindful not to ask questions that have already been answered. Having to repeatedly answer the same questions over and over again is also rather annoying. If you really haven't found anything, then ask a question. Genuine bug reports are not uncommon and I'd like to see a little bit of a discussion before an official bug report goes in.
Finally, If you really think you have genuine bug, be it in CM generally or on the G2 specifically, you'll want to proceed to posting an official bug report on CyanogenMod's Jira. For more information on that, please read this handy post I made on how to post to Jira
. Once you've done all of that, post a link to your bug report on this thread so we can all follow it.
My question isn't here... Should I private message you to ask?
I won't be answering any questions that are sent to me privately, UNLESS
I have a previous relationship with you (if you are reading this and wondering if that means you... it probably doesn't mean you)
. The best you can hope for in a response is sarcasm and mockery. Ask your technical questions here, or search the thread. Or search XDA, because there are many problems that are not G2 specific. Hell, there are plenty of issues that aren't even CM specific. Google, or that search box up there... they are your friends.
Is there anyone I should thank?
Well, for me, its the people on this forum that answer questions for everyone else. Believe it or not, there are people reading this thread that DO NOT BOTHER TO READ THIS FAQ
. They won't even search the thread to see if their issue has been discussed (ad nauseam) before. Yeah, they're annoying
, they repeat questions, and some times they are just plain disrespectful. Usually my first instinct is to make fun of them and be as unhelpful as I can be. But I wait, and these aforementioned saints swoop in and provide help. So thank you helpful forum people. I do really appreciate it