One cause of the keyboard backlight failing to turn on when desired has been fixed. It is possible other causes have not been fixed. Please report if you continue to run into issues with the keyboard backlight.

Switch from binary libsensor to source-built libsensor from aries. Theoretically it should behave identical to the old libsensor. Please report any differences you notice with sensors.

Rescaled signal levels to fit AOSP's signal bar thresholds. It should be roughly equivalent to the behavior in beta4. Please report if you experience any major problems with signal bar behavior.

Apollo music app, although reportedly it needs more work to look good on smaller screens like Epic.

Lockscreen Shortcuts.

Key repeating in recovery enabled for epicmtd.

CM9 beta3 Friday, May 11th, 2012

Theme Chooser

The ability to customize look and feel of CM9 to user choice using predefined themes or community driven user inspired ideas. Preview the theme before applying to make sure its exactly what your looking for in a theme before applying to the phone.

Lockscreen Shortcuts

Allows you to choose lock screen shortcuts (1-5) anything from browser, Facebook, twitter and messaging, the choice is yours, with customizable icon's.

Capacitive Buttons/Keyboard Backlight Disable Option

One of the most exciting new features in CM9 beta3 for Epic 4G is the ability to disable the capacitive touchkey backlights. Unlike other phones with multiple brightness levels, the touchkey lights on Epic 4G have only on and off. Using the Epic in the dark would be often annoying as the touchkey lights are blindingly bright.

Settings > Advanced > Disable Touchkey Lights turns off lights after a 750ms delay since you last touched it. We designed it this way on purpose so the user has enough time to recognize the location identity of the four buttons.

Settings > Display > Automatic backlight > Edit other levels... allows you to further customize when touchkey lights and even the keyboard backlight will be enabled based upon the light sensor levels. 0 means off and 255 means on.

Unique Bluetooth MAC Address Fix

Previously Epic CM9 used a generic MAC address instead of a unique per-device MAC address. Since the bluetooth address has changed, all users must re-pair their bluetooth devicesbefore they may be used again. This resolves several known issues with some newer bt devices.

Gallery Photo GPS Fix

All previous versions of CM9 for Epic 4G would an erroneous date of 1969 in the photo EXIF data if you have GPS enabled at the time of taking the photo. This would cause the Gallery app to become confused and display photos in the wrong order. All new photos taken by the Camera of CM9 for Epic 4G will no longer have this issue. bbelos and Cyc of Team Epic wrote this tool and instructions for fixing your older photos.

Conservative Overclocking

CyanogenMod aims for maximum stability, so we have decided to include only the most conservative overclocking and no undervolting in the standard CM9 kernel. Undervolting is known to work 99.99% of the time, but rare timings involving certain apps can cause the phone to spontaneously reboot. It is our belief that many reports of random reboots are the result of unsafe overclocking or undervolting. We will not ship the means for users to shoot themselves in the foot in the default operating system.

We have added only the 1.2GHz step, disabled by default. You enable it in Settings > Performance > Processor > Maximum CPU frequency. Since voltages cannot be changed, no add-on tools like Voltage Control are necessary.

While 1.2Ghz maximum seems to be stable for most users, we do not recommend using it if you care about maximizing stability.

Smoother cpufreq scaling

All previous kernels have had trouble where it would no longer use the 100MHz step if you have changed your cpufreq or governor settings. Major fixes were made to the kernel to allow cpufreq to scale more smoothly. As a result, the cpufreq governors now behave differently. The powersave governor has been removed as it causes extreme slowness, failures and consequential higher battery consumption.

GPS Navigation and Google Maps Fix

CM9 beta2 added emulation for RotationVectorSensor2. Unfortunately this exposed a race condition that can cause sensors to entirely deadlock, the cause of the rare reports of GPS Navigation failures we have been hearing lately. beta3 contains teamhacksung's fix to the magnetometer driver to prevent this failure.

If your GPS was already broken in CM9 beta2, you may need to uninstall and reinstall Google Maps in order to fix it.

Camera Timer

The Camera app now has the ability to set a countdown timer before a photo is taken. While in the Camera, hit the Settings button, then the action bar (three dots), then tap the camera button. The on-screen camera button will turn red and you will see a red countdown in the top left. When it reaches zero it will take a photo.

CM9 beta2 Monday, April 9th, 2012

Wired Headset Microphone volume now louder in calls.

Loud Speaker Volume now louder. Both phone calls and media (music, Netflix, etc.) should both be louder.

36MB memory has been freed! Upgraded the MFC driver to match crespo, then found the minimum amount of cache necessary to allow camera, camcorder and video playback to work. This allowed us to free 36MB memory from the kernel.

Fixed the much hated Ringing of Death bug. This was the short chirp before the ringtone, or constant ringtone that would play during or after an incoming call.

Fixed ICS multitouch protocol in qt602240 driver. This should make it possible to play certain multitouch games like Dead Space™. It also fixes the touchscreen driver with CWM 5.8+ (not released by koush yet).

LED notifications have been changed to enable significant power savings. LED notification has been changed to blink every 15 seconds, roughly matching the delay in Samsung's EL30. This alone eliminates ~71% wakelocks, while previously the CPU was unable to sleep at all while the notification LED is blinking.

LED notifications may be turned off entirely for additional power savings. Settings > Display > Pulse notification light. This allows you to continue to hear the notification chime and vibration without the added battery drain of LED blinking.

Adjusted heap settings to match crespo. This is very similar to a popular tweak in the forums. It prevents some Out of Memory crashes (i.e. NPR News). You can use these three lines in /system/build.prop to benefit from this tweak prior to alpha4.

Fix automatic brightness setting. In alpha2 you could save power by turning off automatic brightness and manually reducing brightness. This is fixed by updating the array values for brightness levels to match CM7 and stock. This reduces wasted power and hot screens reported by some users.

Capacitive buttons backlights (Menu, Home, Back, Search) now mimic TW behavior by turning off the backlight after a 6 second timeout. This both saves battery and improves the user experience in darkness.

Fix the power profile. Previously battery usage blame percentages were less accurate.

LED charging indicator no longer turns off after you dismiss a notification.

Added roaming options. Alpha3 includes domestic, international, both, and no roaming options as found in gingerbread TW ROMs.

Fixed the annoying "Data usage warning" that was previously impossible to dismiss from the notification window.

Removed Chinese and Japanese IME. Install the better IME's from Android Market if you need Asian language input.

CM9 alpha2 Tuesday, February 7th, 2012

With alpha-2 and all future versions of CM9, you will no longer need to update gapps after every upgrade.It is highly recommended that you upgrade to the new gapps-ics-20120201. This new gapps-ics has the face unlock split into a separate .zip because it is rather large and not very useful with our low resolution front camera.

CM9 for Epic is missing 5 of the 8 motion sensors usable in Gingerbread. This apparently is the cause of auto-rotation not working for the minority of users. Many of these users are able to make auto-rotation work by calibrating sensors using the temporary sdcard FC09. This problem is targeted to be fixed as part of the crespo kernel merge.

Upstream bugs

Configurable notification toggles - not yet merged in CM9 upstream

Haptic feedback is stronger than stock. Wastes battery.

"Private Number" in the call log appears as name "N" with phone number "-".

Wireless ADB enables on 3G/4G too. This is unsafe. We should ship with default iptables rules that block it.

MMS Slideshows are not supported. You can view it by saving the attachments.

TODO List

3 button reboot?

Do we want to add support for a button combination that does an instant hard reboot? Apparently the VolUp+Power+Camera combo was removed from stock ROMs earlier because it caused data corruption. We may consider adding a button combo that is less easy to hit by accident, like something that requires hitting VolUp+Camera+SomethingOnSliderKeyboard. What combination should we use? Reference patches 1, 2, 3.

Insufficient Memory Mitigation

Convert drivers to CMA allocator
<mkasick> yes, the memory problem is that these dma peripherals can't use scatter-gatter everywhere and so require large physically-contiguous buffers, which pretty much have to be preallocated and wasted in Linux
<mkasick> newer versions of Linux have the CMA allocator which helps, I know SGSII uses that.
This is estimated to free ~34MB, but it would be very difficult.

Make builds faster by making PNG optimize step less dumb

Prior to APK packing, optimize all PNG's and output into out directory. Pack those PNG's instead.

If original PNG did not change, then need not optimize PNG again in the next run.