[KERNEL][Custom] Singularity Kernel [7/11] [V-1.0.19] [8.1] [CLANG 7.0.2] - OnePlus 5T ROMs, Kernels, Recoveries, & Other Dev

*** Disclaimer
Flash at your own risk! I take no responsibility in the event that an alarm is missed and you're late, thermonuclear war beaks out, or you spend so much time on your phone that your wife leaves you.
Introduction
Hey guys! This is the kernel myself and my good friend APOPHIS9283 have been working on for OnePlus 5/5t.
- Kernel only supports custom ROMs - final OOS version of 1.0.17 from 07/03/2018 is here in the OP, as is.
- Kernel will always be kept upstream to latest linux-stable
- We do not shy away from features around here. This kernel is LOADED! If you want something minimal, this is not for you. !
- If you have issues, we need logs! If it is an issue that is not able to be logged for some reason or another, please give detailed steps on how to replicate the issue. No logs = no support! Help us help you!
Features
- Upstreamed to latest linux-stable
- Governor options including: alucard, tripndroid, cultivation, impulse, chill, blu_active
- Overclock and underclock support. Kernel boots/defaults to stock frequencies though.
- Dynamic stune boost
- Adreno boost
- Adreno idler
- Wireguard support
- Sweep2Sleep
- LED Settings
- High brightness mode
- sRGB
- I/o schedulers including maple, deadline, bfq and tripndroid
- USB fastcharge
- Boeffla Generic Wakelock Blocker
- TCP congestion avoidance algorithms - Too many options to list!
- Backlight dimmer
- KCAL color control
- Sound control
-i/o switcher
- More I probably forgot, but you get the idea!
Installation
- If on a custom kernel, dirty flash your ROM. Reboot to recovery and flash this after booting with ROM's baked in kernel.
- If on ROM's stock kernel, just wipe kernel app data and flash this in recovery. If needed, flash no-verity after!
- Upgrading from one version to another is as simple as flashing the kernel and no verity if needed. I do recommend wiping kernel app data on each flash - we add things often!
Download
https://androidfilehost.com/?fid=5862345805528046227
Telegram group for Singularity kernel users: https://t.me/joinchat/C3FsEk7qvo5Nl3o3RXsyLw
OOS Final build 1.0.17 07/03/2018. Will not be updated or supported further but here for anyone who wishes to use it, here it is: https://androidfilehost.com/?fid=11050483647474833324
- Credits and thanks!
@nathanchance for the best base anyone could ever ask for, for assisting without expecting anything, for making upstream so simple, and for being a friend.
@osm0sis for AnyKernel2
@Lord Boeffla for his work
- All the users for giving us a reason to do this!
- Anyone I forgot, send a PM and I'll add ya.
ROM devs feel free to inline this into your ROM. Just give me a heads up and please link them here/Telegram chat.
XDA:DevDB Information
Singularity Kernel, Kernel for the OnePlus 5T
Contributors
wrongway213, apophis9283, REV3NT3CH
Source Code: https://github.com/Singularity-Kernel/Singularity
Kernel Special Features: ALL THE THINGS!
Version Information
Status: Stable
Current Stable Version: 1.0.19
Stable Release Date: 2018-07-11
Created 2018-03-23
Last Updated 2018-07-11

Congratulations!

Enjoy the kernel

Thanks for your work, Glad to see this new kernel !

Love the honesty! This kernel is LOADED!
Will have to try it when I switch of of OOS!
Thanks guys!

Features same as my kernel has. Yeah! Now I can use freatures-rich kernel for customs!
Thanks guys! In some free time will try to help via pull requests.

Welcome. :fingers-crossed::fingers-crossed:

apophis9283 said:
Enjoy the kernel
Click to expand...
Click to collapse
Oh snap!!!! LOL

I'm a hardcore Franken kernel user but I'm going to back that kernel up and give this a shot. It's the first kernel that's intrigued me in a long time. Franken is the standard best kernel for me, so it means something if I can be swayed by your work.

preference said:
I'm a hardcore Franken kernel user but I'm going to back that kernel up and give this a shot. It's the first kernel that's intrigued me in a long time. Franken is the standard best kernel for me, so it means something if I can be swayed by your work.
Click to expand...
Click to collapse
I started with a fresh base from Flash kernel (huge thanks to him), and built it with my idea of how a kernel should be IMO and with user feedback.
Hope you enjoy

apophis9283 said:
I started with a fresh base from Flash kernel (huge thanks to him), and built it with my idea of how a kernel should be IMO and with user feedback.
Hope you enjoy
Click to expand...
Click to collapse
All the best with this kernel, especially as its aimed at custom roms rather than OOS.
When Paranoid Android Oreo hits, is there any possibility that you and @wrongway213 would consider doing a version for that ?
If not, then no problem

SlyUK said:
All the best with this kernel, especially as its aimed at custom roms rather than OOS.
When Paranoid Android Oreo hits, is there any possibility that you and @wrongway213 would consider doing a version for that ?
If not, then no problem
Click to expand...
Click to collapse
I'm always willing to take a look.

apophis9283 said:
I'm always willing to take a look.
Click to expand...
Click to collapse
That would be very nice, if it were possible.
Thanks for the consideration.
That is of course if Paranoid Android Oreo ever materialises...LOL

If you are on a ROM and had broken gestures. Will you flash this and see if it doesnt fix them

Yea this Kernel is great stuff. Can't recommend it enough... I trust it's creator and it works solid. Good job @apophis9283
Sent from my ONEPLUS A5010 using Tapatalk

Gestures should work for all ROMs. Let me know if they don't. A few other tweaks I wanted to get in there. Just wipe your kernel app data. To match my settings just use tripndroid governor.

@wrongway213 what custom rom do you recommend for best kernel effectivity? thanks

nadejo said:
@wrongway213 what custom rom do you recommend for best kernel effectivity? thanks
Click to expand...
Click to collapse
I don't think he's tried anything else. I have. I flashed AICP, and CRDROID. Both ran perfect. I like it on LR but I'm not sure it because the kernel is better on one or the other. Just what I prefer to use. I had to flash other roms to make sure everything was working.

This was taken while on AICP. I find this is generally what stats I get

Tested with Aicp, validus and omni all works great

Related

[KERNEL][UNOFFICIAL]Gustavo Kernel builds by gsstudios

Unofficial Gustavo Kernel builds by gsstudios​(The resurrection of S2 kernels)​
The Background:
Gustavo kernel development has stopped for a while now. I've been a long term s2 user, but I felt that a lot of features need to be implemented into the kernel. As of a result, I decided to make my own personal builds! Please note that I'm no way as good as the master himself, Gustavo, but I try to implement features to the best of my abilities.
The Mission:
To continue giving support for the much loved kernel. New features and additions will be added to improve flexibility and speed to the already amazing kernel. My goal is to improve Gustavo kernel as much as I can, without sacrificing stability.
DISCLAIMER:
ONLY FOR AOSP BASED ROMS
I'm not responsible for bricked devices or wrong version flashing
You are using this kernel at your own responsibility
——— !!!!!!!! YOU HAVE BEEN WARNED !!!!!!!! ———
FEATURES:
This kernel includes the following additional features over stock Gustavo kernel:
- Built with Latest Optimized Linaro 4.9 Toolchain (Smooth, fast and fluid) - Main toolchain
- Trim support (Be careful if you have brickbug affected chip!)
- Updated FPBug fix is already included in this kernel!
THINGS TO DO:
- Why don't you tell me what to do
THINGS I WILL NOT ADD:
Code:
- LZ4 Compression (Our Boot partition is way too small to support this)
- Useless CPU governors such as Userspace
- Colour tuning support (Unless someone helps me with this)
- Recovery version (WIll only consider doing this if working on LP kernel)
- Higher thermal limits (We all know what happens if we do this)
- Higher overclocking/Lower underclocking capabilities (So you want less stability and more SODs?)
- Synapse support (Stweaks is the only app that can fully support this kernel)
- Linux Kernel version updates (My skills need to improve first before taking on something this big)
CREDITS:
Gustavo_s (Mastermind and creator behind Gustavo kernel)
gokhanmoral
codeworkx
Cyanogenmod
franciscofranco
AndreiLux (Synapse App)
hawkerpaul
Tungstwenty
faux123
myfluxi
neobuddy89
Lanchon (Music Bug Fix)
zeitferne (Music Bug Fix)
omni team
geeckodev
DOWNLOAD:
Refer to third post
CHANGELOG:
Refer to second post
KERNEL SOURCE:
Source code of the kernel can be found here:
https://github.com/gsstudios/android_kernel_samsung_smdk4412
ISSUES:
- All Gustavo kernel bugs
USEFUL LINKS
- CPU Governor and I/O Scheduler Guide
TCP Algorithm guide
HAVING PROBLEMS?
Read post 4 before posting questions!
GOT QUESTIONS?
Q&A Thread not up yet
HOW TO FLASH?
Check the troubleshooting guide
​
XDA:DevDB Information
Gustavo Kernel , Kernel for the Samsung Galaxy S II
Contributors
gsstudios, Gustavo_s
Kernel Special Features: See post 1
Version Information
Status: Testing
Created 2015-12-13
Last Updated 2016-07-01
Changelogs:
I understand that some people like Gustavo Kernel because it is simplistic with fewer options compared to DorimanX. I will attempt to make only important changes to the kernel, and no changes that are unnecessary.
For full changelogs, visit my repo: Github Link
--UNRELEASED VERSIONS (KERNEL UNDER TEST) --
Code:
[B]Gustavo Kernel xx/xx build[/B]
- Updated support for CM13
- Merged many updates from CM
- Built with Linaro 4.9 Toolchain
- TRIM is enabled by default
- Freezefix has been merged
- Isorec support has been added
- F2FS support
- ZRAM enabled by default
- General performance improvements and stability fixes
--RELEASED VERSIONS (GENERAL AVAILABILITY) --
Code:
Nothing to see here :)
Downloads
I test most of these builds to make sure they are stable. There may be some cases where I might not test out a build before releasing it. Kernels marked with '(STABLE)' are safe for everyday use, but only take this as a indication.
--IMPORTANT, PLEASE READ--
CAUTION: All builds marked with 'TRIM' at the end has TRIM enabled. If you have brickbug affected emmc chip, avoid downloading it if you don't know what you are doing! For more information about the trim brickbug, visit Lanchon's guide here: http://forum.xda-developers.com/gal...ives/rom-brickbug-aftermath-speeding-t2843238
All builds without 'TRIM' (marked as 'NON-TRIM') have trim disabled. These kernels are safe on brickbug affected chips.
MAKE SURE YOU'RE DOWNLOADING THE RIGHT KERNEL. OTHERWISE YOU COULD BRICK YOUR DEVICE!
For TRIM users:
To use TRIM, you can download an app on the app store called trimmer or use terminal commands as directed in the troubleshooting guide.
And finally, I always see the question on whether to use TRIM or NON-TRIM builds. I recommend using TRIM builds on all devices, even if you have brickbug affected chip. This is because TRIM builds are safe from brickbug as they have been correctly patched up and so it has been used by many users. However, when in doubt, use NON-TRIM builds.
Linaro or UBER
I have constantly changed between UBER and Linaro toolchains, and have stuck with UBER toolchain. Choose whichever you believe is best for you. UBER is just Linaro toolchain with extra patches and updated components for speed and smoothness improvements. Linaro is more simplistic and stable.
Main download link:
Download link will be added once kernel is working!
Mirror download link:
Download link will be added once kernel is working!​
Beta builds and stable builds will only be uploaded on AFH and github.
Troubleshooting
(Probably one of the most detailed troubleshooting guides for kernels on XDA)
Q: Why flash your kernel?
This applies to gustavo kernel in general. gustavo kernel is an aftermarket kernel (or custom kernel) that is designed to allow users to tweak their phone at the kernel or near-hardware level side of things. In other words, users get more fine-grained control over their phone, this includes overclocking, underclocking, changing behavior of CPU/GPU etc. Adjusting such settings isn't for the faint-hearted since there is soooo many things to understand, but you aren't required to understand all of the settings. Ultimately, if you want to improve your phone experience, try gustavo kernel!
Q:How do I flash your kernel?
A: You flash kernels like flashing roms, except you don't have to factory reset your phone. If you can't flash the kernel for some reason, you can either flash philz recovery then flash the kernel OR you can just make your own kernel .tar file and flash via ODIN by following this guide: http://forum.xda-developers.com/galaxy-s2/development-derivatives/convert-kernel-zip-to-tar-t2994381
Q: Which kernel version build should I flash?
A: Flash the latest stable version if you want the most stable experience. Builds that have not been marked with 'Stable' are mostly stable, or haven't been tested enough to earn a stable tag. Either way, it's up to you which one you want to flash. Read the changelog for any important changes that might have occurred in a particular build.
Q: Wifi doesn't work after I flash this kernel
A: There are two main causes to this issue, either there is a problem with your:
- Partitions OR
- Permissions OR
- Gapps OR
- ROM OR
- Compatibility with your wifi hardware
Don't use a pit with modded preload! It will just cause issues with ROMs and Kernels. Use stock pit or use a pit with unmodded preload. Sometimes, the gapps package you flash somehow breaks compatibility with the kernel. You can fix this by flashing a different gapps (making sure to clean cache and dalvik). If you have permissions problem, you can fix this by repartitioning your internal sd card or by reflashing back to stock rom. Sometimes, the ROM doesn't fully support the wireless drivers in the kernel, this can be solved by flashing a different ROM or different kernel. But if your wifi hardware is not compatible (a way to tell this is when you have tried everything and failed), there is nothing you can do but reflash the rom or flash a different kernel.
Q: My battery life sucks after flashing this kernel!
A: Download and install Betterbatterystats and see what is the culprit to your problem. If it is kernel related, have you made sure you have wipe cache and dalvik and reset stweaks settings? If yes, it would be nice if you posted a logcat.
Q: Why do I get bootloops with this kernel?
A: If you were on a working version on gustavo kernel lollipop before, there is probably something wrong with the installation. If you are on a ROM that is not lollipop, you flash the wrong kernel! You need to flash the right kernel for your android version. Sometimes, bootloops can occur due to corruption of the kernel zip file (usually from bad download) or from corrupted partitions.
Q: What do all of the settings mean? They are all confusing!
A: Please note that gustavo kernel isn't for users who have just rooted their device. Before jumping into the custom kernel world, try playing around with other kernels first. Once you think you have some experience, read the stweaks/synapse beginners guide I made and then attempt to tweak the kernel using stweaks/synapse.
Q: How do I trim my partitions?
BEWARE: Make sure you have read all of the precautions before attempting to trim your partitions!
A: install the trimmer app from the playstore. App link . Check for all 3 partitions, and tap on run. grant root access. the 3 fstrim operations should be successful ("partition was trimmed" means success).
alternatively, instead of using trimmer you can run one of these commands (these are better because they also trim /preload):
# on the phone in the terminal app:
su -c "fstrim -v /system; fstrim -v /data; fstrim -v /cache; fstrim -v /preload"
# on your PC if you are connected to the phone via adb:
adb shell su -c "fstrim -v /system; fstrim -v /data; fstrim -v /cache; fstrim -v /preload"
reboot.
Click to expand...
Click to collapse
Q: My device is (hard) bricked after flashing your kernel!
A: Have you read all of the precautions before installing the kernel? You made the decision to flash the kernel and now you've stuffed up your phone.
Q: I get constant FCs after flashing your kernel!
A: Have you wiped your cache partition, dalvik cache and reset stweaks settings? If you've done all of these already, a logcat would be nice
Q: What's a good combination for CPU governor and I/O scheduler?
A: Have a look at the default settings, they are optimised for our phone
However, here are some settings I personally like:
1. Governor: HYPER/Ondemand I/O scheduler:SIO/SIO
2. Governor: PegasusQ/Nightmare I/O scheduler: SIO/SIO
3. Governor: NeoX/Ondemand I/O scheduler: SIO/SIO
4. Governor: Nightmare/Nightmare I/O scheduler: SIO/SIO
Q: What is a TCP algorithm?
A: Congestion control strategies (or algorithms) are used by TCP, the data transmission protocol used by many Internet applications. The main goal of a TCP algorithm is to avoid sending more data than the network is capable of transmitting, that is, to avoid causing network congestion.
Q: Why not use XYZ toolchain?
A: See this post
Q: What is UBER?
A: After years of using different custom toolchains like Linaro and SaberMod, I found there were things I liked about both of them but also things that didn't sit quite as well with me. SaberMod always seemed to have UI lag (especially in scrolling) but opened apps well and Linaro always seemed to be buttery smooth but had terrible app opening speed. Linaro battery was also worse for me than SaberMod. After going back and forth between toolchains I finally had this epiphany! Why not just take all of the best parts of all toolchains and merge them into one? So I began bringing up my own toolchain from gnu.org. At first I patched in all of the AOSP toolchain pactches (much like how SaberMod did it originally however it is important that you realize that No! I did not copy and paste SaberMod into my source I'm simply stating that I used their idea of merging aosp into gnu.org) to my source. Then I went through and added all of the linaro patches that I could to the source. I also made sure that I had the very latest of every toolchain component. I then made very minimal changes to the aosp toolchain build folder to allow for building with these newer toolchain components and UBERTC was born!!! (Note: both Linaro and SaberMod both made lots of modifications to the toolchain build folder, UBERTC is the closest to the aosp build process)
Click to expand...
Click to collapse
Reserved post 4
Can't wait for this?
Will it support all Lollipop roms or just CM12?
NoctisBlade said:
Can't wait for this?
Will it support all Lollipop roms or just CM12?
Click to expand...
Click to collapse
CM12.1 for now. Hopefully Slimroms support later since all I have to do is slightly modify the ramdisk files. Much easier base to work with (compared to DorimanX kernel).
BTW, first builds is up. Haven't tested it yet but included only small changes from gustavo's last build. It features TCP algorithm changing support and updated toolchain. Expect more features to be added in the future.
regards, gsstudios
I've tested both with the latest cm12.1 build 11/12 and none of them boot past the Galaxy i9100 boot screen.
I cleared cache, installed, then rebooted.
Hope this helps!
y0.o! said:
I've tested both with the latest cm12.1 build 11/12 and none of them boot past the Galaxy i9100 boot screen.
I cleared cache, installed, then rebooted.
Hope this helps!
Click to expand...
Click to collapse
Thanks for confirming. Should only work on unofficial CM12.1. Doesn't work on official CM12.1.
OP will be updated.
Regards, gsstudios
Update: Build 13/12 has been demoted to 'alpha' because it only works on unofficial builds of cm12.1. Once it works on official cm12.1, the status of the project will change to beta. I'm taking a break now. Lots of hours trying to get certain changes to work, now I need a good rest.
Ahhh I see. The flash seems to have messed up my system after reflashing cm12.1 to gain the kernal back. For what ever reason I couldn't download anything, said there was no SD card.
My partitions are corrupt anyway, I always have to use this thread when ever I change OS http://forum.xda-developers.com/galaxy-s2/orig-development/repartition-memory-s2-t3018749 . I have no idea how to permanently fix it!
Reinstalling everything again ... Ahh well, one of the pitfalls of experimenting!
---------- Post added at 04:08 AM ---------- Previous post was at 04:04 AM ----------
gsstudios said:
Thanks for confirming. Should only work on unofficial CM12.1. Doesn't work on official CM12.1.
OP will be updated.
Regards, gsstudios
Update: Build 13/12 has been demoted to 'alpha' because it only works on unofficial builds of cm12.1. Once it works on official cm12.1, the status of the project will change to beta. I'm taking a break now. Lots of hours trying to get certain changes to work, now I need a good rest.
Click to expand...
Click to collapse
Sleep/rest well brother!
y0.o! said:
Ahhh I see. The flash seems to have messed up my system after reflashing cm12.1 to gain the kernal back. For what ever reason I couldn't download anything, said there was no SD card.
My partitions are corrupt anyway, I always have to use this thread when ever I change OS http://forum.xda-developers.com/galaxy-s2/orig-development/repartition-memory-s2-t3018749 . I have no idea how to permanently fix it!
Reinstalling everything again ... Ahh well, one of the pitfalls of experimenting!
---------- Post added at 04:08 AM ---------- Previous post was at 04:04 AM ----------
Sleep/rest well brother!
Click to expand...
Click to collapse
That's what happened also on the gustavo's build too. This will take lots of work to get it working on official CM12.1.
@gsstudios
What about kitkat ?
The kitkat kernel needs also an update (trim not working )
Thanks for building this kernel
Sent from my GT-I9100 using XDA Free mobile app
ajrajr155 said:
@gsstudios
What about kitkat ?
The kitkat kernel needs also an update (trim not working )
Thanks for building this kernel
Sent from my GT-I9100 using XDA Free mobile app
Click to expand...
Click to collapse
I will have to see. Gustavo only uploaded his lollipop kernel, not kitkat. So I guess I will have to search properly through his repo.
regards, gsstudios
are "BLN" and "slide to wake" working?
cikenkari said:
are "BLN" and "slide to wake" working?
Click to expand...
Click to collapse
The kernel isn't even working on CM12.1 official yet. BLN and Slide to wake isn't top priority yet. I think I will have to close this thread until I release a 'working kernel'. Sorry for this "hype", was so close to bringing back gustavo kernel from the dead.
regards, gsstudios
Hey guys,
It has been a while since my last attempt with gustavo kernel.
Just letting you guys know that while dori kernel seems to be plagued with selinux issues, I will be aiming to get this kernel working on CM13.
Edit: So it has been discovered that selinux isn't the main problem we're facing in dori kernel, but we seem to be having other issues.
Currently, it is stuck on CM boot animation and won't go past. Selinux is alive and we have proper adb working which will aid us in the development. There is no guarantee that we will see a working MM kernel (I've only been working on the kernel for about 1 day )
gsstudios
gsstudios said:
Hey guys,
It has been a while since my last attempt with gustavo kernel.
Just letting you guys know that while dori kernel seems to be plagued with selinux issues, I will be aiming to get this kernel working on CM13.
Currently, it is stuck on CM boot animation and won't go past. Selinux is alive and we have proper adb working which will aid us in the development. There is no guarantee that we will see a working MM kernel (I've only been working on the kernel for about 1 day )
gsstudios
Click to expand...
Click to collapse
Big big thanks @gsstudios, your work and efforts are welcome, count with me to test your kernel, Gustavo's works great in LP hope you can take to MM soon [emoji6]
S2 Cyanogenmod 6.0.1 [official nightly] - arnab isorec twrp - Xposed [official framework]
All in impatience. Great news. Since dorimanx have problems with memory, I hope it will allow the kernel to wait for the elimination of unpleasant bug. Thank you, gsstudios.
gsstudios said:
Hey guys,
It has been a while since my last attempt with gustavo kernel.
Just letting you guys know that while dori kernel seems to be plagued with selinux issues, I will be aiming to get this kernel working on CM13.
Edit: So it has been discovered that selinux isn't the main problem we're facing in dori kernel, but we seem to be having other issues.
Currently, it is stuck on CM boot animation and won't go past. Selinux is alive and we have proper adb working which will aid us in the development. There is no guarantee that we will see a working MM kernel (I've only been working on the kernel for about 1 day )
gsstudios
Click to expand...
Click to collapse
Hi sir! What is the difference of gustavo and dorimanx? TIA
KnightElf009 said:
Hi sir! What is the difference of gustavo and dorimanx? TIA
Click to expand...
Click to collapse
Gustavo kernel code base is much closer to cyanogenmod kernel. DorimanX kernel was based off Siyah kernel a long time ago, and has a lot more changes. Dorimanx kernel is still being maintained, while Gustavo kernel is dead (I have paused development in favour of dorimanx development).
gsstudios

[KERNEL] [NOUGAT][UBER5.X] Optimus Kernel R22.1 [LUX][20/06/17]

OPTIMUS KERNEL​
Hi guys, this is Optimus kernel for Lux. This is a simple kernel with no bloatware.
Only necessary features will be added. This is for marshmallow (Up to R15) and Nougat (R16 and higher) only. Works on CM/AOSP/STOCK Roms. Enjoy!
Code:
Disclaimer:
Your warranty is now void.
I am not responsible for bricked devices, dead SD cards,
thermonuclear war, or you getting fired because the alarm app failed. Please
do some research if you have any concerns about features included in this KERNEL
before flashing it! YOU are choosing to make these modifications, and if
you point the finger at me for messing up your device, I will laugh at you.
FEATURES:
- Updated to latest CM-14.1 Sources
- Compiled With UBER 5.X Toolchain
- Full -03 support with device specific Cortex-A53 tweaks & other optimizations
- KCAL - Advanced color control driver by savoca
- random: squashed entropy tweaks & optimizations
- CPU overclocked to 1.7 GHz (Big) & 1.2 Ghz (Little)
- Added Optimus & Lionfish governor
- Undervolted to reduce heat
- Added state notifier driver
- Clusterplug by squid2
- cpu_boost: new enhancements including wakeup and hotplug boost
- Added zen, tripndroid & sioplus I/O schedulers
- Added toggles for disabling wlan wakelocks
- Optimized ARM RWSEM Algorithm
- Optimized Square Root Algorithm
- KGSL & Devfreq patches
- Disabled CRC check: 30% Performance boost
- arm/dts: msm8916: enabled bam_dmux fast shutdown flag
- Optimized MDSS panel routines to save power
- Added System Wide Power Efficient Workqueues
- VFP HardFloat
- Updates to zram,zsmalloc,irq etc
- Sched & Cpufreq Tweaks
- Removed some debug and logging options
- Enabled Advanced TCP Congestions
- CM14.1 Profiles compatibility
- Many more (check github)
How to Flash:
1. Download the kernel and place it into your phone storage
2. Reboot into recovery
3. Install the kernel
4. (optional) Wipe Dalvik/ART Cache and Cache partitions
5. Reboot and enjoy!
You need ROM's default kernel before flashing this as this kernel uses Anykernel2 by @osm0sis (huge thanks to him). Make sure you have it otherwise clean flash the kernel with the rom to avoid any issues.(At least dirty flash rom+kernel)
DOWNLOAD:
R16+ is only for Nougat, 10 to 15 is for Marshmallow
ANDROIDFILEHOST
SOURCE
GITHUB
Special thanks to @Flashhhh @Alberto97 @squid2 @franciscofranco @flar2 @myfluxi @eng.stk @hurtsky @Imoseyon @neobuddy89
Reserved
Man do you ever keep busy. Thank you!
Sent from my XT1563 using Tapatalk
Thank you @GtrCraft ! Nice to try this new kernel...feels snappier and very stable :good:
Thanks! Installing now. Not to hate on other devs but i'm happy to see a kernel not entirely based on Squids.
I can also confirm good battery life on this kernel. Should be at least as good as squid one. Thanks for a new kernel Nick.
Running nice and steady. Like all the new io schedulers and wakelock extra's. Great kernel and thank you.
Its just Optimus Kernel ported from Osprey to Lux. But thanks guys
Sent from my XT1562 using XDA Labs
I would say just one word awesome kernel.. Great job..
Sent from my XT1562 using Tapatalk
There's no way to only flash stock kernel right? Need to reflash entire firmware?
Enviado desde mi XT1563 mediante Tapatalk
Chaninoza said:
There's no way to only flash stock kernel right? Need to reflash entire firmware?
Enviado desde mi XT1563 mediante Tapatalk
Click to expand...
Click to collapse
That's right. You will lose wifi when restoring stock kernel. Easiest is restoring a recent nandroid backup. Next time you flash a new ROM and you are finished setting it up,make a nandroid backup before flashing a custom kernel. Takes only 2 minutes to restore to stock using a nandroid backup.
This kernel is stable and has no issues as such! Hope the dev adds some amazing features to it in the future!
Sent from my XT1562 using XDA-Developers mobile app
Was running RR with RR kernel. Flashed this over RR kernel. Working everything
Automated reply by JARVIS
u are focusing in performance, battery life, or both with this kernel? btw nice work sir
xxsilentazasinxx said:
u are focusing in performance, battery life, or both with this kernel? btw nice work sir
Click to expand...
Click to collapse
Working for everything you just said, I'm actually getting more battery than squid's and better performance!
Working perfectly with Epsilon Rom btw.
Sent from my XT1563 using XDA-Developers mobile app
K.khiladi said:
Was running RR with RR kernel. Flashed this over RR kernel. Working everything
Automated reply by JARVIS
Click to expand...
Click to collapse
so it is safe to flash this kernel overwriting other custom kernel without the need to flash an entire rom.
pijes said:
so it is safe to flash this kernel overwriting other custom kernel without the need to flash an entire rom.
Click to expand...
Click to collapse
Worked for me, so even you can try.
Automated reply by JARVIS
pijes said:
so it is safe to flash this kernel overwriting other custom kernel without the need to flash an entire rom.
Click to expand...
Click to collapse
Worked for me too, on Epsilon Rom, you get Squid's by default, I just dirty flashed Optimus Kernel and that's it, working perfectly.
Sent from my XT1563 using XDA-Developers mobile app
raptorskate said:
Worked for me too, on Epsilon Rom, you get Squid's by default, I just dirty flashed Optimus Kernel and that's it, working perfectly.
Sent from my XT1563 using XDA-Developers mobile app
Click to expand...
Click to collapse
I should not do that, Optimus isnt based on Squid kernel but on CM's. You have to dirty flash rom first like said in OP
I was on stock rom with squids kernel a few minutes ago. Now running on optimus.
Sent from my XT1562 using XDA-Developers mobile app

[Kernel] [H990] D.O.T.S. v1.4 [01/04]

This kernel is the result of a common work with @Leicxan. It can only be used on H990 and was successfully on single sim AND double sim variants. D.O.T.S. kernel is :
- Dirty Santa rooted
- Optimized
- Tweaked
- Stock based
Caution
Nor @Leicxan nor I are responsible for any damage caused to your phone. Any of the action you'll make to flash a kernel theorically voids your warranty. If don't accept any risk, then keep your stock phone
Content
- Based on v10g official LGE sources
- Compiled with UBERTC 7.x Linaro 7.2.1 (since V1.4)
- Dirty Santa root as implemented by @emdroidle
- CPU Governors : performance, powersave, userspace, ondemand, conservative, interactive, darkness, nightmare, zzmove, blu_active, elementalx, chill, dancedance. Default is interactive.
- I/O Schedulers : noop, deadline, cfq, fiops, sio, bfq, zen, maple. Default is zen.
- TCP congestion protocols : htcp, cubic, bic, reno, westwood. Default is westwood.
- Adreno idler
- Adrenoboost
- Exfat Support
- KCAL
- RCTD removed
- Wakelocks management
- Various small optimizations and tweaks
History
V1.0 [11/10] : original version
V1.1 [11/22] : CPU frequency hard limit (for battery drain improvement) and various minor fixes
V1.2 [11/27] : CPU frequency fix, exfat from samsung's open source module, LGE adaptive readahead
V1.3 [12/11] : Upstream Kernel to 3.18.86 thanks to @thirdzcee. Disabled LGE's rctd, ccmd and triton. Disabled some debug configuration. Note : Windows Defender can detect the archive as a Fuerboos trojan, this is a false positive.
V1.4 [01/04] : Fix for kernel crash when using pptp vpn. Upstream Kernel to 3.18.90.
Installation instructions
Follow the instructions provided by @emdroidle here : https://forum.xda-developers.com/v20/development/dirtysanta-h990-t3624296
At step 16, instead of typing fastboot reboot, just unplug the usb cable, remove battery, wait 5 sec, put the battery back and reboot the phone. This should limit the risk of static screen at reboot.
Once the kernel installed, update your phone to the latest KDZ for your region using KDZ Writer : https://forum.xda-developers.com/v20/development/tool-kdz-writer-t3649818
Known bugs
Some users reported issues with SD cards formated with exFat. This is not a general issue. The root cause is not clear (linked to the way the SD card is formated ?).
How to report a problem
It is very important to provide as many details as possible when you report a problem. It means providing :
- the model of your phone
- the version of the kernel and of the KDZ you updated to
- a precise description of the problem and of the circumstances
- logs (logcat & dmesg) : https://forum.xda-developers.com/showthread.php?t=2185929
Q&A
Before asking please :
- read the posts in this thread. The "Search Thread" box is your friend.
- have a look at @xdav20's H990DS Info Bank thread which is full of usefull information : https://forum.xda-developers.com/v20/how-to/h990ds-info-bank-t3703736"
Thanks
@emdroidle for his implementation of Bad Santa on H990
@USA-RedDragon for his werewolf kernel that was inspiring
Sources
https://github.com/guaibao1101/h990x-msm-3.18/tree/DOTS_v1.3
Downloads
Can we flash this over an existing kernel via TWRP if we have already rooted?
p7810456 said:
Can we flash this over an existing kernel via TWRP if we have already rooted?
Click to expand...
Click to collapse
Normally yes.. But if there is a problem, you'll have to restart all over, so make a backup of your phone, just in case..
It would be nice if this can be crossed over to H918.
First of all, just want to say thank you to @jahlex and @Leicxan for bringing the long awaited kernel with literally everything I could ask for to our devices.
Upon first install by flashing in TWRP, wiping dalvik/cache and rebooting, my phone goes to the LG screen, then black screens and I get a kernel crash screen that I've taken a photo of here
Any ideas what's causing it? My system version is in my signature. I'm really keen to get this working! For now I've restored my TWRP backup I did before flashing, back to 0.2.3b
Update: Even after the TWRP restore I was still getting the same problem. Immediately I thought it might be a Magisk problem as that's the only other thing I updated before rebooting. It appears I was correct. I used KDZWriter to re-flash the boot & system partitions of my phone (since Magisk modifies the boot image) and it immediately booted okay with my TWRP backup. Booted back into recovery, flashed the kernel as well as a previous Magisk version (14.0 not 14.2) and my other /system apps & mods, wiped cache, rebooted and sat on the LG screen for a while. Then booted into the OS okay. Glad it worked out and I'm keen to see how this kernel goes.
On a sidenote, do you have any plans to bring it to a more up to date version of the linux base kernel?
jahlex said:
Normally yes.. But if there is a problem, you'll have to restart all over, so make a backup of your phone, just in case..
Click to expand...
Click to collapse
This worked for me! Thanks a lot!
iDefalt said:
First of all, just want to say thank you to @jahlex and @Leicxan for bringing the long awaited kernel with literally everything I could ask for to our devices.
Upon first install by flashing in TWRP, wiping dalvik/cache and rebooting, my phone goes to the LG screen, then black screens and I get a kernel crash screen that I've taken a photo of here
Any ideas what's causing it? My system version is in my signature. I'm really keen to get this working! For now I've restored my TWRP backup I did before flashing, back to 0.2.3b
Update: Even after the TWRP restore I was still getting the same problem. Immediately I thought it might be a Magisk problem as that's the only other thing I updated before rebooting. It appears I was correct. I used KDZWriter to re-flash the boot & system partitions of my phone (since Magisk modifies the boot image) and it immediately booted okay with my TWRP backup. Booted back into recovery, flashed the kernel as well as a previous Magisk version (14.0 not 14.2) and my other /system apps & mods, wiped cache, rebooted and sat on the LG screen for a while. Then booted into the OS okay. Glad it worked out and I'm keen to see how this kernel goes.
On a sidenote, do you have any plans to bring it to a more up to date version of the linux base kernel?
Click to expand...
Click to collapse
Magisk 14.2 and 14.3 are beta version, I tried magisk 14.3 but my h990n always boot into bootloader interface..
So just stay with magisk 14, it doesn't have any issue.
For the Linux version, it will take tons of time to do this even we just upstream our kernel (from 3.18.31 to 3.18.79)
Sent from my OnePlus3T using XDA Labs
Leicxan said:
Magisk 14.2 and 14.3 are beta version, I tried magisk 14.3 but my h990n always boot into bootloader interface..
So just stay with magisk 14, it doesn't have any issue.
For the Linux version, it will take tons of time to do this even we just upstream our kernel (from 3.18.31 to 3.18.79)
Click to expand...
Click to collapse
Yeah I don't know why 14.0 prompted me to update to a beta version. I know 14.3 added something to do with supporting LG devices better, maybe that broke something. Otherwise I'm quite happy with how things are going ?
And yeah I'm somewhat familiar with how long kernel related things can take, it was more of a question if anything.
I've just installed it now, it works perfectly for now much more reactive i've impression Thank you!!
storm68 said:
It would be nice if this can be crossed over to H918.
Click to expand...
Click to collapse
That would be awesome!!!!!!
A million thanka for this for jahlex and lexican
Is the kernel in the downloads in the OP is the same version as this one : DirtySanta-h990-1.2-u721-v10g that was posted back in rooting thread
Or is it newer ?
storm68 said:
It would be nice if this can be crossed over to H918.
Click to expand...
Click to collapse
nymikey said:
That would be awesome!!!!!!
Click to expand...
Click to collapse
We only deal with H990 here guys. Thanks.
shouk_1987 said:
A million thanka for this for jahlex and lexican
Is the kernel in the downloads in the OP is the same version as this one : DirtySanta-h990-1.2-u721-v10g that was posted back in rooting thread
Or is it newer ?
Click to expand...
Click to collapse
This is major evolution of this kernel. DirtySanta-h990-1.2-u721-v10g was basically the stock v10g kernel with Dirty Santa root.
Before all, thank you so much guys, that's a great work
For some opinions i have many friends that buy h990ds last year and me too, we concluded if tha kernel was more optimized battery side was more effective than performances, and will be great that CPU and GPU clocks and voltages will be more unlocked if you can do that , thank you again.
great kernel thank you @jahlex :good: and @Leicxan :good: it works perfectly
zinou213 said:
if tha kernel was more optimized battery side was more effective than performances, and will be great that CPU and GPU clocks and voltages will be more unlocked if you can do that , thank you again.
Click to expand...
Click to collapse
They've already enabled some overcooked frequencies with this, as seen in their Github commits. If it's battery you're looking for, install the AKT Profiles from the thread, and then choose a balanced or battery saving profile. Since installing those and this kernel, I'm regularly seeing 5-7 hours of screen time.
On a side note @jahlex or @Leicxan if you're looking for a beta tester, feedback, or Guinea pig to help out (that isn't actually building the kernel, that's above my ability to simply modify individual files) I'd love to help wherever possible
Been doing the whole TWRP/Flashing/Kernel/ROM thing since I got my G3 way back in the day.
zinou213 said:
Before all, thank you so much guys, that's a great work
For some opinions i have many friends that buy h990ds last year and me too, we concluded if tha kernel was more optimized battery side was more effective than performances, and will be great that CPU and GPU clocks and voltages will be more unlocked if you can do that , thank you again.
Click to expand...
Click to collapse
As @iDefalt said, we already enabled higher max frequency / voltage for both CPU & GPU. We won't go higher because the result would be high risks of unstability and overheating. If you want performance and do not care about battery life, simply switch to performance governor for both CPU & GPU. We use interactive CPU governor by default because it is a good choice considering balance performance / battery life (nightmare & darkness are good choices too). You have plenty of apps to do that, example : https://play.google.com/store/apps/details?id=com.grarak.kerneladiutor.
iDefalt said:
They've already enabled some overcooked frequencies with this, as seen in their Github commits. If it's battery you're looking for, install the AKT Profiles from the thread, and then choose a balanced or battery saving profile. Since installing those and this kernel, I'm regularly seeing 5-7 hours of screen time.
On a side note @jahlex or @Leicxan if you're looking for a beta tester, feedback, or Guinea pig to help out (that isn't actually building the kernel, that's above my ability to simply modify individual files) I'd love to help wherever possible
Been doing the whole TWRP/Flashing/Kernel/ROM thing since I got my G3 way back in the day.
Click to expand...
Click to collapse
OK buddy. We'll remember.
Thanks!!! And with KCAL, it's perfect! :victory:
Huge thanks guys! Everything works great, even video recording. Great work!!!
@jahlex @Leicxan
Thank you for the release. I will report back any noteworthy issues.
Please forgive me if the following comment may deemed as a thread hijacking. I would be happy to remove it on your request.
I have just started a new thread in time for H990DS users and others, with useful information and tutorials that would potentially answer the most commonly asked questions or the issues sooner or later you would run into.
Kcal is so nice to finally have, thank you c:

[KERNEL] [8.1] Neutron Kernel for Nexus 5

Hi, all XDA members, I built a light-weight kernel for our little monster (hammerhead).
My kernel is based on Unlegacy Kernel. I optimized the kernel for best battery life and performance balance. I tested it on AOSP Extended ROM. It should work on LOS too.
Features:
-Intelliactive governor.
-SIO scheduler.
-25mV Undervolted manually from acpuclock source code. (Only for PV2 CPUs)
-More cooler device.
You can download img from Google Drive link. Flash it via TWRP or fastboot.
https://drive.google.com/file/d/1RGqpxZJ5lJve57IJeRHZm-BjMhDGIQIy/view?usp=sharing
Source code: https://github.com/metahex/android_kernel_lge_hammerhead
Awesome, I'll test and feed you back
thanks for your work
Detail please for features? Thanks
For this build, kernel comes with intelliactive governor.
I will add some features and improvements for best battery life and performance. (In next build i will undervolt it and i will add more governors, I/O schedulers)
Changelog:
(v1.0.2)
-Kernel name banner fixed.
-25mv Undervolted for PV2 CPUs.
(v1.0.1)
-SIO is the default I/O scheduler.
Testing
Can someone confirm that kernel works with LOS?
thanks for the new kernel, but no work in DU 12.2 flashed via twrp.
Any chance you could have your kernel fix phonecall bluetooth audio? It's bugged on every custom ROM right now and it's been theorized it's a kernel issue.
rnadomuc said:
Any chance you could have your kernel fix phonecall bluetooth audio? It's bugged on every custom ROM right now and it's been theorized it's a kernel issue.
Click to expand...
Click to collapse
I will work on it in my free time.
metahex12 said:
I will work on it in my free time.
Click to expand...
Click to collapse
Here is some info on it: https://forum.xda-developers.com/go...nlegacy-android-project-t3593425/post75688720
Xaif fixed a problem with video recording, you should include it in your kernel.
https://github.com/esa-n/android_ke...mmit/45abf34f6a493b2e918b054bedeec3c4d2003900
How i should flash it?
Like "boot" or "recovery" ?
Its a kernel it goes flash it as a boot IMG
I flashed this with AEX ROM and it hung at boot
Will a custom kernel enable NTFS and exFat support on Oreo?? No ROM currently works why either of those so u can't use my external hard drives.
Flashed 1.0.2 kernel over us 8.1. The undervolt sold me! If possible, and if you're entertaining ideas, I'd greatly appreciate usb fastcharge support.
I've heard the arguments against it, but in two years I'd never had a problem.
Will it work on Nougat (Los 14.1)?
psydex said:
Will it work on Nougat (Los 14.1)?
Click to expand...
Click to collapse
no
Deteted
Is this kernel dead?
Edit: @metahex12 Can you consider adding support to Pie (Unlegacy CAF ROM)?

[KERNEL] Resurrected Kernel [v1.0][Moto G6][ALI]

[size=+2]Resurrected Kernel[/size]
for the Moto G6 (codename: ALI)
####################
The purpose of this kernel is to provide a fully stable up-to-date kernel. The focus is quality over quantity, stability over every possible cherry-pick-able feature out there. However, I am open to requests and/or suggestions
####################
[size=+1]Features[/size]
+ Passes SafetyNet
+ AnyKernel2 format (more info)
+ WireGuard support (more info)
+ Disabled CRC's on data blocks (30% increase in performance)
+ Fsync On/Off support
+ Additional I/O Schedulers (Zen, FIOPS, SIO, BFQ)
+ Increased Zram compression streams
+ Tuned adrenoboost (disabled by default)
+ Advanced TCP congestion options
+ KCAL Color Control
+ Removed dm-verity on system and vendor partition
+ Boeffla wakelock blocker driver v1.1.0
+ Works same as stock (or better?)
+ More to come, stay tuned
####################
[size=+1]Downloads[/size]
+ Beta version -> Resurrected Kernel v1.0 || Oreo 8.0.0
####################
[size=+1]Installation[/size]
+ Download kernel zip
+ Reboot to twrp recovery
+ Choose INSTALL to flash kernel zip
+ Reboot and Profit!
####################
Credits
+ Motorola (for releasing kernel sources)
+ @osm0sis (AnyKernel2 template/source)
+ All commit authors in my kernel source
####################
XDA:DevDB Information
Resurrected Kernel, Kernel for the Moto G6
Contributors
Jleeblanch
Source Code: https://github.com/Jleeblanch/kernel_motorola_msm8953/tree/rk-oreo
Kernel Special Features: See description above
Version Information
Status: Beta
Current Beta Version: v1.0
Beta Release Date: 2018-09-09
Created 2018-09-10
Last Updated 2018-09-09
Please read before flashing...
[size=+2]NOTICE[/size]
As we all know, there are multiple variants/versions of the Moto G6 (codenamed ALI). I personally own the XT1925-6 variant and have tested this kernel on both firmware versions OPS27.104-15-10 (pre-ota)(march security patch) and OPSS27.104-15-10-4 (post-ota)(july security patch).
Being that this kernel uses the AnyKernel2 format and is NOT a full boot.img, my hope is that it'll work for all variants/versions. Make sure to backup your boot partition before attempting to flash this kernel that way if something goes wrong, you can easily restore your boot.img. If this kernel works for you, please lemme know what variant/version you're using so I can make note of it so users in the future can rest assured it'll work for them as well
Lastly, you will need to have flashed a "no-verity_boot.img" for your device and have TWRP installed before you can flash this kernel. In the future, this may change.
Reserved
Flashed perfectly on retus March firmware. First impressions are phone feels a bit snappier. Awesome kernel! Kcal control works great. On my G6 I changed rgb to 235/245/255 and saturation to 40.
Btw I'm using the same variant as you.
this works for XT1925-1 OPS27.82.87?
Alexibarra98 said:
this works for XT1925-1 OPS27.82.87?
Click to expand...
Click to collapse
I already tried it and yes it works
Alexibarra98 said:
I already tried it and yes it works
Click to expand...
Click to collapse
Awesome, good to know!
So far that's 2 confirmed variants
Been using since last night. Smooth as butter! A noticeable upgrade from stock kernel. I've flashed a few things and made a nano so not a good representation of battery life. I'll share my results when I have a normal usage day.
Works for me 1925-6 variant.
Omg, I'd love to see a Play (1922) variant of this kernel get made!
My wishlist includes much of what you've already included. Especially the Adrenoboost, Kcal, CRC disable, and added IO schedulers.
Just curious, do you plan on adding any hotplugging features? Like Intelliplug? Battery life could be drastically increased with implementation.
bubbyj said:
Omg, I'd love to see a Play (1922) variant of this kernel get made!
My wishlist includes much of what you've already included. Especially the Adrenoboost, Kcal, CRC disable, and added IO schedulers.
Just curious, do you plan on adding any hotplugging features? Like Intelliplug? Battery life could be drastically increased with implementation.
Click to expand...
Click to collapse
If you're willing to test (as I don't have that device) I can definitely put together a kernel for you guys.
As far as hot plugging features, that's something I can look into
you have planned to create some custom rom for the moto g6 jleeblanch? I dont like the stock rom
I recommend to anyone try this kernel. It's such a dramatic improvement over stock. So buttery smooth! You might enjoy stock rom better with a better performing kernel.
@Jleeblanch I'd like to donate to your development but don't see where you have a donation link.
Alexibarra98 said:
you have planned to create some custom rom for the moto g6 jleeblanch? I dont like the stock rom
Click to expand...
Click to collapse
I may possibly at some point. However, you are aware that you can flash treble GSI's? Just make sure to use arm A-only versions of whatever rom you wanna try out. I personally haven't tried any so I can't say either way what doesn't or doesn't work, but from what I hear most things do work fine. Just make sure you have a TWRP backup and/or the stock firmware for your variant in case something goes wrong.
giant22000 said:
I recommend to anyone try this kernel. It's such a dramatic improvement over stock. So buttery smooth! You might enjoy stock rom better with a better performing kernel.
@Jleeblanch I'd like to donate to your development but don't see where you have a donation link.
Click to expand...
Click to collapse
Thanks! Glad you're enjoying it!
As far as donations go, I don't currently except them (although as much time as I spend working the various Moto devices I own, I probably should). Regardless, a simple thanks will do [emoji6]
Working like a charm XT1925-3
How can I access the features of the kernel?
Like Kcal control?
darthxa said:
Working like a charm XT1925-3
How can I access the features of the kernel?
Like Kcal control?
Click to expand...
Click to collapse
Try apps like https://play.google.com/store/apps/details?id=flar2.exkernelmanager
Working, thank you
Working nice on XT1925-5 (OPS-27.82.87) Thank you so much. Sir, can you create some custom rom? Or can you say me, how to implentate "Moto fingerprint gestures" into treble roms ?
@Jleeblanch
Maybe you can activate the LED notifications in this kernel. Such things have already been done for older Motorola phones.
Example:
https://forum.xda-developers.com/2015-moto-g/development/kernel-somefeak-moto-g-2015-3rd-gen-t3622936
kemoti said:
@Jleeblanch
Maybe you can activate the LED notifications in this kernel. Such things have already been done for older Motorola phones.
Example:
https://forum.xda-developers.com/20.../kernel-somefeak-moto-g-2015-3rd-gen-t3622936
Click to expand...
Click to collapse
How to enable led notofication if the device doesn't have required hardware?
nlooooo said:
How to enable led notofication if the device doesn't have required hardware?
Click to expand...
Click to collapse
In previous models, there was a hidden diode, using the kernel gave the ability to use it as an LED notification. In moto g6 it is also possible.
https://forum.xda-developers.com/moto-g6/how-to/moto-g6-led-confirmed-t3806165

Categories

Resources