Hacker News new | past | comments | ask | show | jobs | submit login

That's because your operating system handles drivers for you these days...

You wouldn't be typing that comment if it weren't for drivers responding to interrupts and polling pressed key codes.

The reason your OS updates is often to update those very same drivers.




Sure the OS handles drivers. However, nearly all USB peripherals we use every day are 100% standardized – or at least their core functions. USB HID Class, USB Audio Class, USB Video Class.

Three things have special drivers (on Windows) in my current setup: The various USB controllers (inside the laptop and the Thunderbolt dock), the USB Ethernet controller in the Thunderbolt dock and the Bluetooth controller. That’s it. Keyboard, mouse, webcam, audio, even my wireless headset: All generic drivers.

This all means the devices themselves must implement the appropriate abstraction on top of their specific hardware.


> Keyboard, mouse, webcam, audio, even my wireless headset: All generic drivers.

Not if the vendors have their way. I plugged in an external Logitech mouse to my locked-down, corporate, non-admin permissions laptop only to see Windows automatically install a Logitech mouse utility. Not entirely sure what it does, but it also added a constantly running Logitech update service.

Given the strong security track record of hardware companies, I am sure it is fine that they get to automatically install software without any approval from me.


That’s something slightly different though. Microsoft had this crappy idea that drivers are no longer just drivers but instead you’ll also get all the usermode software you never wanted automatically.

IIRC you cannot disable this behavior without entirely disabling driver installs/updates from Windows Update.

The mouse itself would still work without it.


Your remark at the end breaches Hacker News guidelines.

And yes, there is a driver, but there is a difference between a generic PnP driver and the kitchen sink drivers that companies like NVIDIA ship.


Thanks, fixed.

> And yes, there is a driver, but there is a difference between a generic PnP driver and the kitchen sink drivers that companies like NVIDIA ship.

Yes, but I said "driver" not "kitchen sink driver".


Right, but look at your original comment?

> What about keeping hardware I/O thin, and handling "quality, reliability, and interoperability" at driver level?

Almost all operating systems come with a generic, PnP driver, that can handle most things with a meh-OK level compatibility. For example, the Windows 11 generic driver for Intel graphics causes a black bar on the bottom of my 4K screen until I install the official, everything-and-the-kitchen-sink, Intel driver for my device; but it's serviceable.

I would dream of a world where everything was handled by firmware in-device, so that we wouldn't almost ever need anything more than the basic PnP drivers that come with the OS (even though we are nowhere near that yet). You are asking why we can't go back to having customized drivers for everything. If we could have generic drivers for everything, making new operating systems for hardware would be so much easier, and we wouldn't need to fork the kernel a bajillion times for everything. Niche operating systems like FreeBSD, Haiku OS, Redox, ReactOS - they would also become so much more usable considering they'll never have the manpower to write a proper driver for every device.

On top of that... drivers rarely survive operating system refactoring. Linux doesn't have a stable driver interface at all between versions - so it's either get your drivers upstream past nitpicking and sometimes political maintainers - or keep your proprietary fork up-to-date until you get bored because you've got a new product out this year (story of almost every cheap Raspberry Pi clone board). Windows has a stable driver interface... but they still change it every few releases (Vista was a big one, 10/11 are going in on DCH), and you can't use your Windows XP drivers on Windows 11 [Note]. Firmware-on-device means that if your driver doesn't get maintained or updated, you aren't SOL.

[Note] This is also why... "what's with hospitals still using Windows XP?" Well, their software only runs on Windows XP, and often, the drivers only run on Windows XP; so even if the software could run on Windows 11, it couldn't talk to the medical device, which could cost... tens of thousands to replace.




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

Search: