[ROM] Marvin [English\Multilanguage] Xiaomi MI2/S [8.11]

Dec 27, 2011

Based on latest MiuiAndroid English ROM

Disable software (CPU) rendering - Full Snapdragon (GPU) rendering:
Disable CPU rendering, ostensibly to improve both battery life and performance.
Essentially, it rewrites the relevant configuration file to render from only the GPU. This would increase performance and battery because the CPU is being freed up to perform other tasks.

init.d support:
Init.d has a special place in Android. With it, users can install scripts and mods to run at boot, and thus modify almost any aspect of the phone that they want. There are battery tweaks, performance tweaks, GPS tweaks, signal tweaks, and the list goes on and on. However for these scripts to work, the phone must first have init.d support

1.DNS- A lot of the lag in a lot of apps, apart from the GUI lag, is due to slow DNS querying, specially on the mobile network.
CrossBreeder now runs a caching, parallelising DNS client on the device. So now most of your DNS queries will be served from the cache and if not found, the query will be sent in in parallel to multiple DNS servers including the two Google DNS servers, the two L3 DNS servers and your two ISP servers and the quickest reply will be served to you, hot and transparently.
This speeds up network access and networked apps, like Browsers of course, and Tapatalk, Gmail and thousands of others drastically. And removes a lot of the lag where it was due to DNS querying. This will not increase your network or download speed but pages will load much faster.
2. Modulate OS entropy levels for lag reduction ala Seeder. The whole OS reads either /dev/random or /dev/urandom and both need entropy. However this mod uses a completely different, lightweight and efficient random number generator called Havege . This sharply reduces cpu consumption and corresponding battery life loss compared to Seeder. It also does a better job at keeping entropy levels high hence your device is more responsive. It doesn't run in a CPU intensive loop either
3. Change kernel parameters specially the wakeup threshold ones so read blocks are released instantly and writes never wake up as we have an external entropy generator. And a host of other fail safe and working tweaks from the community for each key subsystem.
4. Remove /dev/random as it's blocking . Link it to non-blocking /dev/urandom. Since /dev/random is blocking and designed to protect us from Quantum alien cryptographers with mathematical certainty and urandom is non blocking pseudo-random device that most apps and OSs are using anyway and with Haveged running, is as secure anyway as it's very difficult to empty the entropy pool faster than Havege can replenish it. Pre ICS devices have a lot to gain with this but ICS+ devices show visible gains too.

Fly-On Mod:
Fly-On Mod is a Mod that combines many script,binary and other tweaks in one package which is aimed to improve Android system's Smoothness,reduce GUI lags and of course some useful battery life improvements and tweaks!

Probably the best Audio MOD Out there.
ViPER4Android FX
Mainly renders audio quality and many effects.
ViPER4Android XHiFi
Mainly restores lossy audio quality.
ViPER4Android FX and XHiFi combined
More settings to configure, more to play, extend audio effect limits!

Mother of All AD-BLOCKING:
Stops Annoying ADs (Text and Media), Malware and Spyware, Bloatware, Possibly POP-Ups.

Network Tweaks:
There are some Tweaks that are used to increase the speed of your Network browsing,downloading and uploading

Build.Prop Tweaks:
Those Tweaks can generally be found in Build.prop /system and they are used to optimize overall system speed and battery

Zipalign is a tweak used to optimize Android application (.apk) files.
The purpose is to ensure that all uncompressed data starts with a particular alignment relative to the start of the file.
Specifically, it causes all uncompressed data within the .apk, such as images or raw files, to be aligned on 4-byte boundaries.
This allows all portions to be accessed directly with mmap() even if they contain binary data with alignment restrictions.
The benefit is a reduction in the amount of RAM consumed when running the application.

Android default Database engine is Lite.
SQLite is a lightweight transactional database engine that occupies a small amount of disk storage and memory

And many more like:
3 way Reboot Menu
Extended icons pack
Extended APNs support
Cleans log files and tombstones at every boot
Full RTL support
Improved GPS locking speed
New Keyboard
Modded MMS apk

1. Put the zip on your SD-card.
2. Boot into ClockWorkMod recovery
3. Wipe all
4. Flash Rom to system1 or system2
5. Reboot.
6. Wait a few minutes...
7. Start using your phone.

After Enabling ROOT premission
*. Go to 'BusyBox Free'. Wait until it finish loading, Click Smart-Install.
**.Go to 'ViPER4Android FX'. When driver installation prompt, choose Yes to "Install/Update".
Then choose "CortexA8 with NEON".

with this app you can change the carrier text to whatever you want...
(Change -> Save->Airplane Mode On->Airplane Mode Off. Done.)
(If you want to remove the carrier text just press 'space')


MD5: f01472c135d982a89367cfc1d1c5a92a​

Marvin.28.10 English

MD5: 646945da937008e7a978f0590caa5834

Marvin.17.9 BETA English

MD5: 5a49db74174e47a0120a86cd9ae67e93


MD5: 5e35a7475fba210610d1442d369dd6e3

Its been a while...
All bugs fixed!
Faster Better and Louder!
Many good things!

Thanks to:
All MiuiAndroid Staff,
M1cha, Wajk, redmaner, L.Simon, vagyula, Rayglobe, M_J_Nazzari, slaid480, Exit_Only, idcrisis, BSDgeek_Jake ,ViPER520 & zhuhang ,leolawliet, Jeeko

Sent from my MI 2 using Tapatalk 2
Last edited:
Dec 27, 2011
Stock battery & Normal mode:
3g on
One hour playing music
About 40 minutes overall playing games

Sent from my MI 2 using Tapatalk 2
Likes: xeGox
May 20, 2013
One error: Apz from miuiandroid_aries_jb-3.6.24.zip\data\media\preinstall_apps\ don't install during rom flashing.
And can U add Russian lang, plz?
Dec 27, 2011
to the upper right of the first posts corner there is a button called Thread Tools press it and you can edit the thread title.

One error: Apz from miuiandroid_aries_jb-3.6.24.zip\data\media\preinstall_apps\ don't install during rom flashing.
And can U add Russian lang, plz?

Some leftover from testing

I'll consider to do a Multilanguage ROM.

OP updated.

Sent from my MI 2 using Tapatalk 2
Likes: Marqc
Jan 9, 2013
Here are my initial thoughts:

It is blazing fast as advertised so far, this is especially noticeable after I've restore my 200+ apps, and this ROM has not missed a beat. Turning the phone off and booting it up is the fastest I've ever seen a phone turn on under these conditions. All operations are smooth, fast, with no noticeable lag, but keep in mind, the Mi2 is a friggin' awesome phone, I never had problems with lag on any other ROMs I've used with this phone either, but this ROM seems just a touch faster/smoother with my limited use of it thus far.

I'm coming from WIUI 3.2.22 (based on MIUI v4) which I felt was damn near perfect! But lately it's been starting to act up after months of use, which is why I've finally started tinkering around with other roms. For now, I have to say I'm not a fan of MIUI v5. All the new graphical changes seem too cartoonish and even something as little as the larger rounded corners seem unnecessary to me. Before when it was subtle, it added a bit of class. Thankfully it can be turned off. These are minors issues and I can used to the new aesthetics, not a big deal.

Functionally, the only missing feature I can think of right now is the ability to long press the menu button to bring up search. The latest version of WIUI (3.6.14) allows this, whereas the current stock MIUIandroid 3.6.28 does not and neither does this rom. It's a sorely needed function by me as I use search a LOT and liked having that convenience. I've also noticed none the MIUI v5 ROMs allow for removal of the carrier name anymore (v4 did), which sucks, but again, no big deal.

Anyway, that's just some quick feedback after my short time with it. Keep up the great work and I'm looking forward to seeing more from you!
Jan 9, 2013
Appreciate your feedback my friend!
I'll make it even snappier...
And I'll try to find a way to do what you ask with the menu button, Maybe wajk will know how...

Sent from my MI 2 using Tapatalk 2
No worries, forget what I said about the menu search button. Once you reinstall Google Search it becomes an option. My bad.

Excited to see where you will take this ;D

Swyped from my Mi 2
Dec 27, 2011
Update will be on Monday with the latest
CrossBreeder update:

- DNS Changes module has been completely rewritten so that it doesn't loop every 3-5 seconds. Instead it waits for netlink events. There is a backup thread checking every minute just in case. This should help both battery life and speed of DNS takeover

- DNS Changer now puts your last 4 successful local DNS server in its file: /dev/resolv-local.conf so connection times are much quicker.

- ENTROPY_FEED_FREQUENCY_SECS is at 0.5 seconds for ICS/ICS- and 1.0 seconds for JB/JB+. If the file doesn't exist then 1.0 is the default in place.

- IO Tweaks are off by default. You can use the ENABLE_IO_TWEAKS command to enable them. Remember you need to reboot after a disable.

- Governor tweaks are off by default too except for the sampling_rate value is increased to 40000 if found to be below and decreased to 100000 if found to be above. You can enable the entire set of governor tweaks using the ENABLE_GOVERNOR_TWEAKS command. Do remember that you have to run CrossBreeder every time you change governors for the tweak to take effect. You can look inside the CB_Governor_Tweaks.sh file to see what values are being used if you do decide to enable them. The governor tweaks honour the STOP_TWEAKING_GOVERNOR file too. Remember you need to reboot after a disable.

- All supplementary tweaks honour the /data/STOP_TWEAKING_ME file.

- New feature support - Namecoin .BIT domain support transparently. .BIT is a new decentralised model for DNS which is based on the Bitcoin protocol and the control of it is decentralised. Hence your domain can't be hijacked by authoritarian governments. CrossBreeder now supports the resolution of .bit domains on your device without intervention. It also caches and parallelises the results like other DNS queries, hence takes load of the servers. It currently uses the 3 active DNS servers in:


.BIT DNS servers are up and coming and go down often. But with the parallel load balancing and caching of CrossBreeder, the entire ecosystem becomes stronger.
Welcome to the new internet!

Sent from my MI 2 using Tapatalk 2
Likes: MSephiroth