[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)