[Nothing Phone 2] arter97:
NothingMuchROM for Nothing Phone 2​

/* Intro */

Stock firmware is plenty good. This is not a full-fledged custom ROM, only a handful modifications were made over the stock firmware.

This is mostly for my personal taste on minor modifications.

/* Features */

Widevine L3 enforced to fix Netflix

Volume level steps increased to 30

64-bit-only for better performance

System tuned for better performance

Disabled dm-verity/FEC for better performance

Latest f2fs-tools for better error handling

Custom resource overlay

Fonts used from Google Pixel

Defaults to DPI of 360

Slightly debloated

/* Details */

- Performance -

- The LLVM Scudo memory allocator has been replaced to latest jemalloc's stable tag.

Scudo is security-hardened memory allocator that mitigates some of the memory-related security attacks. On the other hand, jemalloc is optimized for performance and it was used as the default memory allocator on Android from 5.0 to 11.

The jemalloc used in this build is based on 5.3.0+e4817c8. It's opened-sourced at https://github.com/arter97/jemalloc/tree/a14 and pending review at AOSPA: https://gerrit.aospa.co/q/topic:"uvite-jemalloc"

With this change, memory allocations and frees are taking 23.4% less time with 1.7% less amount of memory consumption.

On Android, jemalloc is now only used for Android Go, and it's also a much older version, so this is indeed a drastic change. Keep in mind that some poorly made apps can misbehave with this change, but I have not encountered any.

- AOSPA's arm-optimized-routines was used.

A major advantage from AOSPA is that our team member, Jake Weinstein (xboxfanj), optimizes assembly routines to make basic premitive routines such as memset/memcpy/memcmp/strcpy/strcmp and math functions such as exp/log/pow/sin/cos/tan to perform better. Just like the memory allocator, these are used everywhere too.

AOSPA merges latest Arm code, which comes with approximately 200 new commits.

- LMKD (low memory killer daemon) is replaced from Paranoid Android.

This reduces app kills by about 56%.

- 64-bit-only

This ROM uses 64-bit-only mode, just like the Pixel 7 series.

32-bit apps will not work.

Google claims this improves security, but more importantly, this improves performance as it reduces memory usage. Personally, I see about 100M less memory usage from this change.

See this blog post from Google for more information.

This ROM takes it further by replacing all native system executables to 64-bit, including several media services. There will be no 32-bit code running on the system with this ROM.

This ROM also tunes dirty writeback settings, disables bootreceiver service, disables unnecessary screen decorations for better performance.

- Debloating

For debloating, Google Drive, Keep, Meet, YouTube Music, YouTube, TV apps are removed. You can install them from the Play store if needed. OTA services, FactoryTest and logkit are also disabled.

- Resources -

This ROM uses a customized resource overlay.

Corner radius has been adjusted so that the rounded corners on app switches better reflect the actual hardware. This personally bugged me a lot.

Fonts and several other resource settings have also been taken from the Google Pixel. You will notice several UI differences from the stock firmware.

/* Disclaimer */

Your warranty is now void.

I am not responsible for bricked devices, dead storage, thermonuclear war, or you getting fired because the alarm app failed. Please do some research if you have any concerns about features included in this kernel before flashing it! YOU are choosing to make these modifications, and if you point the finger at me for messing up your device, I will laugh at you. Hard. A lot.

/* Instructions */

This ROM is distributed in the form of the entire dynamic partition (super) packed into one.

You need to be on the specific stock firmware version on slot "a" that this ROM is based on prior to installation.

You also need to disable dm-verity, which will happen if you install vbmeta.img included in the zip file.

You need to be on the "a" slot prior to installation. If you're on the "b" slot, manually sideload the stock firmware again so that the "a" slot is populated with the latest firmware.

To flash stock's firmware/images, use this.

Data wipe is recommended, but may be optional if you were previously using the stock ROM with dm-verity disabled.

1. Read the above. Please.

2. Perform backup.

3. Make sure you're on the correct slot.

4. Extract the zip from a PC.

5. Flash the super.img from either bootloader or fastbootd mode.

fastboot flash super /path/to/super.img

6. Flash the vbmeta.img, if you did not disable dm-verity before.

fastboot flash vbmeta /path/to/vbmeta.img

7. Wipe data, if you previously had dm-vertity enabled.

/* Downloads and links */

arter97.com

Telegram chat link