[Samsung Galaxy Nexus] MWisBest:
Changelog, News, Etc.​

Lollipop Beta Changelogs:

- Updated the camera HAL.

This is going to be a little... fragile, at first, but in the long run it's needed. Stock camera app saves pictures now at least.

You may also notice that there's a 5.1MP resolution now (clear your camera app's data if you don't see it), despite our camera supposedly being 5.0MP all these years. Turns out the sensor's native resolution is indeed a whopping 16 pixels taller and 16 pixels wider than we've been using.

2015/01/04

- Added back some of the classic FML optimizations and more.

Built with -fstrict-aliasing flag, C++11, and the Linaro GCC 4.9 toolchain.

- Updated to AOSP "android-5.0.2_r1" tag.

As usual, the only real change was them bumping the version number.

- Improved flashing.

The speed of flashing the ROM zip is now much faster.

- Superuser is now built-in.

There's no need to flash SuperSU. You can find Superuser in the Settings app. You may have to enable the "Development Settings" menu to see it.

Some apps are a little sketchy with this Superuser though, most notably Titanium Backup. If you have issues, try flashing SuperSU.

- Video playback should be fixed.

YouTube in particular seems OK. If you have some weird format you're playing back locally I cannot make any guarantees though.

- The camera situation has improved and also regressed.

The stock camera is kinda back to the point of where it was with the KitKat Beta builds:

---- Preview works. Saving photos does not work. Video recording kinda works.

--- However:

---- The camera calibration is a little messed up. Long story, but it'll be fixed soon. So your white balance may look kinda funky, among other things.

- Audio quality is improved, with support for 192kHz FLAC as well.

This is possible thanks to a new audio resampler, which doesn't impose the same sample rate restrictions of the stock Android ones. It also has far better quality than the stock Android resamplers.

- WiiMotes can now be paired via Bluetooth.

I used to be a bit of a Wii hacking enthusiast... I think I still need to add some more stuff to make it useable as a gamepad or something, but yeah.

- Fixed location services issues.

- (toro) Fixed switching between 4G/LTE and 3G/CDMA network settings.

- Kernel changes:

Reclaimed 38MB of RAM from the carveout stuff.

Removed HDMI's framebuffer, saving an additional ~16MB of RAM. With Lollipop, MHL/HDMI out isn't working with our old HWComposer, so might as well save some RAM in the mean time.

Added overclocking support, as well as adjusted the stock frequencies a little.

Added the GPU kernel driver back into the kernel, rather than building it as a separate module.

Switched to LZO compression for the kernel. It results in a slightly larger size to the kernel, but it boots faster.

Added the "purple tint fix".

Added compiler flag to tune code for Cortex-A9 CPU.

Built with Linaro GCC 4.9 toolchain.

Older Builds:

2014/11/16

- Fixed the RIL.

(I think, still unsure of toroplus's status.)

There were a few things that went into this, and I can't really take much credit for it other than being persistent in trying to fix it.

1. rild needed a little fix-up to somewhat return it to pre-Lollipop form. Basically Google is forcing Qualcomm's junk upon the world. [MENTION=2875964]dhiru1602[/MENTION] pointed me in the direction of some commits from rmcc to hardware/ril that fixed this part of the problem.

2. The kernel needed a commit to support some new junk related to networking in Lollipop. [MENTION=2633638]Ziyan[/MENTION] linked me to the change in question.

- Updated to AOSP "android-5.0.0_r6" tag.

Really the only change is that the build number is bumped to LRX21T.

- Switched out a couple small proprietary binaries with a reverse-engineered open-source version.

Thanks to [MENTION=3457922]stargo[/MENTION] who has really been killin' it for the Motorola OMAP devices recently, we now have a reverse-engineered pvrsrvinit binary (the executable that fires up the GPU drivers on boot-up). This is especially important because the proprietary pvrsrvinit wasn't compiled as PIE (position-independent executable). With Lollipop, they're forcing everything to be PIE, which is good because PIE is better from a security stand-point. Previously I had been adding a workaround to enable support for non-PIE, which I now don't need.

2014/11/11

- Switched back to the old OTA package format.

With Lollipop they're now, by default, flashing something similar to a system.img. I switched back to the old format. THIS IS CAUSING VERY LENGTHY FLASH TIMES NOW HOWEVER, I HOPE TO FIX THESE SOON.

- Changed the kernel to build with GCC 4.7.

With Lollipop, Google switched to GCC 4.8. GCC 4.8 has never been kind to the Galaxy Nexus kernel, I'm surprised it was booting at all in the first place.

- Added "Ambient Display".

Apparently I need to add a "pick-up" or "significant motion" sensor for it though, so it displays something when the phone is picked up.

- Fixed chromium crashing.

This fixes Browser crashing upon open, among other things. This fix has been in chromium itself for nearly 4 months now, I don't know what the heck Google is doing to AOSP to make it so FUBAR lately...

- Fixed lag in Recents menu.

Now it's smoother than KitKat's, in my opinion.

- Added back F2FS support.

F2FS is now supported again, HOWEVER, it is NOT supported on the /system partition. It really didn't do any good for /system anyway.

- Updated various icons.

The Dialer icon in particular was bothering me. Other things that aren't visible in the launcher, e.g. SettingsProvider, have been fixed as well.

- Fixed FLAC playback, among other media decoding issues.

Just needed a sync-up in the device tree with one thing that I think Google DID do a nice job of with Lollipop actually.

- Built the ROM with "WITH_DEXPREOPT := true" defined.

This basically has all the system apps compiled before flashing, to cut down on the initial boot-up time which is ridiculously long with ART.

- Changed the "Android is upgrading..." screen to prevent burn-in.

Instead of using the white Lollipop-like look, it now should show up as the old, darker theme.

KitKat Beta Changelogs:

2014/10/15

- Cleaned up the kernel.

Ziyan went over all his work not long ago and cleaned up the commit history and whatnot. He's letting me do the task of merging in the GPU driver stuff, so I'm currently just getting the kernel to a "clean slate" of sorts for other kernel devs to fork and build off of. Basically this should hopefully be the new "stock" or "Google" kernel. As a result, there's some bells and whistles missing from this build. It does however include some new audio updates that weren't in the previous kernel, which leads me to this...

- Changed audio sampling rate to 48kHz.

Previously the sampling rate has been 44.1kHz. The Galaxy Nexus supports 48kHz though! Here's what mainly sparked this change: since KitKat, the UI audio effects (e.x. touch sounds) have been switching over to 48kHz. With the Galaxy Nexus still using 44.1kHz, UI sound playback became kinda sluggish, and this was a big contributor to it. The UI sounds use the "fast track" audio path (where it tries to do as little processing as it can to the audio in order to play it with a minimum amount of latency), however a requirement of using this is that no resampling (e.g. converting 48kHz to 44.1kHz, like it has been doing currently with KitKat) can be required on the audio being played. Therefore the UI sounds were taking the "deep buffer" audio path, which has a delay to it. In switching to 48kHz, the "fast track" path is actually even faster now than it has ever been previously, and the Galaxy Nexus was already TOP OF THE LINE when it comes to audio latency believe it or not!

Another thing about this is that there is now support for playback of 96kHz audio files.

- Some updates to the camera HAL.

This hasn't fixed the situation of stock and stock-based camera apps crashing when taking a picture, but it's a start on it though.

NOTICE: Poweramp (and probably most other media players that use their own native code for audio playback rather than straight-up using the built-in Android APIs) is being pissy about the sampling rate change. If you experience issues with music playing, especially things like popping or crackling, please try Play Music or Apollo and see if your issue is still present. I know the UIs for Play Music and Apollo are pretty awful, but I can't write my own media player because I'm dealing with this camera stuff! :(

KitKat Stable Changelogs:

N/A