[HN Gopher] My first contribution to Linux
       ___________________________________________________________________
        
       My first contribution to Linux
        
       Author : vkoskiv
       Score  : 318 points
       Date   : 2025-10-06 12:31 UTC (3 days ago)
        
 (HTM) web link (vkoskiv.com)
 (TXT) w3m dump (vkoskiv.com)
        
       | schnitzelstoat wrote:
       | 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!
        
         | vkoskiv wrote:
         | Thank you! It is indeed!
        
           | sxzygz wrote:
           | Bravo. Awesome work.
        
       | jw_cook wrote:
       | 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.
        
       | Havoc wrote:
       | It's definitely something on my bucket list too. Delighted at
       | recent rust developments as a result cause I know zero c
        
         | pantalaimon wrote:
         | Compared to Rust, C is pretty easy
        
       | raybb wrote:
       | 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?
        
       | petetnt wrote:
       | Thanks for the great write-up!
        
       | caminanteblanco wrote:
       | 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!
        
       | rvz wrote:
       | 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.)
        
         | akdor1154 wrote:
         | 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!
        
       | matheusmoreira wrote:
       | 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.
        
       | pankalog wrote:
       | 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 :-)
        
         | dmurray wrote:
         | I 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 wrote:
           | > 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 wrote:
             | We 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 wrote:
               | > 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.
        
               | pixl97 wrote:
               | I think it's more of the buttons perform specialized
               | tricks to launch bloatware in Windows.
               | 
               | Some of the issue here is the keys themselves have almost
               | no standardization, even across models. Hell, possibly in
               | the same model sometimes. Some backend windows driver
               | captures these signals via a 50 mile long series of if
               | statements that make grown men weep when viewed. This
               | later can mean your totally working fix for the kernel
               | doesn't actually work on a 1/3rd of that fleet of
               | laptops.
        
               | leakycap wrote:
               | > I think it's more of the buttons perform specialized
               | tricks to launch bloatware in Windows.
               | 
               | The linked article is discussing play/pause buttons as
               | well as a "mode-switch" button that allows the play/pause
               | button to have a second function. I do not understand how
               | any of these regular functions become bloatware in your
               | estimation.
               | 
               | > Some of the issue here is the keys themselves have
               | almost no standardization, even across models.
               | 
               | There is actually widespread standardization, which is
               | why many important keys work by default. Laptops
               | sometimes have buttons to disable the internal wifi or
               | adjust the keyboard brightness. These keys are less
               | universal, but still hard to categorize as bloatware.
               | 
               | > ome backend windows driver captures these signals via a
               | 50 mile long series of if statements that make grown men
               | weep when viewed.
               | 
               | I don't know any grown men who would weep when viewing
               | this. I'm confused that you do not like a simple solution
               | (if statements, which a computer has zero problems
               | following precisely even if it is complex to you) nor the
               | complex solution ("bloatware")
               | 
               | > This later can mean your totally working fix for the
               | kernel doesn't actually work on a 1/3rd of that fleet of
               | laptops.
               | 
               | Most devices used in fleets are well-supported in linux
               | after a few years, specifically because of users like the
               | linked article who spend time making buttons worked when
               | pressed.
        
               | fnicfnac wrote:
               | You can obviously map arbitrary key codes however you
               | want on a custom OS and have extremely little fear of
               | someone having embedded nonsense down to the bios.
               | 
               | On windows many of these laptop buttons were added like
               | the Yahoo browser bar to specifically work with bloatware
               | that might go on to make a meaningful action for non
               | malicious software as well as what it is really for.
               | 
               | I prefer not to be in the habit of pressing footguns
               | given that I might occasionally be placed in front of a
               | consumers windows laptop that no one cleaned.
        
               | leakycap wrote:
               | > I prefer not to be in the habit of pressing footguns
               | given that I might occasionally be placed in front of a
               | consumers windows laptop that no one cleaned.
               | 
               | If you're this anxious about security, you might not want
               | to be anywhere near a Windows machine.
        
               | fnicfnac wrote:
               | I'm also looking forward to telling a driver that I never
               | I wanted to be near cars when they eventually run me
               | down.
        
         | akdor1154 wrote:
         | Yep, it definitely is well above 'basememt full of model
         | trains' on my (sadly far-off) list of retirement activities.
        
         | kees99 wrote:
         | That's the spirit! :-)
         | 
         | By the way, delving into obscure and hardware-specific kernel
         | code, sometimes yields quite interesting generally-applicable
         | problems. For example, @dougg3 did an (excellent!) series of
         | articles about his work on bringing mainline kernel support to
         | "Chumby 8", a somewhat obscure, but historically significant
         | piece of hardware, and as a side-quest he stumbled into this:
         | 
         | https://www.downtowndougbrown.com/2024/04/why-is-my-cpu-usag...
         | 
         | ...which is applicable to quite a few other machines.
        
         | antonok wrote:
         | If you want to find devices that still need hardware support
         | under Linux, I highly recommend trying to get a mobile Linux
         | distribution to work on an old smartphone or tablet.
         | 
         | postmarketOS in particular has a really good devices page [1]
         | showing missing feature support at a glance, as well as guides
         | for porting to new devices [2] and porting features from an
         | outdated vendor-provided Linux fork to the upstream kernel [3].
         | 
         | [1] https://wiki.postmarketos.org/wiki/Devices [2]
         | https://wiki.postmarketos.org/wiki/Porting_to_a_new_device [3]
         | https://wiki.postmarketos.org/wiki/Mainlining
        
       | turol wrote:
       | Hieno homma
        
         | vkoskiv wrote:
         | Kiitos!
        
       | indigodaddy wrote:
       | I like your website design! Have you documented the design/setup
       | anywhere?
        
         | vkoskiv wrote:
         | Thanks! 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/ [1]:
         | https://github.com/micahkepe/radion
        
       | ddtaylor wrote:
       | Great write up and easy to follow. I appreciate the extra details
       | related to related things.
        
       | jraph wrote:
       | 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.
        
       | whoami730 wrote:
       | Such a lovely read and extremely well written! Thanks for the
       | post.
        
       | alexchantavy wrote:
       | 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.
        
       | malkia wrote:
       | This was encouraging! Thanks for explaining the process!
        
       | bhasi wrote:
       | Well written! Enjoyed the detailed report.
        
       | eduction wrote:
       | 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.
        
       | tombert wrote:
       | 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.
        
       ___________________________________________________________________
       (page generated 2025-10-09 23:00 UTC)