15 ms·
My first contribution to Linux
- sph 11mo agoThank you for this. I have a USB desktop speaker whose volume controls don't work and I was thinking of writing a patch, but didn't know where to start; now I do.
- Havoc 11mo agoIt’s definitely something on my bucket list too. Delighted at recent rust developments as a result cause I know zero c
- pantalaimon 11mo agoCompared to Rust, C is pretty easy
- deleted 11mo ago[deleted]
- raybb 11mo agoKernel 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?
- petetnt 11mo agoThanks for the great write-up!
- caminanteblanco 11mo agoThis 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!
- rvz 11mo agoThis 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.)
- akdor1154 11mo agoBe 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!
- rvz 11mo ago> Be careful.. any measure becomes a target, and in doing so voids its usefulness. Except, this tests for a wide range of tasks related to a typical SWE role: programming proficiency, reasoning through rigorous code-review, clean code, open-source and testing. Given that Leetcode and Hackerrank tests can be cheated / beaten with LLMs, it not only has been gamed to death, but it tests for nothing that is related to the role. > but imagine the lkml if every Bay Area wannabe company started soft-requiring this as a screen! Then this saves time and the proof is on the interviewee to show high quality functional open source changes to high profile projects like the Linux kernel for example and the bar is set high on purpose. Imagine if hundreds of candidates have "interview cheating" software installed, just to pass the coding interview. Both the interviewer and the interviewee lose.
- philipwhiuk 11mo ago> Then this saves time and the proof is on the interviewee to show high quality functional open source changes to high profile projects like the Linux kernel for example and the bar is set high on purpose. At the cost of the maintainer's time being your first round interview. https://news.ycombinator.com/item?id=24643894 https://news.ycombinator.com/item?id=24643894
- matheusmoreira 11mo agoThat 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.
- pankalog 11mo agoIf 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 :-)
- dmurray 11mo agoI feel most laptops still don't work completely out of the box with Linux, so you don't have to hunt for old hardware. Maybe you won't find an issue as simple as fixing a button, though.
- leakycap 11mo ago> Maybe you won't find an issue as simple as fixing a button, though. Every laptop I've used with linux has had a few non-functioning buttons and keys. I think you underestimate the widespread issue.
- fnicfnac 11mo agoWe might have a different definition of issue.. I think 100% compatibile working would be launching bloatware installed by the manufacturer. I'm happy not to have the pavlovian training that may some day cause me to click one of these things on someone's windows machine.
- leakycap 11mo ago> I think 100% compatibile [sic] working would be launching bloatware installed by the manufacturer. Making a physical button work requires bloatware in your understanding? > I'm happy not to have the pavlovian training that may some day cause me to click one of these things on someone's windows machine. Do you know what you're trying to say here? I do not.
- turol 11mo agoHieno homma
- vkoskiv 11mo agoKiitos!
- indigodaddy 11mo agoI like your website design! Have you documented the design/setup anywhere?
- vkoskiv 11mo agoThanks! I haven't, but I probably should, since you're the second person asking about it. The site is built with Zola[0], and it's using the Radion[1] theme, with small modifications. [0]: https://www.getzola.org/ https://www.getzola.org/ [1]: https://github.com/micahkepe/radion https://github.com/micahkepe/radion
- ddtaylor 11mo agoGreat write up and easy to follow. I appreciate the extra details related to related things.
- jraph 11mo agoI'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.
- whoami730 11mo agoSuch a lovely read and extremely well written! Thanks for the post.
- stanguc 11mo ago[dead]
- alexchantavy 11mo agoNeat! 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.
- malkia 11mo agoThis was encouraging! Thanks for explaining the process!
- bhasi 11mo agoWell written! Enjoyed the detailed report.
- eduction 11mo agoWait… 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.
- vkoskiv 11mo agoThe joke gets even better when you consider that the subsystem maintainer that reviewed my patch is also Finnish :]
- tombert 11mo agoI'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.
- degamad 11mo agohttps://kernelnewbies.org/FAQ/WhereDoIBegin https://kernelnewbies.org/FAQ/WhereDoIBegin (and https://kernelnewbies.org/ https://kernelnewbies.org/ in general) has some good pointers...
- throwaway2037 11mo agoThis 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/ https://lwn.net/Articles/1020203/ ... which leads to a LKML link: https://lwn.net/ml/all/aBj_SEgFTXfrPVuj@lappy/ 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.
- kwar13 11mo agoHaving your name as a Linux contributor is the highest level of accolade I can think of when it comes to being a programmer.
- Jalad 11mo agoAgreed. There's also getting a hexadollar from Donald Knuth for finding errors in The Art of Computer Programming I've never done either, so I'm not bragging or anything
- dmix 11mo agoEven if it's small it demonstrates a level of commitment to working with a human system of senior engineers and ambition for software to become better just because. Always good on a resume.
- CrossVR 11mo agoI 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.
- zephyreon 11mo agoThis was a great read. Congratulations on your first contribution to the kernel!
- jkhanlar 11mo agoDoes `usbhid-dump` show anything when pressing the buttons?
- mattbillenstein 11mo agoPretty cool writeup - wish I had time or need to hack on stuff like this - maybe someday ;)
- MomsAVoxell 11mo agoMy favourite contribution to the Linux kernel, which I witnessed myself, was a 1-character fix to a macro that my boss found, related to reading ADC, and which we spent two weeks checking and double-checking and re-double-checking to be sure that it was actually a bug. It was, he submitted it, and that one character fix got him into the contributors file .. we were all highly amused, because that particular boss didn't program much, but found the bug during testing and it was, nevertheless, a huge win for him .. ;) EDIT: it was a 2-character fix. ;) https://lkml.iu.edu/2103.2/08109.html https://lkml.iu.edu/2103.2/08109.html (W., if you read this, I still love telling the story of how you found this bug..)
- fragmede 11mo agoyou can't say that and then keep the story to yourself!
- MomsAVoxell 11mo agoLets just say that it involved a lot of fluidic particulate quantification. All over the desk.
- bojle 11mo agoI am doing the same but with LLVM. For starters, I filtered issues with the "good first issue" label and found something to work on [1]. It took 2 months in review and about a month to research and write the code. Finally got merged yesterday. I am writing about it so that when someone else bumps into the same problem, they hopefully take 1 hour instead of 1 month. Compilers, like the kernel, are a lot of fun! [1] https://github.com/llvm/llvm-project/pull/154914 https://github.com/llvm/llvm-project/pull/154914
- asimovDev 11mo agocongratulations. as someone who is a bit of a finnaboo and lives there, it's my dream to have had contributed something to the linux kernel. I was wondering if you used the same email for the commit as your github profile so that it shows up in the contributor list in the github mirror of the kernel and on your profile? I don't think I see the contribution when taking a quick glance at your github
- vkoskiv 11mo agoI just checked this, and it seems like GitHub is a bit weird about tracking these. It didn't show up on my profile at all until I just now forked[0] torvalds/linux on GitHub. Now it shows up on my profile on May 9th (author date), but the link to the commit is broken, because repository authors page it points to filters on the commit date, not the author date. Broken link points here and shows no commits: https://github.com/torvalds/linux/commits?author=vkoskiv&since=2025-05-08&until=2025-05-09 https://github.com/torvalds/linux/commits?author=vkoskiv&sin... If I correct the date range to include the maintainer commit date (May 15th), the commit shows up: https://github.com/torvalds/linux/commits?author=vkoskiv&since=2025-05-08&until=2025-05-15 https://github.com/torvalds/linux/commits?author=vkoskiv&sin... Also strange that if I only filter on author[1], nothing shows up. Though I suspect that dataset might only be updated periodically. [0]: https://docs.github.com/en/account-and-profile/reference/profile-contributions-reference#contribution-criteria-for-commits https://docs.github.com/en/account-and-profile/reference/pro... [1]: https://github.com/torvalds/linux/commits?author=vkoskiv https://github.com/torvalds/linux/commits?author=vkoskiv
- abrookewood 11mo agoThat's really awesome - well done. Here's hoping you add a bunch more patches :)
- VALTIELENTINE 11mo agoFantastic read! I've alas been frightened of contributing to the Linux kernel in spite of my interests, this instills both confidence and inspiration while serving as a simple "guide" on how to even approach debugging a hardware issue. I particularly like how the author expresses his nervousness in submitting the patch as he recognizes the importance of the work of the maintainers
- glaze 11mo agoNice, torille! I also got my first and so far only kernel patch submitted years ago: On my MacBook Pro 2010 with GeForce 320M running any OpenGL application, even glxgears, would crash because it ran out of memory. So I dug into nouveau drm code and found out that some memory related function was using wrong code path for that GPU. It took some time to figure out how to submit a patch but it felt nice after I got it accepted. I didn't even know about those patch sanity-checking scripts back then, they look useful for potential future patches!
- sim7c00 11mo agocool stuff and congrats. nice reading about the whole journey to it :) always humbled by people digging so deeply into things. thanks for the writeup!
- schnitzelstoat 1y agoThis was really interesting! I've often wondered how one would do such a thing. Seeing your name in the Linux changelog must be awesome!
- henrym 11mo ago> 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.
- deleted 11mo ago[deleted]
- johnisgood 11mo agoSame. I found serious bugs in a couple of games, exploited some, had fun, wrote a patch and sent it to whoever. Problem is, I was so anxious I did it under an alias. I have my different aliases in the changelog of some games. Nice to look at them, like "wow, that's my contribution", and then it hits "but no one will believe it was me, it was not under my name". God damn it. :( You know, back when I confused "hash function" with "encryption" and whatnot.
- sgarland 11mo agoI got a patch to Debian’s vixie-cron accepted [0], which thus far has been my proudest achievement. It’s tiny and stupid, and should never happen to anyone reasonable, but nevertheless, you can now change your server’s TZ without restarting crond or waiting for a DST shift, and your jobs will fire at the new correct time. Contributing to the kernel is definitely on my list of things to eventually do. 0: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1019716 https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=1019716
- fragmede 11mo agoCongrats. I had a commit in the kernel but it got refactored out.
- jw_cook 1y agoThis 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.