Tutorial #27: TWEAKING THE ASUS TUF GAMING A15 - PART TROIS

 


Update (June 1): 
The curve I ended with in the original article ended up being unstable in scenarios where the frequency dropped down to the 1600s on account of the thermal limit being breached. Hence, I tweaked the curve further to increase the voltage for the lower frequencies. Turns out it is not straightforward as even minor voltage-frequency changes at the knife edge can result in crashes. Eventually, I settled on the curve below which happens to be taken at 41 degrees Celsius ambient temperature and is thus levelling off at 1800 MHz, though it comes down by 15 MHz at over 50 degrees, making the maximum frequency same as the original curve.

Despite the reduction in undervolting, it actually lead to an increase in overall performance at a lower maximum GPU temperature. Nice!

Finally, the comparison with stock performance. The efficiency is on par with stock as diminishing returns kick-in for the GPU at its limit. Considering that the GPU TGP is now 25W higher, the chassis is doing a good job of handling the additional heat. At the same time, the CPU performance is now up to stock, but at lower power and temperature values. Overall, this is a really nice setting as the performance has increased by nearly 15% from stock and is ever so closer to desktop performance, at a much lesser TGP.


Original Article:

Tinkering with the device can be a progressive exercise. Part 1 was about getting more performance out of the box whereas Part 2 was a more holistic change aimed at efficiency. However, there is always more to be found by pushing the limits and this article is all about it.

In my previous article, I had lamented the 90W TGP limit on the GPU, especially as I wasn't close to hitting the thermal limit on the GPU after the tweak. As it turns out, extending the TGP limit to 115W that this GPU is capable of is quite a trivial task.

Even though I mention trivial, it carries a certain element of risk and hence anyone attempting the same is forewarned about the consequences. Having said so, it is a rather quick and easy process. Firstly, you will need NVFlash to take a backup of the current VGA BIOS and also to flash a new one. Secondly, you will have to find the correct replacement BIOS to flash. Any of the bios files with a Boost Clock of 1560 MHz are the 115W ones but in my case the one that worked was not an Asus one, which resulted in the USB-C DP output not working but the MSI one listed here. Note that you have to use nvflash with the "-6" option to override the PCI Subsystem ID error as follows in the case of the above BIOS file.

nvflash -6 232273.rom

Voila! You now have the full TGP unlocked. At first, I decided to give the official overclocking method a go which can be accessed from within Geforce Experience by enabling "experimental features" in the Settings and then selecting the "Performance" option from the overlay (Alt + Z). The automatic performance tuning option displayed a boost of +75 MHz though in GPU-Z, I could see that all the clocks had been increased by 100 MHz. At the end of the day, it produced a TimeSpy score of 6840 which you will recall is higher than the maximum score from last time. The GPU can be observed to now use the full 115W, though it also hits the thermal limit which was not possible with the TGP at 90W. All things considered, this overclock is on the conservative side.

The better solution then is to use the legacy scanner which is more at the edge of performance besides allowing a more generous memory overclock. One thing I failed to mention previously is that the OC Scanner on MSI Afterburner now uses the official NVAPI method of overclocking which does not detect cards lower than the 3xxx series. Hence, to get the Voltage-Frequency Curve, you will need to use the legacy OC Scanner instead which can be easily enabled in MSI Afterburner by editing the MSIAfterburner.cfg file in the root installation folder ("C:\Program Files (x86)\MSI Afterburner" by default) as follows:

LegacyOCScanner = 1

Doing so immediately produced a better result that breached the 7000-mark with the 500 MHz memory clock that I usually run the card at. It wouldn't surprise you to know then that it hit the GPU thermal limit along with the power and utilisation limits. 


The next step then was to see if I could extract the same performance at a lower temperature and power consumption. As you can imagine, it was quite a time-consuming exercise to find the ideal voltage-frequency curve. I did manage to get the maximum Time Spy score of 7155 with a maximum clock of 1800 MHz at 825 mV but that too hit the thermal limit, besides being unstable. Eventually, I found the sweet spot at the max frequency of 1785 MHz at 818 mV, going any lower resulted in instability. I also experimented with a lower frequency of 1770 MHz at lower voltages but that brought down the overall score, besides surprisingly resulting in a higher peak temperature, albeit at a lower power consumption.


Drum rolls then as I reveal the final results for the above curve which happens to be my (final?) choice for the Turbo fan profile. A score of 7148 with an average CPU and GPU power consumption of around 16W and 61W respectively is quite good in my opinion. At the same time, it did not even hit the thermal limit during the test. All in all, the best profile I could hope for at present for this hardware combination.

However, an important thing to note is that an absolute performance profile does not work well for lower fan profiles. Case in point, when I switched to the Performance mode with this profile, the score dropped to 6581 points which is far too less. Turns out that the higher voltage-frequency combination is far too much for the lower fan RPM. 

Thus, for the performance profile, I ran the OC scanner again and applied the +500 Mhz memory overclock to come up with a score of 7045 which isn't too far from my absolute profile with the Turbo mode. However, it comes with a huge spike in GPU power consumption compared to my Turbo mode settings besides still hitting the thermal limit.


I tried to tweak the curve further for the Performance mode but the lower fan RPM requires the clocks to be dropped significantly. From my tests, this would require dropping the max clock to 1600s at may be mid-700 mV but that also drops the score quite a lot, in the region of 6800-6900. That might be a feasible solution but for now I have left it at the default OC Scanner curve as I wouldn't be using the Performance mode often.

Final words also on the clock speeds reported in GPU-Z. The official Geforce Experience performance tuning with NVAPI displayed higher GPU clocks in GPU-Z, so you may be mistaken in terms of it offering better performance. As you can see below, this is a screenshot of the clock speeds reported for my final profile which doesn't seem that significant but offers significantly more performance. It is all about the frequency-voltage combination rather than the reported figures, so don't simply go by the higher numbers as it doesn't always offer the best performance.


With this, I hope I have finally closed the chapter on tweaking the hardware for the Asus Tuf A15. Before I go, here is the final comparison with the stock settings...


…and also the previous tweak at 90W. As I have mentioned previously, incremental GPU performance comes with a comparatively higher power consumption and hence the efficiency is still highest for the 90W tweak. However, at the same time, the 115W tweak still offers better efficiency than stock and hence it is a win-win in my opinion. Hope you have a great time tweaking your hardware and let me know if you have any queries.

 

Tutorial #26: Debloating Samsung Galaxy (Tab S5e)

 

The Samsung Galaxy Tab S5e is a great everyday tablet as I previously mentioned in my review apart from the fact that it isn't so out of the box. The reason behind this is Samsung's bloated One UI which takes a toll on the hardware, especially one with a mid-range SoC. However, this issue is easily fixed if you are okay with tinkering with your device and voiding the warranty.

This tutorial is a means to that end and lists the process I follow in getting my S5e working as fast as a custom ROM, and I can attest to that having also tried Lineage OS on this device. The good thing is that Samsung has stepped up its game in terms of updates. This doesn't imply you will always get the latest updates for your region, but there is a way around it and that is by flashing the firmware manually which in the case of this device can be tracked over here. However, I would recommend downloading the firmware itself at full speed from Samsung using tools like Frija or Samsung Firmware Downloader.

The other thing to note is that you will need to root your device to access it at the lowest level and I wouldn't describe that process in detail since it is already well-documented. However, what I would like to clarify is that although rooting along with unlocking the bootloader permanently trips Knox on the device and thus renders it useless for any functionality utilising Knox (like Mobile Device Management by corporates), the device itself can still be operated without root and will thus run enterprise apps managed by Microsoft's Intune Portal.

The first thing I do towards speeding up the device is to flash Multidisabler. Hit up the link to read more about it but be aware of what it does. On the whole, it has the largest impact on speed since it disables file-based encryption, besides addressing some hijinks resulting out of rooting the device.

The next important file to flash is the BluetoothLibraryPatcher. Samsung devices stop retaining paired devices when rooted and this comes in real handy, especially if you are using wireless earbuds and fitness trackers. Although you could use the Magisk module, I flash it using TWRP as I don't use Magisk for day-to-day stuff.

Now we come to the meat of changes, moving from generic to specific changes. This is simply about deleting apps that you won't be using at all and hence, by definition, this is a personal list. I have listed the apps which I have observed as being unessential to my need, but your needs may differ and thus will require some experimentation on your part. You could delete these apps using a file manager with root access or create a script to this effect.

These systems apps are essentially distributed across two partitions - system/app/ and system/priv-app/ and may vary depending on the region. In my case, I always use the latest release from any region and thus the list may be cumulative in that regard. As of writing this, it is based on the UK release as it was the first to receive Android 11. The ones highlighted in "cream" indicate new additions to Android 11 whereas the Android 10 apps that are no longer in 11 are highlighted in "red". I have kept them in the list for posterity but will remove them in the near future once I am convinced I don't have any reason to ever go back to Android 10. With that, I present you with THE LIST.



As an end note, I would like to state that you don't need root after the completion of the above process in terms of debloating. You can of course use continue to using root for other apps but that is not an option for me as I run some enterprise apps on my device that don't work with SafetyNet failure. If for some reason, you cannot boot to the un-rooted system after completing this process, then remember that it is possible to do so by booting into the recovery and selecting 'Reboot to system'. This boots the un-rooted system and should you need to boot into root again, you can do using the key combination listed above on the Magisk readme page.

With this, you now have a un-rooted system that is completely debloated, passes the SafetyNet and is just as fast as a custom ROM.

Tutorial #25: TWEAKING THE ASUS TUF GAMING A15 - Part Deux

 



My previous post about the A15 was about plucking the low hanging fruit of performance. However, there is always the scope of optimising the settings further to gain the greatest benefit for the lowest cost. That is what I was up to on and off since the last post and having reached a satisfactory result, I have decided to share the same for anyone trying to squeeze the little bit extra from this hardware.

The base concept is still the same, to get more out of the GPU at the expense of CPU within the permitted power and thermal budget. To that end, I went through the process as follows:

1. Reduced the CPU temperature and Normal/Short/Long TDP limits to 85 and 25/35/45 respectively in Ryzen controller to provide further headroom to the GPU.

2. Reset the MSI Afterburner settings to stock which had the following curve for my RTX2060.

3. Ran an actual game as I would like to play it (in this case Dishonored 2 at 2K Ultra with HBAO and Triple Buffer) and noted the Average and Maximum GPU frequencies attained in the middle of the game.

4. Few observations first. Neither the CPU or GPU are thermally throttled in any way. Instead, the GPU hits the power limit which in the case of the A15 is 90W. Note that the included GPU is the RTX 2060 Notebook Refresh and thus it is a 110W TGP part. This indicates that the laptop does have thermal capacity to spare, especially as I had conducted these test with an ambient temperature close to mid-30 degree Celsius. Having the option to push the GPU Power further would have been great but with that being an impossibility with a locked BIOS, the next step was to figure out how to extract the most from the hand I have been dealt with.

To that end, I noted the frequencies which yielded the sustained performance (1560 MHz @812 mV) and the peak performance (1755 Mhz @918 mV) in-game.


This concluded the stock performance analysis. Now, there might be multiple guides present that put forth different suggestions as to how you can proceed with undervolting or overclocking but I decided to use these figures to try to set a target that I wanted to attain. In this case, it was to try to push the stock sustained performance to the lowest voltage (i.e. 1560@700) and the peak stock performance to the sustained voltage (i.e. 1755@812). Doing so manually with a smooth curve was going to be quite a challenge, so I decided to take a bit of a shortcut in attaining this objective as follows:

5. Executed the Nvidia OC Scanner within MSI Afterburner to produce an OC curve. The curves are not always the same, so I executed it a few times, also at slightly different CPU TDPs to come up with the curve that resulted in the highest boost frequency. In this case, it was as indicated below.


If I look at the frequencies at the concerned voltages, then it is 1515@700 and 1755@812. Thus, it seems I have almost attained the target I set out for without doing much.

 
Taking a look at the HWInfo figures again with the OC curve, it can be seen now that the sustained frequency has jumped to 1725 MHz from 1560 Mhz which is a decent OC. Also, the peak frequency now is at 2040 MHz which is an even bigger leap but it comes at a much higher voltage (1006 mV). The effect of this however is that the GPU is now hitting all the performance limits apart from the thermal one.

Almost there, but "almost" is not good enough, so I had to push it a bit further.


6. At this point, I decided to try to move the curve to the left, in effect overclocking the OC curve even further to see how much more performance can be extracted from it. I started by essentially shifting the curve to the left by 25 mV but as soon after I started encountering artifacts within the game indicating that I had pushed it a bit too far. As a result, I shifted the curve by 12.5 mV instead and found it to be perfectly stable. 

The other change I did was to flatten the curve at the half-way mark of the complete voltage range which is at 975 mV. There are various reasons to do so, primary of which was that the GPU never really reaches the frequency associated with that voltage and if it does as stated in the point above, it is for a fraction of a second. Consequently, it also saves the effort of manually adjusting the curve in futility. An argument could be made that the curve can be flattened even earlier to essentially attain an undervolt but I wanted to allow the GPU to boost to its practical maximum as much as possible.

With the above, after smoothing out the double frequency jumps (15 Mhz instead of 30 Mhz for a single increment in voltage step), I was left with the curve indicated below.


It starts at 1560@700 (surprise!), reaches 1755@800 and peaks at 2010@975. So how does this curve now fare within the game?


Firstly, we are back to only hitting the power and utilisation limit. The sustained in-game frequency is now 1755 Mhz, a further 30 Mhz boost from the default OC Scanner curve. The peak frequency is now 1965 Mhz though as against 2040 MHz earlier, but as I mentioned previously, it is transient and if you look at the average GPU power, it has come down to 69.4W compared to 70.3W for the OC scanner curve and 71.3W for the default curve. Amusingly, the maximum power consumption was over 97W with the stock curve and I also observed it breaching the 100W barrier in an intermediate test. May be it is due to some quirk in HWInfo or otherwise, the card is indeed capable of going over its locked TDP of 90W in some cases, though without much benefit.

7. With the GPU OC sorted, next, I wanted to see if I can push the CPU a bit more in co-ordination with this curve. You will have to take my word for it, but I tried increments and decrements for all the TDP values while keeping the temperature limit at 85 degrees Celsius and I finally found the best performance at Normal/Long/Short TDP of 25/40/50 respectively.


The proof, of course, is in the pudding. Thus, I present to you now, the comparison between the stock performance and after the CPU/GPU tweak. The duration of the HWInfo figures spanned from the launch of the Time Spy test to the calculation of the score.

Stock:

Post tweak:

A good jump and also a slightly higher score than the tweak in my last article (6703). What it doesn't indicate though is that the power consumption is lower than last time.

8. One last thing! I didn't at any point mention anything about the GPU memory overclock because I kept it for the last. After trying out different increments, I settled for a boost of 500 MHz as it was stable and didn't lead to any noticeable increment in power consumption and thermals. With that, here is the final result.


To put things in perspective then, this is how the tweak stacks up against the stock setting.








Tutorial #24: Tweaking the Asus Tuf Gaming A15


Previously, in my review of the laptop, the only tweaking I had undertaken was an auto-overclock of the GPU which, as per expectation, yielded a performance improvement of around 6% overall with only a slight loss in CPU performance, purely on the basis of the additional available thermal headroom.


During that time I had left the CPU untouched because AMD does not officially support tweaking on laptops and Ryzen Controller did not work for me then. However, later I came across Renoir Mobile Tuning and found it to be operational for this laptop, albeit with a few bugs. I switched to Ryzen Controller again and found that it too now worked well for Renoir with the additional benefit of applying the setting automatically on boot.

With a CPU tuning tool in place, the next thing was determining what to do with it. While these tools often end up as overclocking utilities, my intention couldn't be further opposite to that. The idea was to effectively underclock the system without losing performance i.e. to reduce the temperatures while still maintaining a performance boost over the stock settings.

To cut a long story short, I played around various combination of settings to finally settle on one that seems to work the best. Not that it an exhaustive analysis but rather the most practical among the ones I had tried. Note that I only experimented with the Boost TDPs and the temperature limits. The boost duration seemed pretty logical and I did not want to introduce yet another variable that muddied up the testing. Eventually this resulted in the following changes:
  • Temperature Limit: 90
  • Long Boost TDP: 54 
  • Short Boost TDP: 50
For reference, the default temperature limit is 95 with long and short boost TDPs of 60 and 54 respectively. Also, I auto-overclocked the GPU again to make the most of any benefit available from reduction of the CPU performance. So, how did this theoretical reduction in CPU performance impact the benchmark scores for Fire Strike and Time Spy compared to the ones from the review?


As expected, this has quite an impact on the CPU performance as it has dropped by nearly 5% but on the other hand the graphics score has jumped by 1% resulting in an overall gain of 0.7% on Fire Strike, taking it past 16,000 for the first time. However, the result for Time Spy was more interesting as there was a minor loss instead overall indicating the underclock has more of an impact of DX12 than it does on DX11, which is probably not unexpected. Note that this is an indication of the gain over the gain already achieved by overclocking the GPU originally, so overall the incremental gain is still worth it.

Lastly, the laptop has a secret weapon up its sleeve. Until now, all the tests were conducted using the default Performance mode. However, there is also a Turbo mode which sets the fans whirring to possibly the maximum setting under full load. Yes, it boosts up the scores even further. Below I have again attached a comparison of the Turbo mode performance for the stock CPU settings in comparison to the underclocked one and it is quite the same as earlier. While the DX11 performance is higher with the underclock, it is lower by an equal proportion in case of DX12. 

It has to be kept in mind though that apart from the scores, the underclock has an additional benefit in reducing the overall temperatures and also prolonging the life of the components. Also with the combination of the 4800H with the RTX2060, it is the latter that is going to hit the limit rather easily compared to the former, so a sacrifice of CPU performance for a GPU gain makes a lot more sense.

Finally, I leave you with a comparison of the current profile comprising of a GPU Overclock and CPU Underclock on Turbo with the stock GPU and CPU settings.

A jump of 7.8% on DX11 and 6.6% on DX12 with lower overall temperatures to boot is nothing shoddy. Seems something called as free lunch does exist after all.

Tutorial #23: Taming the beast (Dell XPS 7590 Core i9)


One of the significant purchases I made over the past 6 months is the Dell XPS 7590 with Intel's Coffee Lake Core i9-9980HK, Samsung's 32 GB DDR4-2667 RAM, Toshiba's 1 TB SSD, Nvidia's GTX 1650 and the crème de la crème that is the 4K OLED panel made by Samsung. But before you get any ideas, this is not a device that I would have otherwise purchased but for the fact that I found a single piece listed on Amazon 2 days prior to its official launch of the device at a price that was lesser than the 2019 Acer Helios 300. The risk was worth it as it came sealed with a valid 12-month Premium Plus support from Dell. There are instances in one's life where one doesn't mind getting lucky and this was certainly one of those.

Normally, I would be prompt in reviewing devices within the first few weeks of purchase. However, in this case I think I am too biased towards the device to perhaps put up a worthwhile review. Hence, I thought it better to post a tutorial that would be of some assistance to fellow users. One thing that I am certain of is that the hardware has outgrown the XPS chassis design over the years and the Core i9 pushes things a bit too far in terms of what the chassis is capable of handling thermally. Hence, I went on an optimisation quest with the intention of lowering the temperatures and increasing the overall efficiency of the device. I will own up to the fact that I don't intend to use the device on battery at all unless I am forced to but for that eventuality I decided to find a compromise which would at least provide stock performance at lower battery consumption as against higher performance when operating directly on AC.

The tool of choice in this case for the CPU is Throttlestop which offers significantly more tweaking potential than Intel's Extreme Tuning utility. As for the GPU, the mainstream tool to use is MSI Afterburner. However, in case of this GPU, I found that the temperature limit setting on MSI AB was locked for some reason even after unlocking all the advanced options and the Auto Overclocker resulted in far too frequent game crashes. Hence, I instead went ahead with Asus GPU Tweak II which allowed the GPU temperature target to be set upfront. By default, this is set to 75 Celsius and I instead bumped it to the stock value of GTX 1650 which is 87 Celsius. However, the idea in general is to still not exceed 75 Celsius during most strenuous tasks but to provide the headroom to exceed that if needed.

With this background, in the interest of time, I have decided to simply post the screenshots of the various screens from the tools since further elaboration on each parameter can be found on their respective forums. In case of the GPU, I eventually stuck with simply pushing up the clocks by 10% as undervolting using the frequency curve resulted in far too many instability issues. Is this the most optimum setting possible, most probably not. However, I believe this is the best setting I could identify with trial and error, as attested by the 88 unexpected reboots on record. I could certainly push the clocks and voltages quite a bit more but in general it led to instability and I am certainly no fan of BSODs. Another point to note is that while Asus GPU Tweak II can be set to start on reboot, Throttlestop requires additional effort in setting up the task scheduler which is what I have indicated below.

Starting Throttlestop on Login:

Throttlestop settings for AC profile:

Throttlestop settings for Battery profile:

Now to focus on the fruits of the labour or the pudding so to say. I am not a fan of benchmarks in general but in this case, I needed something to comparatively measure the impact of the changes and a few basic benchmarks provide the easiest reference in this case. Note that I ran all the benchmarks with only the discrete GPU enabled with the overclock settings, so it represents the worst possible scenario in case of thermals.

UserBenchmark:
This might not be the first benchmark utility that springs to mind but for the fact that it allows comparative analysis for similar hardware components and is of considerably short duration. In this case, the CPU came up at 97th percentile and the GPU at 100% percentile which, considering the fact that is mostly going up against much bulkier gaming laptops with much better thermals, is noteworthy. Overall, the CPU efficiency is excellent with the tweaks providing higher performance at lower power. The discrete GPU however doesn't scale up in terms of efficiency and while it is possible to get more performance out of it, it comes at a significant cost in terms of power and heat.

Cinebench:
Cinebench really pushes the CPU and is thus a good test of its ultimate performance. A sequence of 2 consecutive runs also pushes the CPU to its thermal limits. Not surprisingly then, the 1st run score of 3684 is more than 20% better than stock and even the 2nd consecutive run scores better than the stock settings with lower average temperatures.

Heaven:
This benchmark was run at the Extreme preset. As I have already mentioned previously, pushing the GPU doesn't really yield huge benefits in this constrained form factor as the any performance benefits come with equally higher power consumption and heat generation. However, as can be seen in the results, a 3% performance boost in Heaven comes with lower CPU temperatures and the GPU power consumption is lower even though it hasn't been undervolted. So, a win-win overall.

Lastly, how do these modifications fare with a modern game. I happen to have Hitman 2 installed at present, so I thought I'd give it a go with the in-built benchmarks which I frankly didn't find to be entirely consistent across different runs. But I believe it should give at least give an idea of what the laptop is now capable of, even though it is not meant to be a gaming laptop.
I set all the details to the maximum possible apart from lowering it a notch to 'High' for 'Level of Detail', 'SSAO' and 'Shadow Quality', besides turning 'Motion Blur' to 'Off'. The Mumbai benchmark produced a score of 70.95 FPS with CPU averaging at 79C and the GPU at 70C. The more demanding Miami benchmark chewed out 54.04 FPS with CPU/GPU temperatures averaging at 78C/69C respectively. A more than serviceable gaming machine if I may say so.

Tutorial #22: Optimal performance from the Samsung Galaxy A50 (or any mid-range device)


The demands from the hardware have arisen significantly with every passing year, which is only made worse by manufacturer-specific UIs adding an extra layer of cruft. While hardware capabilities increase demonstrably every year, the software demands more than negate the gains and ensure that even last year's flagship is not a safe bet anymore. However, not everyone needs the latest flagship device or wants to spend a small fortune for the extra processing power.

As I touched upon previously, my primary reason for getting the A50 was the large OLED screen. With gaming on the mobile out of the picture, all I really wanted was to not have a horrible user experience which becomes part and parcel of any mid-range device over time. Mi devices are most offending in that respect with MIUI but Samsung hasn't won itself any honors by bundling lots of promoted apps, some uninstallable, coupled with a Samsung Pay Mini card that interferes with the gesture system.

While adb commands offer a fair degree of control over the device, I prefer to root the device when possible to be able to customise it just that bit better with lesser hassles. The Samsung A50 has perhaps the unintended benefit of being able to boot into the rooted as well as the unrooted system at any point of time which kind of ensure the best of both worlds, if you are not looking to use rooted apps all the time.

With this, I present a step-by-step guide to setting up the device to run like it does when brand new, only better because of the uninstallation of all the bloatware. While it wouldn't make any of games run any faster than what the hardware allows it to, what it does is ensure that the phone is running optimally at any point of time, so no memory-hogs or sudden slow-downs or battery-drains.

1. Rooting the device (optional)

First the disclaimer. Rooting the A50 trips the Knox bit, so you are immediately foregoing device warranty as well as the ability to use any Knox-secured apps like Secure folder and Samsung Pass, though you can still run some Samsung apps like Pay Mini and Health.

For this, I will simply point you to John Wu's excellent tutorial. It has worked with every firmware released till date and allows you to upgrade to every new release while retaining your data, the downside being that you will have to download the entire firmware to do so as OTAs are no-go.

Also, as I mentioned previously, the peculiar partitioning and button combination allows one to boot in to either the rooted or the unrooted system. I personally prefer optimising the system in root mode but don't run it as daily driver as it has issues with WiFi disconnections and random reboots. However, the changes are carried over just fine to the unrooted system which is rock stable and has not rebooted randomly on me till date.

2. Installing Island and making it device admin

Island makes use of the 'Android for Work' feature to create a separate work profile for which it, and consequently you, are the admin. It can be made the device admin without root access provided you delete all other user accounts and make it the admin using adb commands. There is also the option of God Mode which essentially allows Island to control the Mainland apps.

3. Installing Greenify

However, Island by itself doesn't have a background service and it utilises Greenify for that purpose, unsurprisingly from the same developer. While Greenify can normally hibernate apps using Android Doze, the integration with Island takes it to the next level.

4. Deep Hibernation
The easiest way to ensure that apps undergo deep hibernation is to select the 'Auto-freeze with Greenify' option from within Island. This directly adds the app to the "Hibernation list" in Greenify with the 'Deep Hibernation (by Island)' option enabled. Alternately, one can manually add the app within Greenify and then select the same hibernation option.

5. Create 'Unfreeze' shortcut
Subsequent to selecting an app for Deep Hibernation within Island as mentioned in the previous step, it is a good idea to immediately select the 'Create Unfreeze & Launch Shortcut' option which does what it says. It allows you to directly launch the hibernated app but requires you to maintain the shortcut on the homescreen, iOS-style.

6. Create Hibernation Shortcut
Lastly, I would suggest selecting the 'Create Hibernation Shortcut' from the Greenify menu. This places a "Hibernate" shortcut on the home screen, selecting which immediately freezes all the apps for which 'Deep Hibernation (by Island)' has been selected while also queuing up for normal hibernation any other apps you might have selected within Greenify.

7. Profit
The screenshot above indicates my app drawer post-hibernation and as you can see, the "all-time" enabled apps don't even cover a single drawer page (the folders only contain about 4 apps each). At the end of the day, you really don't need Maps or Uber running all the time in the background and tracking your location while draining the battery. Another illustration is the immediate memory consumption which in this example goes from 951 MB free to 1.2 GB free, just by hibernating the currently running apps. The interface fluidity and memory consumption is certainly much better by having only a limited number of running apps at any point of time.
The other benefit is that you can run dual instances of nearly every app, independently within Mainland and Island. A tip over here - it is recommended to create a separate folder (or tab) within your launcher in which you can retain the Island apps that you wouldn't like to be frozen like the duplicates of Play Store or VPN apps. It simply makes the launcher look cleaner and perhaps helps prevent confusion in case the padlock symbol against the Island app icons doesn't work for you.

8. Loss

The only downside I have seen is that the apps don't come up for update on the Play Store unless they are enabled, so be sure to check the Play Store for updates every now and then. Also, as I mentioned previously, the hibernated apps altogether disappear from the launcher and don't reappear within the folder you might have assigned to them, as they are effectively seen as new apps by the launcher on every "unhibernation", though the app data is retained. Hence, the recommendation to create the unfreeze shortcuts on the home screen.

9. Conclusion

There can be some paranoia over having an app become the device admin, especially coming from China. However, I have previously interacted with the app developer over email and have found him to be polite while immediately addressing the issues reported by me.

If you simply want the benefits of an independent work profile, you can use the Test DPC app which allows you full control over the work profile as an admin. You can also use the open-source equivalent of Island known as Shelter.

However, neither of the apps integrate with Greenify like Island and neither are able to create a work profile when the Knox bit is tripped. Hence, in my case, it is the only feasible option to keep rogue Android apps in check. In case you feel differently or have any queries, feel free to drop a comment below and I shall do my best to address the same.