yashsingh1/xdaforums huggingface dataset:
[MeMO Pad 7 Original Android Development] lambdadroid:
I saw it on F-Droid when I installed my system, but "This a very early version of the app, so not all functionality is implemented, and there may still be a lot of bugs." threw me off. I have downloaded it now and so far it seems to be working fine. The additional features like playing in the background or downloading videos are awesome and it feels really lightweight, unnecessary bloat is nowhere to be seen. I'll keep it installed for now and see if I ever need to switch back to the official app again.

For reference, this is what I sent someone else via Email recently:

Make sure you sync all repositories from https://github.com/me176c-dev/device_asus_me176c/blob/cm-14.1/lineage_me176c.xml (you can add it as local manifest or similar)

Run "source build/envsetup.sh" then go to vendor/asus/me176c and run ./setup.sh. This is necessary to fetch the remaining proprietary files (e.g. the ARM native bridge or Widevine DRM)

Use the lineage_me176c product to build the package.
[MeMO Pad 7 Original Android Development] lambdadroid:
I think I may have confused "n2fs" with something else when answering this question. A Google search of "n2fs" doesn't bring any meaningful results, did you mean F2FS? Also, was your question related to the changes made to device configuration/kernel, or how to use it in TWRP?
[MeMO Pad 7 Original Android Development] Ruben Craveiro:
f2fs, yes, what do i need to change in order to get twrp to support it(what changes are needed)
[MeMO Pad 7 Original Android Development] lambdadroid:
OK, generally there are two main steps to enable it:

Enable F2FS support in the kernel. On newer kernels, this might be even enabled in stock. However, on most older kernels the stock version doesn't include F2FS support. You need to rebuild it with F2FS enabled. All you need to do to enable it is to set CONFIG_F2FS_FS=y and CONFIG_F2FS_FS_SECURITY=y in the kernel configuration (and hope that it builds correctly).

Enable F2FS support in TWRP. I believe you need to set TARGET_USERIMAGES_USE_F2FS := true in BoardConfig.mk to include the necessary tools to create F2FS partitions.

Note that the F2FS support is unstable in a lot of older kernel versions. Many device maintainers (and sometimes even Google) backport newer versions of the F2FS file system to the older kernel versions to make it more reliable.
[MeMO Pad 7 Original Android Development] jerbear294:
It appears that there's now a microg-maintained fork of Lineage. https://lineage.microg.org/
[MeMO Pad 7 Original Android Development] lambdadroid:
Cool! Thanks for sharing this. I might try them on my phone (I'm using official LineageOS on it right now).

It shouldn't make any difference for this ROM though, should it? I apply the same patches they do, and then all you need to do is install MicroG manually. I also have to say that I don't like the new F-Droid version very much, the old version was much nicer imo....
[MeMO Pad 7 Original Android Development] jerbear294:
I assume the only difference is that it has MicroG and F-Droid (and its privileged extension) installed as a system app out of the box.

I also liked the old F-Droid interface better, the new one's just ugly and inconsistent.
[MeMO Pad 7 Original Android Development] jerbear294:
It works fine on my end. If it wasn't working for you, it was some error between your connection and GitHub. Please don't insult the developer over a connection flaw that they have no control over.
[MeMO Pad 7 Original Android Development] Ruben Craveiro:
Why, just why would you insult the dev, the problem is most likelly due to your location/how you set it up, because ive downloaded both files multiple times, using 4g and also normal internet connection, and they allways downloaded, before insulting anyone, you should actually try to make sure it isnt the way u set everything up that is the issue..
[MeMO Pad 7 Original Android Development] jerbear294:
Level 3 has had some issues over the past few days, so it's possible that it's not on your end- but Level 3 issues aren't really avoidable. Have you tried redownloading it at all? I understand you don't want to install the ROM at this point anymore, though.

Level 3 problems are outside of the control of the developer.

The hardest part of installing the ROM is installing the unofficial ESP bootloader, which still isn't difficult. Otherwise it's exactly the same as any other ROM.
[MeMO Pad 7 Original Android Development] Ruben Craveiro:
Installation instructions are pretty good, very simple to do and follow... And if you cant even follow these instructions, you shouldnt be messing with the tablet in the 1st place, just my opinion tho... And the best thing is that on unlocking bootloader, it also provides the instructions to install twrp, so not sure what your talking about of the "poor" instructions..

So simple, unlock bootloader, install twrp, format data/system/cache and install rom, very simple
[MeMO Pad 7 Original Android Development] jerbear294:
It's obvious that they have no intention of attempting the instructions, leave them be.
[MeMO Pad 7 Original Android Development] jerbear294:
Zippyshare isn't all that good in my experience, and while Mega works just fine, if I had to choose a non-GitHub host for this ROM it would probably be AndroidFileHost.

Remember, though, that not only is GitHub reliable (again, you are the first person to have an issue with the download links), but it's much more convenient to have ROM builds there as it also happens to be right next to the issues button.

I do believe lambdadroid did a fine job with the previous post, as well as the original instructions. As previously mentioned, GitHub is fine, and I highly recommend double-checking your firewall and DNS settings. As pointed out, though, the only deviation from typical installation instructions is installing the new ESP partition. This device isn't very difficult to work with, it's just slightly different due to the tablet using a UEFI rather than a traditional bootloader.

It was no harder to install the ROM on this tablet than it is to install ROMs on my Nexus 5X, or on my old Hisense Sero 7 Pro. If anything, it's easier than the Nexus due to not having to worry about bootloader or vendor updates.
[MeMO Pad 7 Original Android Development] Dutch Burdock:
Absolutely brilliant work! Just to even see a newer than lollipop ROM boot is amazing in itself. Very snappy. Even with the missing components, this tablet finally has use again. And even has October Security patch.

As for camera, I was hoping this may work; https://github.com/torvalds/linux/blob/master/drivers/staging/media/atomisp/TODO

I may grab your kernel sources and give it a bash myself, it's not essential, but, would be nice to have. ?

Again, excellent work. Many, many thanks!

---------- Post added at 02:31 PM ---------- Previous post was at 02:04 PM ----------

I also want to add Magisk 14.3 flashable zip does work at bypassing SafetyNet. Flash Magisk zip, boot, enable magisk-hide, reboot, download Netflix from Play, enjoy!

I'm so excited!!!
[MeMO Pad 7 Original Android Development] lambdadroid:
My opinion is that these file sharing portals are a poor choice for hosting anything than temporary files or things you want to share with a few selected people. If you make bigger projects you will quickly notice that having your files hosted on platforms like these makes a bad impression. Have you ever seen a paid product hosted on one of these platforms? I haven't.

GitHub is extremely reliable, trusted by millions of users and businesses, and most importantly: the source code and compiled builds won't disappear. Even if I became inactive the builds and source code would still be available for download. Zippyshare and Mega will remove the files after a certain period of inactivity.

This doesn't make any sense. You conclude that I don't care about others based on the fact that the download link didn't work for you (and you alone so far!) and that you consider the instructions to be too complicated (and again: you're the first to report that).

Just like you can't judge a person only from the outside, you can't judge me just by looking at the ROM description. There are over 250 posts in this thread where I have answered questions, clarified the instructions and other discussion related to the ROM. If you had asked for an alternative download link or help with the instructions, I would have tried to help you. "X is bad and Y totally sucks" is not constructive and won't help anyone, instead you should make specific suggestion how to improve the instructions. After all, this is a community, not a business. It's built on the principle that members help each other, and work together for the benefit of everyone.

I've spent several months of development/testing to bring the ROM to the current state, even long before I actually posted the first version in this thread. I do my best possible to provide further assistance to make this actually usable for everyone, assuming they are willing to invest a bit of time to actually understand the basics of what they're doing. If you want to go one step further, and provide a step-by-step tutorial, by all means: go ahead! I'd happily link, or even integrate, a step-by-step tutorial for installing the ROM. If you want to provide alternative download links, sure!, I don't mind either. I see that you have one or two detailed step-by-step instructions for other devices so I'm sure you are aware how much time it can take to create one.

It sounds a lot like you assume publishing a ROM here comes with the obligation to guarantee that it is usable for everyone. This is not the case. This is not business. This is not a product. As mentioned before, I (and probably everyone else on XDA) provide their work on an as-is basis, in the hope that it will be useful, but without any warranty or (guaranteed) support. We invest a lot of free time to ensure our projects can benefit a large number of people. You can help as well and make the projects better. But not on this way.

Actually, the fact that I take the time to reply to your posts in detail shows that I might care more than I should...
[MeMO Pad 7 Original Android Development] lambdadroid:
Thanks!

Indeed, there were some initial efforts in the upstream kernel to integrate the base for camera support on Baytrail (the SoC this tablet is based on) in the Linux kernel. Unfortunately there is much more required to actually make the camera work.

Still missing are:

The actual driver for the camera sensor. The upstream kernel implements the framework, but there is still extra code required to integrate each specific camera sensors into the framework. Unfortunately, the camera sensors in our tablet are not supported upstream. It seems like the camera sensor driver is mostly just a single file, so it might be possible to integrate it into the upstream kernel. However, I'm not sure how much work it would take to get them to compile on newer kernel versions.

With the kernel side covered, there is still the Android side (implementing the Camera HAL). Unfortunately, the one used in the ASUS system appears to be entirely closed source, and integrating the compiled version from our tablet into the newer Android and kernel versions could prove rather difficult.

It's not like I'm saying "It ain't gonna happen", but I believe that even with basic support in the upstream Linux kernel, it's still a lot of work. I could be mistaken, though, so if someone can get it working, I'd happily integrate it into the ROM.
[MeMO Pad 7 Original Android Development] lambdadroid:
LineageOS 14.1 (2017-11-19) now available

Improvements

Security patch level: November 6, 2017

Dependency updates: LineageOS, Linux (4.9.57 -> 4.9.63), Mesa (17.2.3 -> 17.2.5), Chrome OS [Houdini and Widevine blobs] (9592.96.0 -> 9901.66.0)

TWRP recovery improvements

You can now flash the original ASUS package to restore Lollipop. Note that it will skip the BIOS and bootloader update so your custom recovery stays working.

You can now verify the integrity of downloaded packages using Zip signature verification: Works for my LineageOS builds, official LineageOS packages (e.g. addonsu), the original ASUS package and OpenGApps packages.

Fixed displayed CPU temperature in the recovery UI

Download

Installable ZIP: lineage-14.1-20171119-UNOFFICIAL-me176c-signed.zip

TWRP recovery image: twrp-recovery-3.1.1-20171119-UNOFFICIAL-me176c.img
[MeMO Pad 7 Original Android Development] MKKLR21:
ROM is running very smooth, thanks for your work. There's only one question left: will there be any battery optimizations in the future, as the device never goes to deep sleep?
[MeMO Pad 7 Original Android Development] lambdadroid:
It's on the list. I'd love to fix it, but it's quite difficult. Deep sleep is only triggered when certain conditions are met, there is no way to trigger it manually. Unfortunately these conditions are barely documented.

The current kernel always crashes when going into suspend (which is why I disabled it). This is fixed in newer kernel versions. However, it will be a few more months until Google adapts the new LTS kernel (hopefully) that was just released. Once that happens I will try to get suspend working, and with a bit of luck we might be able to reach the deep sleep states.

However, my real life has been more busy lately so I cannot say how much time I can devote to fix this. We'll see!
[MeMO Pad 7 Original Android Development] Ruben Craveiro:
id love to know how you know all of this, fix bugs, know which files to edit/replace, how to update kernel version, i cant seem to find any guides for it, i pretty much only know how to build from source, not much more any ideas on how i can learn more, so that maybe i can help?
[MeMO Pad 7 Original Android Development] Ruben Craveiro:
small question, after i build, lets say, Lineage 14.1, if i do the needed patches, and rebuild it again, will it take the same amount of time, or will be much faster since it was built once already?
[MeMO Pad 7 Original Android Development] lambdadroid:
It should skip most of the things that were already built, so yes, it should take less time. The up-to-date checks aren't great, though, it still takes a bit of time to build a new package you can flash.

I usually build flashable ZIP once, and then just built the things I've actually changed. So let's take the WiFi problems again, I made changes in "netd", so all I do is "mka netd" and then copy the modified libraries (in this case system/bin/netd) to the device. That will usually just take a few seconds.

Also make sure you enable ccache with enough space (see https://source.android.com/setup/initializing#setting-up-ccache). A clean build takes about ~30 minutes for me since it has a lot of things cached.
[MeMO Pad 7 Original Android Development] Dutch Burdock:
Well I am happy to help where I can. I've already cloned the kernel sources and ran into similar issues trying to add power management. I did make some tweaks for OTG support, however I still can't figure out how to provide power. I'm more familiar with the kernel than with Android sources, been a Linux user for many years (Debian potatoe/Storm Linux/Progeny days etc).

What I would like to try is to get SELinux to work in Enforcing mode, so Magisk can pass ctsProfile with SafetyNet. I know it sounds crazy, but that one thing would add the icing on the cake for me. As well as maybe add a few more IO schedules and CPU governors. Current ones work fine, but, be nice to have options.

Another thing I would like to try to add to the Android is OpenCL libraries. In Lollipop, we had full profile support (GPU offloading). Not entirely sure how I'd go about that, in Linux it's almost cakewalk. The Intel GPU on these are actually quite powerful.

Have built a few different kernels, but the one thing I struggle with, is making the boot.img effectively. Any tips here would be greatly appreciated.

Many thanks for your epic work for our tablets. These things are very powerful and to get a stable, modern ROM for this tablet would be freaking awesome. :)
[MeMO Pad 7 Original Android Development] lambdadroid:
There are some tweaks necessary in the charger driver to provide power to the USB port. I've looked at them before, but if I remember correctly I postponed OTG support because I was waiting for some updates to the USB driver that were made in newer kernel versions.

Agreed, that is one of my top priorities. I've been planning to do this for the last 3 updates, but I didn't have enough time to work on it. I haven't used SELinux before so I'll need quite a bit of time to figure out how it works. If you do know more about SELinux or are willing to learn it, feel free to PR the necessary policy changes to the device repository.

To be honest, I've never really understood why people like to have all these extra IO schedulers/CPU governors with questionable improvements over a properly optimized default option.

Note that the reason why we only have "powersave" and "performance" CPU governors is that the ROM is currently using intel_pstate as CPU frequency driver, which lets the CPU decide which frequency to use. This is why common governors like "ondemand" or "interactive" are not available. While intel_pstate is generally the recommended option for modern Intel processors, I haven't tested if acpi_cpufreq or setting intel_pstate into passive mode with a CPU governor like "interactive" would perform better on this tablet.

As for I/O schedulers, as far as I can tell I/O performance is much better on this tablet compared to my phone, so I don't think we need any tweaks here.

You don't have many options. At least for this tablet, you have to build the kernel inside the LineageOS environment because it depends on additional dependencies to build the fixed ACPI table that fixes various problems with touchscreen, USB and other stuff. If you build the kernel manually with the configuration available in the device repository, the touchscreen, USB and charger driver won't be working properly.

This means you need a lot of disk space (my "lineage" folder is apparently 60 GB...) plus additional space to setup ccache. However, with everything set up correctly, the build system is quite efficient. I can build a clean boot.img with kernel and everything else in 3 minutes. I'm not sure how much experience you have, so let me know if you need instructions how to set up the LineageOS workspace.
[MeMO Pad 7 Original Android Development] NahuelMS:
Any advance or insigth for the stutter/lag/heating issue! I think you are so close now, i am waiting for that to try the upgrade!

Thanks a lot for your work! Also, if this room get stable,

May it be easily ported to others x86 tablet?
[MeMO Pad 7 Original Android Development] lambdadroid:
No. On the other hand, I haven't been able to reproduce the stutter/lag/heating issue through normal usage. I've been playing a few games every now and then, and while the tablet got relatively warm, I didn't reach the point where it throttles aggressively. I don't plan to work on this anytime soon because I honestly don't know why it's happening only in specific situations and I have absolutely no idea how to fix it.

My suggestion is that you just give the ROM a try, you can still revert later if you run into the heat issues.

That's probably possible without too much effort, but since I don't have any other x86 based tablet I can't work on that.
[MeMO Pad 7 Original Android Development] Nexive:
I have no lag, stutter or heating issues when I use this tablet with normal usage. I use it for facebook, messenger, internet, watching videos and some games.

The only point when it trottles heavy and getting hot is when I'm playing games/watching videos for some time while charging the tablet.

I'm using this rom since july and for my usage, this rom is way better than the asus rom. The only complain is the standby time but I can live with that. :)

Many thanks to the dev! :)
[MeMO Pad 7 Original Android Development] profee:
Dear god!

I gave up on this tablet long ago, but you just resurrected it. So glad i checked XDA to see this.

Thank you, thank you, thank you!
[MeMO Pad 7 Original Android Development] fakzer:
Muchas gracias!!!. Ahora tiene nueva vida está tableta, con la versión oficial de android 5 la dejaron inutilizable la gente de Asus. Espero sigan con mejoras con este proyecto, se agradece mucho su contribución ?
[MeMO Pad 7 Original Android Development] Ruben Craveiro:
you need to speak english, even tho i understood what u said
[MeMO Pad 7 Original Android Development] Sangean:
Thanks for this work!

1.

Because of the Stand-by 'issue' Do you guys always turn off the tablet? Is the boot-up time faster with it or 1 min?

2.

Does the auto wake-up function work? When you open/close the case? (hall sensor)

3.

Stock Lollipop ROM had big lag and spontaneous restarts for me, so I put back KitKat a year ago so there are no more spontaneous restarts but sometimes when I wake up the tablet then things load a bit slow for a while (1-2 minutes). Do you experience such thing with this LineageOS version? Or do you think it's snappier compared to stock KitKat ROM?
[MeMO Pad 7 Original Android Development] jerbear294:
Boot times are under a minute for me, so turning the tablet off when it isn't in use is no big deal.

Hall sensor is supported.

I get freezes and subsequent reboots rarely when watching video, but that's it. Other than that, no.

It's snapper than stock KitKat and certainly much snappier than Lollipop.
[MeMO Pad 7 Original Android Development] thegreatn_:
Hey Dev, I'm not asking for any ETA, but have you tested 8.0 on our device? I'm just curious because 8.1 is out
[MeMO Pad 7 Original Android Development] lambdadroid:
Yes, I had 8.0 running the day after release: https://xdaforums.com/showpost.php?p=73500786&postcount=87 (and https://xdaforums.com/memo-pad-7/or...-asus-memo-t3633341/post73539764#post73539764).
[MeMO Pad 7 Original Android Development] Nexive:
[MENTION=6833678]lambdadroid[/MENTION] Do you accept paypal donations? I want to give you a small donation/christmas present for your work on this rom. :)
[MeMO Pad 7 Original Android Development] lambdadroid:
Aww, thank you so much! I really appreciate your offer. However, I'm afraid that, at least right now, I don't accept donations. There are several reasons for this (also technical ones) but the primary reason is that I work on this project in my free time because I enjoy it, because I want to learn new things. I'm rather happy that, compared to real life, money doesn't play any role here.

You (and other people as well) have already been doing this from the beginning on: For me, the best way to support the project is the following:

If you want to say thanks, post it here! Knowing that the ROM is used, that it's helpful to someone means a lot.

Contribute. There is much more than just code. Suggestions, feedback, bug reports, testing experimental builds, helping others, .... All this helps to make the ROM better.

So just keep doing what you have been doing, that's already the best donation you can make. I hope you don't mind. :)
[MeMO Pad 7 Original Android Development] Nexive:
Oh okay, no problem. :p

I just really appreciate your work you're doing on this device, you even bring monthly updates to our devices. :) So again: thank you very much haha! :D

If you need feedback, bug logs/reports or someone to test your experimental builds, just ask. I gladly want to help. :)
[MeMO Pad 7 Original Android Development] T_I:
Nice to see there is a rom for this device. This device got me developing (on a Samsung Tab S2, way to inexperienced to tackle an Intel device).

Are there any older images available? I tried the 19-11 image and root (via lineage addon) doesn't play ball. (xposed has issues as well, but I can live without it, as I have for over a year)