Hacker Newsnew | past | comments | ask | show | jobs | submitlogin

Patching up the kernel to get some sound coming out of the speakers.. Very on brand for Linux.


How do you know somebody has no idea what they're talking about? They'll tell you.


deep


Show us on the doll where they’re wrong.


I'm guessing it's the fact that linux has in-tree drivers, so you necessarily need to "patch the kernel" in order to write/fix a driver for a non-standard compliant device?


I can’t see any blocker to publishing this as a prebuilt kernel module honestly.

For driver developers the above where you rebuild the kernel is a necessary step in developing the driver but now the above is done someone should make the trivial next step to make this into a prebuilt kernel module which are trivial to install for end users with no rebuild/reboot required. (I have built kernel modules before but I don’t have this laptop myself, sorry!).


How else is that supposed to work?

You either fix a driver in the kernel or a driver outside the kernel, it's not going to make that big of a difference to the person who has to fix it.


The difference is that the end user doesn't have to do it. Someone else is going to do it. Just like it is on Windows.


That only works because Windows has a large marketshare, the day it drops to 10%, users will have to write their own drivers as well


I was highlighting this as a similarity between them, but I see how my comment can be ambiguous. The average Linux user isn't currently writing their own drivers or compiling their own kernels, even with its tiny relative userbase.


I think the original comment was suggesting that Linux typically has end-user visible bugs like sound not working, not commenting on where they live.


That's how it works in Linux land for two reasons. One, drivers live in the kernel (roughly). Two, Linux is aftermarket for many hardware, in which cases there's hardware first, then the support.


I agree. I can’t see any reason this couldn’t be packaged as a prebuilt kernel module so end users can trivially install it. The instructions and code here can be used to build the kernel module.

I don’t have this laptop but have built kernel modules in the past to give context. It’s a tiny step to publish this as a kernel module so end users can trivially install this (this reduces the instructions to downloading one file, running one command, with no reboot or rebuild needed) so it’s quite reasonable to call this out and ask someone to do it.

It’s a bit like publishing a windows driver as raw source code. Great work but there’s no reason not to ship the prebuilt driver right?


Some device classes can be supported in userspace because no matter how an adversarial driver might get the device to misbehave, it cannot possibly break the kernel's security model. This might even apply to some audio devices, depending on how exactly they're hooked up to the rest of your system. But the more typical devices, especially those in your average SoC and those connected to a PCIe bus or the like, have full privileges within the system and will need kernel-level support for the foreseeable future.


Kernel modules absolutely run in kernel space though.

I’ve literally written kernel modules for high speed networking devices that have full access to the memory bus and enumerate pci devices. There’s no userspace or kernel space question here. It’s merely a matter of someone turning this into an easily installable kernel module


Kernel modules are not going to be "easily installable" anyway because their whole purpose is to poke at kernel-internal structures that will change all the time as the kernel evolves. With source code, you'll hopefully get notified if there is breakage - the module fails to build and you need to forward-port it to the current kernel.


They have great stability between kernels by design. Better than Windows dll based drivers IMHO.

As someone who actually writes drivers I'm a little frustrated at this whole thread with people claiming Linux drivers have to be distributed this way.

Kernel modules exist for a reason, literally to allow end users as easy and as forwards compatible of a way to install drivers as windows dll based drivers. This whole thread has a lot of know nothings chiming in if I'm blunt.


> I can’t see any reason this couldn’t be packaged as a prebuilt kernel module so end users can trivially install it.

I don't think you have to be the original developer to create packages one can distribute. Go for it!

From TFA:

> This guide is currently for Linux kernel version 6.17.8. It will be updated for future kernel versions as they are released, until the fix is fully integrated into the kernel.

So it sounds like the plan is to get it into the mainline kernel, at which point it will get to all the distributions. So I sent see the problem here.




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: