yashsingh1/xdaforums huggingface dataset:
[Redmi Note 2 Android Development] jajk:
[MENTION=7117356]vaselor[/MENTION] Special version for 7.5.xx has everything plus more;) I don't know what might be affected by not running DRM - all I know is that the things I need still work. No doubt I will hit some non-functioning stuff eventually but still an interesting exercise.

Edit: Yep, USB connection to a Windows PC punishes you for not using Microsoft's DRM by screwing the phone:rolleyes:

A more comprehensive list of deletable libs: # denotes that a corresponding app or function has to go

This is extra to the list of libs to delete for symlinked apps.

[B]Lib:[/B]
libfdpp.so
libfdpp_jni.so
# libffmpeg-miplayer.so
libhotknot.so
libhotknot_vendor.so
# libminivenus.so
libnfc_ndef.so
libpatcher_game_jni.so
libpatcher_jni.so
# libvoicerecognition.so
# libvoicerecognition_jni.so
libwhetstone_jni.so
libwhetstone_sdk.so
# libxiaomimediaplayer.so
# libxiaomiplayerwrapper.so

[B]Lib64:[/B]
libBaiduMapSDK_base_v4_0_0.so
libBaiduMapSDK_search_v4_0_0.so
libBaiduMapSDK_util_v4_0_0.so
libBankCardRecognizer.so
libduokantext.so
libfdpp.so
libfdpp_jni.so
libhotknot.so
libhotknot_vendor.so
# libjni_latinimegoogle.so
libjni_pacprocessor.so
# libjni_unbundled_latinimegoogle.so
libnfc_ndef.so
libpatcher_game_jni.so
libpatcher_jni.so
libprintspooler_jni.so
libtbtv3312.so
libTrafficRadar.so
libttscompat.so
libttspico.so
libunipaychsec.so
libwhetstone_jni.so
libwhetstone_sdk.so

[B]/vendor/lib64:[/B]
libcom_fingerprints_productiontestmanager.so
libcom_fingerprints_sensor.so
[Redmi Note 2 Android Development] vaselor:
[MENTION=5952980]jajk[/MENTION] I'm flashing the special version, will try report if I see some error ;)
[Redmi Note 2 Android Development] jajk:
Skinny_Pro_MIUI8_Tweaked-v19.img uploaded.

Still based on 61117

This is safe to use on all versions from 7.5.xx onward and is functionally the same as 7.5.xx special version so no need to re-download.

I have been switching between p51 and p55 modem and have convinced myself that p51 is much faster (at least on 4G). Anyone notice any differences? Maybe in Bluetooth since the mtkbt service has been messed with in init.rc so we have 2 different instances of the same service with different settings in 61117. I merged the change into the existing service;)
[Redmi Note 2 Android Development] vaselor:
[MENTION=5952980]jajk[/MENTION] I'm using the 7.5.xx special and I can't turn on Bluetooth. I didn't enable the stop mtkbt line on my script. Could be a bug? Thanks
[Redmi Note 2 Android Development] Adam Hui:
I think this also support skinny vision https://microg.org has tiniest gapps we can play any skinny process at. Havent tested it yet.
[Redmi Note 2 Android Development] jajk:
[MENTION=7117356]vaselor[/MENTION] Hmm... There is one change that was brought from the 61117 ROM that affects Bluetooth::

This was introduced into init.rc

//LCSH Add:hanqiwei 2016-10-21 Modfiy the path of the hci_log:give mtkbt some permissions: root, system bluetooth - start
service mtkbt /system/bin/mtkbt
class late_start
socket bt.int.adp dgram 660 bluetooth net_bt
socket bt.a2dp.stream dgram 660 bluetooth net_bt
user bluetooth root system
group system vpn net_admin inet net_raw net_bt bluetooth net_bt_admin net_bt_stack sdcard_rw sdcard_r
# oneshot
//LCSH Add:hanqiwei 2016-10-21 Modfiy the path of the hci_log:give mtkbt some permissions: root, system bluetooth - end

But this is also in init.mt6795.rc (the original version that has always been present):

service mtkbt /system/bin/mtkbt
class late_start
socket bt.int.adp dgram 660 bluetooth net_bt
socket bt.a2dp.stream dgram 660 bluetooth net_bt
user bluetooth
group system vpn net_admin inet net_raw net_bt bluetooth net_bt_admin net_bt_stack sdcard_rw
#	oneshot

There are several stupid mistakes throughout the Ramdisk and Kernel that I still keep finding - like trying to write to things before they exist. These type of sloppy errors are why we can't have good things:mad:

I will revert the mtkbt lines back to pre-61117 form on a replacement 7550 version.

[MENTION=4666525]Adam Hui[/MENTION] That ain't Gapps.
[Redmi Note 2 Android Development] acestars:
it's not gapps but another project which uses minimal use of google services. I already tried it and it works on several google apps, such as play, calendar, contact, and maps. If you you just use minimal gapss then it will work on you.

Sent from MIUI 8.0.2.0 on Redmi Note 2 using Tapatalk
[Redmi Note 2 Android Development] jajk:
[MENTION=7117356]vaselor[/MENTION] Skinny_Pro_75xx_Tweaked-v19b.img posted. This reverts the mtkbt settings back to the way they have always been before 61117 so there should be no other reason for BT not to work as it did before.
[Redmi Note 2 Android Development] Adam Hui:
Yes that's what i mean, just to make playstore works. Sorry for "gapps" typo :p

[MENTION=5952980]jajk[/MENTION] is there no relations between my "identical cryptos" with that bt fix ?
[Redmi Note 2 Android Development] jajk:
[MENTION=4666525]Adam Hui[/MENTION] Step back to v17 Skinny boot and see if problems go away. If so then yes. Let me know in case I have to revert the change on v19 as well. I don't have any BT devices apart from a second phone which still pairs O.K.
[Redmi Note 2 Android Development] vaselor:
[MENTION=5952980]jajk[/MENTION] I just flashed v19b and Bluetooth works again. Thank you!
[Redmi Note 2 Android Development] Adam Hui:
For info, my phone both can pair to another devices. Ok, i'll test v17 later.
[Redmi Note 2 Android Development] jajk:
In case you miss it, TWRP Turbo has been updated - get it while its hot;)

Anyone else having bluetooth problems with 8010, 8020, 8030, 61110 or 61117 on V18 or V19 skinny boot?
[Redmi Note 2 Android Development] jajk:
O.P updated with more app and lib removal info:)

I think it would be good to add a list of apps that can be used to replace Google or Xiaomi infected ones. I'll add this to O.P as it matures.

The attributes of the software must be in line with the Skinny philosophy - minimal size, minimal permissions required, no privacy invasion etc.

I'll start by putting my list forward:

MIUI Home Launcher --> ADW Launcher 1.3.3.9

MIUI Scanner --> Barcode Scanner v4.7.6 by ZXing Team

Mi Remote --> Galaxy_Universal_Remote_4.1.2

Google Keyboard --> Smart-Keyboard-Pro-4.15.2

Messaging --> Textra-Pro-3.29

Calendar --> ColorNote 3113

Browser --> Polaritybrowser

Gallery --> QuickPic_4.7.2.2404

Filemanager --> Root Explorer-3.3.8

Music --> VLC-Android-2.0.6-ARMv8

MIUI Video --> VLC-Android-2.0.6-ARMv8

Contact & Dialer --> ??? still looking (True Phone & Dialer works but does not meet the requirement)

What are you using to replace the nasty stock apps?
[Redmi Note 2 Android Development] Adam Hui:
What app to replace power button to sleep/wake & advance power menu ?

Been using ScreenWakeUp by iiizio & Material Power Menu by Naman14. Any skinny advices ?
[Redmi Note 2 Android Development] DarthJabba9:
[MENTION=5952980]jajk[/MENTION] I cannot find any evidence of MAB on my Global 8030 - but lots of people in Xiaomi EU forums are reporting its presence, their ignorance of what it actually does, and its refusal to be uninstalled (i.e., it keeps coming back after being uninstalled). Clearly they haven't heard SD Maid, or of skinny ROMs. :rolleyes:

I don't think that I have consciously deleted MAB. Am I just lucky?
[Redmi Note 2 Android Development] vaselor:
[MENTION=5952980]jajk[/MENTION] I use poweramp to replace the stock music player and Vlc for videos. Also, NewPipe is an excellent YouTube replacement. Are these ones OK?
[Redmi Note 2 Android Development] jajk:
[MENTION=4666525]Adam Hui[/MENTION] Quick Reboot Pro v1.3.1 gives you advanced power menu to take the pressure of the crappy buttons. It is better than hacking the theme to add advanced reboot options because no button has to be pressed:good: I assume Material Power Menu is a similar app? Is ScreenWakeUp a DT2W / Gesture based wakeup?

[MENTION=5850987]DarthJabba9[/MENTION] MAB is Chinese shopping app - maybe removed from Global? Russians may not know how to unzip an apk or lib and peak at the .rodata file for hints as to what it does - too busy dancing with tambourines and getting wood:laugh:

(gotta love Google Translate) They definitely monitor Skinny threads and plagiarize regularly with added misinterpretations:rolleyes:

Keep the app substitutions coming, I am building a list and then will have a closer look at the contenders to see if they rate well in the Skinny scale.

A measure of worthiness is how many permissions the app chases and how many services are wanting to run.

I have just updated to Root Explorer 4.0.4 and built a custom icon pack up to replace the dreadfully depressing stock set. The drab interface actually stopped me updating for a very long time. I can share the icon pack if anyone wants it.

I have tried Evolve SMS as a messaging replacement - it works perfectly well but I didn't like the interface so Textra won out.
[Redmi Note 2 Android Development] Adam Hui:
Yes, that's a similiar app.

ScreenWakezup is 77kb pstore app that uses proximity sensor to wake/sleep the phone. Tiniest, works & battery friendly.

Pls put that icon pack in your gdrive.
[Redmi Note 2 Android Development] Gyovany96:
[MENTION=5952980]jajk[/MENTION] Can you share the Root Explorer icons pack ? That's exactly the same reason why I keep using the old 3.3.8 version...:p
[Redmi Note 2 Android Development] jajk:
Root Explorer Custom Icons.zip uploaded. Unzip them into /sdcard/SpeedSoftware/icons.

You may recognize some of the icons as being derived from material theme for 3.38 - I have modified to my liking;)

I have added Apus Browser to the list tentatively - I spat the dummy with their software a while ago for privacy invasion reasons - maybe things have changed?
[Redmi Note 2 Android Development] cukierkas:
Some more from me:

Calculator - > realcalc

Browser - Youbrowser or naked browser pro.

Mail app - aquamail pro

Root explorer so ugly, I'm using total commander.
[Redmi Note 2 Android Development] Gyovany96:
So far no privacy issues for me using Apus Browser.. or I'm not aware of it ?

I use Apus for small size ( 14mb total ) and the AdBlock integrated over already modified hosts.
[Redmi Note 2 Android Development] cukierkas:
Try this one, no fancy bells and whistles, bare, safe and minimal. Sadly, no sync and no passwords saving, as it runs on webkit. Other than that, others are in the shade.

https://play.google.com/store/apps/details?id=com.fevdev.nakedbrowserpro
[Redmi Note 2 Android Development] Gyovany96:
It's too simplistic for me.. I like some design apps always , in special Browser apps and I sure want password saving ! So far CM Browser was the best for me until some new version broked browser's video player and I found Apus Browser which it's very good for me plus the AdBlock feature ( I really hate ads ! )
[Redmi Note 2 Android Development] vaselor:
If you hate ads, why not trying AdAway?
[Redmi Note 2 Android Development] jajk:
[MENTION=7117356]vaselor[/MENTION] One Skinny ethos is "why use an app to do what can be done without it". Ad blocking built into the browser and/or a hosts file is much better than loading an extra app.

Please, no-one mention any of the so-called "battery saving" apps on this thread:mad:
[Redmi Note 2 Android Development] vaselor:
[MENTION=5952980]jajk[/MENTION] I'm sorry. While it's true and I love that simplicity, I recommend AdAway because it does just that: adding lots of ad servers to a hosts file. It's available through F-droid
[Redmi Note 2 Android Development] acestars:
dunno i still prefer firefox for pc and android because the addon, i know with big size and memory print but too hard to leave it.

Sent from MIUI 8.0.2.0 on Redmi Note 2 using Tapatalk
[Redmi Note 2 Android Development] Sleepy_Augie:
I've always used naked browser pro. Also using smart launcher pro with an miui8 icon pack.

Edit: I have tried all the other browsers mentioned here, but they didn't suit me.

Edit: also using X-plore
[Redmi Note 2 Android Development] Gyovany96:
[MENTION=7117356]vaselor[/MENTION] AdAway is an app that modify hosts file. I use that just to update my host file ( and also the host file into my ROM's ) but then it can be deleted ( host file remain applied ). Modified host file in combination with an Browser that have an extra AdBlock feature is the best way to get rid of ads !

APUS Browser is the best for me and it suits very well. Nice design ( just updated to 1.5.6 with very nice design ) , fast and light size ( 14mb total ). That's just my preference :)
[Redmi Note 2 Android Development] vaselor:
Maybe you're right. I think that's doing the same thing twice, but never tried
[Redmi Note 2 Android Development] shoeprano27:
hello. im currently using nik rom project multirom v7.2.3.0 service pack 1. am i able to use one of these custom boot images? and if so, which exact one would i be using?
[Redmi Note 2 Android Development] Sleepy_Augie:
Bluetooth working for me with v19 on miui8 btw.
[Redmi Note 2 Android Development] jajk:
[MENTION=4853799]shoeprano27[/MENTION] Skinny_Pro_MIUI7_7140_boot-v7.img is the last one for MIUI7. Most of the O.P no longer applies to MIUI7 so you're on your own:(
[Redmi Note 2 Android Development] Sleepy_Augie:
This is the problem I've been having (link). The wifi button just automatically flicks its self off when i try to enable it. Using latest boot image and miui8. I had this problem on my old galaxy nexus, and I don't know why it happens. A reboot will usually fix it, until it randomly happens again.
[Redmi Note 2 Android Development] vaselor:
Another lightweight app could be Amaze. Good file manager
[Redmi Note 2 Android Development] jajk:
[MENTION=7150090]Sleepy_Augie[/MENTION] I don't know the cause or fix for it. Works for me but I have noticed toggles sometimes get stuck randomly - automatic brightness for example. I expect the WiFi toggle issue is caused by a similar thing.

[MENTION=7117356]vaselor[/MENTION] Amaze is nice but leaves out a couple of essential functions for the expert users. Change owner was one if I remember correctly?

Anyone into hacking framework files? I have been playing with TickleMyAndroid to decompile/recompile stuff with good results on

some

MIUI files. I'll post a framework hack file purely for interest sake - it gets very technical very quickly so I don't want to start answering questions about it - you are either capable of figuring it out or not;)

Download framework tweaks.txt from link in O.P
[Redmi Note 2 Android Development] vaselor:
[MENTION=5952980]jajk[/MENTION] Maybe :/. Some people could take advantage of it, though.

And would love to see that framework hacking (I might not understand it, but worth having a look :P).

Thanks for your work.
[Redmi Note 2 Android Development] jerryshaw12:
Do i need disable Memory Optimization in Developer option to use this tweak? Or just create init.d script?
[Redmi Note 2 Android Development] jajk:
[MENTION=6150156]jerryshaw12[/MENTION] I recommend that you definitely run a zram swap drive and in that case, the swappiness setting is unneeded. If for some reason you do not run with zram, just add the swappiness line to your script.

The issue of whether or not to turn off memory optimization and MIUI optimization is separate to this but I recommend turning off both and relying on a well thought out init.d script to give you the best settings that you are in control of;)

Ideal swap drive size is often quoted as your free memory value divided by 2. This will always work out to be close enough to the 512MB figure on our phone.

On the issue of loosing battery power before the filesystem has performed all pending writes back to disk, the fstab settings have been used in tweaks dating back a few years without issue. I ran these on a Samsung Galaxy and Moto G for years without a single instance of corruption. We do have an issue on the reno2 with corruption of the data partition which I believe is caused by remote access to /data/media via USB (emulated sdcard). If it was due to memory quality or an O.S problem, it would occur on other partitions as well but I have never seen it on system or cache partitions. It does pay to do a repair using TWRP occasionally to catch an otherwise unnoticed error that may escalate.
[Redmi Note 2 Android Development] Crim Soukyuu:
I guess just running fsck periodically would solve all the corruption cases that might appear due to power loss. I was mostly making sure you are aware of what the options do - glad you are.

edit: how can I make sure the init.d script ran successfully?
[Redmi Note 2 Android Development] jajk:
[MENTION=5898910]Crim Soukyuu[/MENTION] Corruption previously seen is not related to power-loss but probably PC interacting with /data/media filesystem via USB. Abrupt and unexpected disconnects can obviously occur and errors caused by the very dodgy way Android 5.0 presents the "emulated" sdcard filesytem to the outside world. Supposedly much better in Android 6.0....

To know if the init.d script is working, use something like kernel aduitor to check that an obvious setting has actually changed or use a root browser to go to a file that is written to and see if it has been changed.

Or put a dummy line in the init.d script to test if it can write to a file:

echo "It Works and JAJK is the best" >> /sdcard/test.txt

I am thinking that the LMK setting example provided earlier would probably be better as:

#Tweak LMK
echo "2048,4096,8192,16384,24576,32768" > /sys/module/lowmemorykiller/parameters/minfree

Reasoning being that our phone has 1080x1920 display so what was previously categorized as "aggressive" is more like "light" or "medium" when we consider how much RAM is required per app.

I am not a heavy user, so I would appreciate some real-world feedback on the merits of either setting.

There is some vagueness around whether or not specifying "noatime" in the fstab file automatically infers "nodiratime" as well. I will include both in the next version unless someone can give me a definitive answer on this???

Also, specifying the "discard" option on all emmc ext4 partitions may make the need to perform fstrim obsolete. The question being whether or not the emmc interface has the smarts to process the discard info or not - bit of an unknown??? Anyone know?

Edit: I will answer my own question in part: The discard option is supported by the O.S but the emmc interface does not respond to it. This is tested by starting with a freshly fstrimmed partition and then moving some files around on it. Much later issue an fstrim -v command for the partition expecting to see no action but there is a huge amount of discarded bytes. Therefore discard option is useless on our device and probably most other phones. I didn't think the interface would have the smarts built in like a fully fledged SSD drive.
[Redmi Note 2 Android Development] jajk:
714-7 is up for MIUI.

Changelog:

Remove discard option from fstab due to interface not being able to act on it (slight reduction in overhead not having it). Use fstrim command manually or in a script instead.

Added nouser_xattr option to fstab to reduce ext4 overhead.

Added nodiratime (just in case noatime does not automatically infer nodiratime)

Disabled more pointless entries for non-existent hardware such as Baro sensor.
[Redmi Note 2 Android Development] Crim Soukyuu:
[MENTION=5952980]jajk[/MENTION]: nodiratime should be included in noatime, I'm using noatime with btrfs on linux and it doesn't save directory access time either (the main reason for setting that option on btrfs is that it's rather slow because the nature of CoW requires changing atime for every file on the FS on mount - or something along those lines). In any case, there is no harm in setting both, I guess.

edit: ah, also, there were some discussion on discard mount option actually resulting in worse performance overall, because it is basically "wasting time" running trim one every operation. Running fstrim periodically seems like a better option.
[Redmi Note 2 Android Development] lckjosh:
What should be my ideal swappiness value? Are there any side effects of putting swappiness at 100? Or is it recommended? Can someone please explain? Thanks!
[Redmi Note 2 Android Development] jajk:
[MENTION=5898910]Crim Soukyuu[/MENTION] You are certainly up on your filesystem knowledge:good: It is hard to find out what is

actually supported

in Android O.S and even harder to find out what the hardware supports. In stock fstab, some partitions were already set to discard which is another overhead as you say for no gain. It is a just-in-case scenario that I added nodiratime since most other fstab tweaks have included it over the years. No harm in having it but it is one of those annoying things to not know for sure if it is needed or not:confused:

[MENTION=6074407]lckjosh[/MENTION] The swappiness sets the "willingness" of the memory management to utilize the swap area created in RAM. The other choice for the memory management when memory is getting scarce is to kill apps - this behaviour is determined by the LMK settings (low memory killer). By running some zram and sensible settings for LMK, more apps can remain in memory without being killed. The default MIUI LMK settings are extremely aggressive so should be moderated a bit along with a 512MB or 1GB zram swap drive. Less app killing is better for battery and user experience (no lag on switching apps).

If you do not have zram, swappiness=0.

If you have zram, swappiness=100.

If you have more than 1 zram, decide on something between 0 and 100 for each individual zram (MIUI runs 4 zram with variable size and swappiness plus a /etc/mcd_default.conf to favoritize memory available for certain apps)
[Redmi Note 2 Android Development] jerryshaw12:
Am i doing something wrong?

Here's my last_kmsg
[Redmi Note 2 Android Development] jajk:
[MENTION=6150156]jerryshaw12[/MENTION] Yes. I have no idea what ROM you are on, what SkinnyPro boot image you are using and what problem you are having:confused:
[Redmi Note 2 Android Development] jerryshaw12:
I am sorry for not mention that

I am using MIUI Global Stable 7.2.3.0 with latest skinny pro (7.1.4-7)

I got random reboot, don't know why i got that
[Redmi Note 2 Android Development] lckjosh:
So if I disable memory optimization under miui developer options and activate the zram in your init d script I should have 1 zram and my swappiness should be 100 right?
[Redmi Note 2 Android Development] jajk:
[MENTION=6150156]jerryshaw12[/MENTION] In TWRP do a wipe/advanced wipe/repair filesystem on cache data and system to first check that you don't have a broken filesystem.

In the kmesg file I can see an instance of the kernel remounting a partition read only which happens if it has an error.

[24153.133161]SysRq : Emergency Remount R/O

There is a lot of nonsensical data in the file like:

24151.834845] (4)[21507:kworker/u16:2][ALS/PS] last_als_value_lux = 0, not report
[24151.834853] (4)[21507:kworker/u16:2][ALS/PS] als = 0

This is your ambient light sensor not returning a proper value. All this may go away if the filesystem is repaired. Have you had to pull the battery when stuck in a loop?

[MENTION=6074407]lckjosh[/MENTION] If you are running Skinny Pro, the default MIUI memory scheme is disabled and you can set your own zram in init.d script. The default swappiness is already set to 100 so it does not have to be in the script. Do also add the LMK tweak lines as well, they give a useful improvement. Type free in a terminal app to test if zram it is working - do not rely on kernel tweaking apps to tell you - they can lie sometimes.

I recommend disabling the Developer options/ Memory optimization even though it is probably non-functional already.

If you are not on a Skinny Pro image, don't do any of this - it will not work.
[Redmi Note 2 Android Development] jerryshaw12:
Got some stutter in global beta rom (6.3.31) (714-7) gonna back to stock boot.img