The highly anticipated Samsung Galaxy S6 and Galaxy S6 Edge were finally released on April 10 in most markets around the world. Threads have already begun popping up in the development sections of the Galaxy S6 and S6 Edge on the highly acclaimed development community XDA. Before long a plethora of developers will be releasing custom ROMs, kernels, themes, mods, scripts, etc. that will give users the ability to completely tailor the experience of the Galaxy S6 to their needs. To speed up this process and keep the development community happy, Samsung has released the kernel source code for numerous models of the Galaxy S6 and Galaxy S6 Edge on its Open Source Release Center.
Having access to a devices kernel source code is absolutely essential for enthusiast developers. The Linux kernel is the heart of the Android operating system; it is the code that allows software, such as apps, to talk to hardware and vice versa. Think of it as the bridge between the software on a device and the hardware in a device. Whenever a user interacts with software it sends requests to the kernel, which translates these requests into something hardware can actually process. An example is the kernels "governor", which is essentially responsible for controlling how the CPU responds to threads that are queued up by the process scheduler. Whenever you perform an action on your device new threads are created that need to be processed. As the number of threads increase so does "CPU load". In order to prevent lag caused by threads backing up in the scheduler's queue the governor tells the CPU to increase its frequency (ex – 425 MHz to 2.3 GHz). Voila! CPU frequency is increased, backed up threads are processed faster, load decreases, and lag is avoided.
Custom kernel developers create their own version of a devices kernel in order to optimize performance and enable new features that can drastically improve the user experience. These developers have played a major role in the Android community for a long time and are primarily responsible for the drastic increase in Android's performance since its release. Never forget that Android is open source, the Linux kernel was created by enthusiast developers. If it were not for independent developers we would not have the beautiful, fast, and incredibly functional Android phones that we love today. Kudos to Samsung for releasing their kernel source code so quickly and playing nice with the enthusiast development community. Here is a list of the models with source code available: SM-G920F (S6 Global), SM-G920K (S6 Korea), SM-G920L (S6 Korea), SM-G920S (S6 Korea), SM-G920T_NA (S6 USA T-Mobile), SM-G925F (S6 Edge Global), SM-G925K (S6 Edge Korea), SM-G925L (S6 Edge Korea), SM-G925S (S6 Edge Korea), SM-G925T_NA (S6 Edge USA T-Mobile)