40 comments

[ 1612 ms ] story [ 1287 ms ] thread
This was really interesting! I've often wondered how one would do such a thing.

Seeing your name in the Linux changelog must be awesome!

> Seeing your name in the Linux changelog must be awesome!

Years ago when I was a teenager I had a couple patches accepted for ksnake and gedit.

Certainly not as prestigious as a patch to Linux, but still the idea of code I'd written running on millions of PCs around the world felt amazing.

This was a fun read, and well written. Thanks for sharing! Adding/improving support for some niche piece of hardware sounds like an ideal way to get started with kernel development, and something I'd like to try myself sometime.
It’s definitely something on my bucket list too. Delighted at recent rust developments as a result cause I know zero c
Kernel development has always been a bit of a mystery to me so I really appreciate this post walking through the process.

Did you try to use any AI tools during their process?

Thanks for the great write-up!
This was an absolutely awesome post, and it makes me want to do the work to fix the functionality on my Lenovo laptop. Though I'm sure the Lenovo drivers are a little more closely watched, so I'll make sure to do my due diligence first. Thank you for the write up!
This is the easiest way to hire engineers with high quality open source contributions with a public track record.

All it takes is just to check that the commit shows up in upstream projects such as Linux and anyone can see the code, the reviews and the authors email in the AUTHORS file which verify that this contribution / patch is indeed from the author who committed that change.

This is a very old form of social proof which saves lots time and makes Leetcode redundant. (Which can now be completely cheated with LLMs.)

Be careful.. any measure becomes a target, and in doing so voids its usefulness. Getting a kernel patch in is probably already somewhat afflicted by this, but imagine the lkml if every Bay Area wannabe company started soft-requiring this as a screen!
as others have warned.. a scary counterexample is the npm ecosystem, where people are gaming it with questionable npm package spam, to get the 'astroturf footprint' of being the author of widely installed packages. (which get their footprint by piggybacking on actual useful packages, akin to stapled-together law packages in the us congress).
That was so cool!

I too went on this adventure with my laptop. Sadly I hit a wall while reverse engineering the ACPI stuff. With no logs, error messages or tools on the Windows side to intercept the ACPI events, I was at a loss but eventually gave up. Massive respect for managing it with your own laptop!!

I did manage to reverse engineer the keyboard's LEDs and drive them from user space! Studied the kernel to make a contribution but decided not to do so when I saw comments saying it is better to keep functionality in user space if at all possible.

If I had no problem with devoting the time and money, contributing to the kernel (especially in a topic as obscure as making the extra buttons work on a 20-year-old laptop) is at the top of my bucket list, and I am definitely going to be doing it in the near future when my calendar clears up a bit.

Exquisite write-up and OP's simple writing has a motivating ring to it, and I'm now on the local used marketplace looking for pieces of tech like this :-)

I like your website design! Have you documented the design/setup anywhere?
Great write up and easy to follow. I appreciate the extra details related to related things.
I've been procrastinating a trivial fix for years, thanks for having listed the commands to run to format and send the patch, that might help me find my way out from procrastination because this is exactly what's been blocking me.
Such a lovely read and extremely well written! Thanks for the post.
Neat! I don't know much about the Linux ecosystem so I didn't realize how Linus himself is still so deeply involved in the day-to-day review and release process.
This was encouraging! Thanks for explaining the process!
Well written! Enjoyed the detailed report.
Wait… Koskivuori? Well of course they took his Linux patch right away, this is blatant Finnish favoritism! Imagine if some poor Estonian tried similar…

;-)

Just kidding, very cool to see a blow by blow of landing a Linux patch. I felt similar excitement landing a mere emacs patch.

I've never really done anything with the kernel, and at this point it feels kind of overwhelming to start contributing.

I'm sure if I went to the source tree and asked people for a low-hanging-fruit task someone would be kind enough to guide me to get started, but it's still kind of overwhelming to a point where I've just avoided it.

I should probably should stop coming up with excuses and just do it, as I would like to do a lot more with filesystems and having an understanding of the kernel would probably help with that.

This is a nice writeup. I hope we see more great blog posts from this person here in the future.

At the bottom, there is a timeline, and I noticed this entry with a LWN link:

    > 2025-05-27: Sasha Levin selects my patch (and a few others) for backporting...
https://lwn.net/Articles/1020203/ ... which leads to a LKML link: https://lwn.net/ml/all/aBj_SEgFTXfrPVuj@lappy/

The new version of this tool (AUTOSEL) looks very interesting!

    > AUTOSEL leverages modern large language models and
embedding technology to provide significantly more accurate recommendations.
Having your name as a Linux contributor is the highest level of accolade I can think of when it comes to being a programmer.
I wonder why they haven't upgraded the spinning hard disk to an SSD. Even on old hardware you'll find that often the HDD still presents a bottleneck.
This was a great read. Congratulations on your first contribution to the kernel!
Does `usbhid-dump` show anything when pressing the buttons?