Interview with Flar2, Developer of ElementalX Kernel Part 1: Origins, Kernel Development and Android Changes

We may earn a commission for purchases made using our links.

I recently got to interview flar2, the man behind the famous ElementalX kernel, and his even more popular ElementalX Kernel Manager application. He has released a version of his kernel for a vast array of devices, including OnePlus and Nexus devices.

In this part, we ask about flar2’s thoughts on Android performance bottlenecks and more about his personal life! You can check out part 2 of this interview here.

Hey there! Introduce yourself first of all before we get down to the questions.

My name is Aaron Segaert, also known as flar2. Most people know me as the developer of ElementalX kernel. I also have a few apps.

Had you any experience with computers and development beforehand? Like a computer science degree or something?

I started off with computers when I was very young. My first computer was a Texas Instruments TI-99/4A. I learned how to code in BASIC and saved my programs on a cassette tape (yes, I’m old). Then our family bought a 286 IBM clone, and I got away from coding at that point because this was before the Internet was widely known and I didn’t have any resources or even know anyone else who had a computer. I started computer science at university, but I flunked out in first year. I never really went to class because I was too busy having fun and playing gigs with my band. Later I returned to school and obtained a doctorate in sociology. During my time as a student, I became interested in Linux and open source but never got into much serious programming. I contributed minor bits here and there, but mostly just made scripts and small programs for my own purposes. I probably built my first Linux kernel around 2002. At the time, I wasn’t writing my own code, only experimenting with different patches and build options to boost performance. I was more into building computers, overclocking and generally trying to make hardware do things it wasn’t supposed to.

Has any development other than Android app development and kernel development interested you?

Not really, I’ve found good tools available for almost everything I’ve needed to do on computers. The reason I started working on kernels and apps for Android is because I felt there was a need for certain features and room for improvement on the existing tools. For example, I made Button Mapper because I wanted the home key on Samsung phones to do more, and I didn’t like the reversed back and recents keys. I made DevCheck because other system info apps didn’t show the info I wanted to see in a clear and concise way. ElementalX kernel adds new hardware features and EX Kernel Manager controls those features and adds some tools I use to make development easier. I like to solve problems and it’s a fun challenge to reverse engineer things or add new hardware features to a phone.

How did you come into contact with Android development, specifically kernel development?

I always hated cell phones and resisted them for a long time. My wife and I shared a basic flip phone with a minimal plan that was mainly used for emergencies. In 2012, we had a fire at our home and were out for almost three months. All our utilities were cut off, and we decided not to reconnect our landline, so we got a smartphone, which was an LG P-something I think. I realized it was like a mini-computer and decided I needed my own mini-computer, so I bought an HTC One V. Since I tinker and mod pretty much everything, I immediately discovered XDA and found that not only did Android phones run Linux, they could be overclocked. I’ve been a Linux user for a long time, so I forked one of the kernels and was hooked. I soon got a cheap Acer tablet and started messing with that hardware and kernel because I wanted it to have USB OTG. Turns out the hardware wasn’t capable, but that’s how I started learning more about mobile hardware. I never publicly released a kernel for the LG, Acer tablet or One V, but built my own kernels for each and installed custom ROMs, which were necessary in those days, since Android was not yet mature. I soon outgrew the One V and traded up for an HTC One XL and that’s when ElementalX was born.

What was the goal for ElementalX initially, and how has that changed in recent years?

The goal of ElementalX has always been to add useful hardware features, without compromising stability or performance, and release something that people can depend on to just work. I always put stability first because I need my phone to be dependable. No random reboots or things like the camera not working. The philosophy has stayed the same over the years. I keep things simple and add hardware features that I find useful. Things like wake gestures, high brightness mode, vibration adjustment, sound control, support for more filesystems, joysticks, etc. I work hard to keep my kernels up to date, easy to install and as broadly compatible as possible. Some users are disappointed that I don’t add a lot of patches from CAF or upstream Linux, but my main goal is to deliver a very stable product with no weird issues. Many of my users are not people who post a lot on XDA, they are power users who have a specific need satisfied by a custom kernel, or people who occasionally like to tinker with their hardware but are not hardcore flashaholics. I want people who don’t follow all the latest Android developments to be able to use ElementalX without issue. There are plenty of other kernels that experiment with upstream patches. In ElementalX, I use a carefully selected set of patches and optimizations. In my career outside Android, I measure things that are difficult to measure and use evidence to build policy and provide advice. I apply the same principles to kernel development and generally do not use patches unless there is a measurable benefit. The battery monitor in EX Kernel Manager is an example of this. It offers a way to objectively measure the effect of battery tweaks and kernel changes. The floating monitors in DevCheck are another tool I use for development, mostly for monitoring CPU frequencies and temperatures during different use cases like gaming or watching videos or web browsing.

How have changes in the last few years to Android affected your work?