Hacker News new | ask | show | jobs
by rhencke 2867 days ago
I believe one of the reasons Linux continues to be successful today is _because_ they keep the drivers in mainline _without_ a stable API.

It is a key motivator to ensure drivers remain available and supported well into the future of Linux.

3 comments

Which given the way legacy AMD drivers story has been handled on Ubuntu, it is quite far from actually being so.

My Asus Netbook no longer gets all the acceleration options that it used to have pre 16.04.

Linux is successful because it is a free beer UNIX clone.

You still have the source to the old drivers. It's just not a priority for others to support anymore, but you have the means to go add that support yourself, or pay a third party to do it for you.

Contrast with when windows changed the video driver architecture in Vista, and the only option you had was to pound sand.

Seems like a pretty easy cost/benefit analysis to me:

I can either spend thousands of dollars worth of my time on updating the driver, or I can pay someone else thousands of dollars to do it. Or I can spend a fraction of that on a new video card.

Seems like the only solution for Vista users is the only solution I'd ever have gone with, anyway.

Sure the cost/benefit works out the same for you (which is why no one has done the work), but that's different from the full set of options available to you in both cases.
How expansive do we want to be about what the full set of options is, though?

I tend to fall on the side of the root poster - if having a stable driver API means Linux gets more commercial driver support, then that's the one that has the highest cost/benefit in my book.

In practical terms, being able to hack on open-source drivers isn't particularly useful to me, but having an easier user experience with Linux on the desktop (and, more generally, having Linux on the desktop be something more than an also-ran) would benefit me immensely.

I skipped Vista, however my XP drivers were fully supported on the upgrade to 7.
Some xp drivers work on 7, most don't. Also unlike user space, you cannot run 32 bit drivers on 64 bit windows, so unless you were running 32 bit win7 you needed 64 bit xp drivers, which were rare. Are you sure you explicitly installed xp drivers and didn't just happen to have hardware where windows shipped matching drivers or could download them from the windows driver database? (Or downloaded an installer bundle from the manufacturer's website that just contained drivers for all supported platforms..)
Womp womp. Most of those netbooks are unusably slow anyhow, and were when they were brand new too. Run an older kernel on there and call it a day.
Sorry but a DirectX 11 class dual core APU is good enough for general purpose gaming.

And runnig legacy kernels? No thanks.

Which GPU is it specifically?
AMD Fusion Brazos APU, Radeon HD 6250
Certainly looks supported by /dev/radeon, just not /dev/amdgpu.
Linux on the desktop would have succeeded with a stable driver API. Having hardware with closed source drivers supported could have being a walk in the park for OEMs. Bad 3D, wireless, etc. support is what killed Linux. OEMs would have probably made more and better drivers if they didn't have to make changes to them every few months or go through the effort of releasing and mainlining the source.
This is your opinion. The opinion of informed observers who are actually doing the work is the opposite - OEMs produce buggy, incomplete drivers and don't care to fix the bugs. In fact, given the choice, they don't want to allow anyone else to dig into their drivers because doing so can only lead to embarrassment. Plus exploits that are discovered are likely to be cross-platform exploits.

Any operating system that wishes stability therefore has to put barriers between themselves and the driver. And, preferably, should use drivers that they can audit themselves rather than trusting OEMs.

As an example of this outside of the open source world, the biggest reason why Windows used to have a reputation for BSODs is that they were dependent on third party drivers. Windows made it harder for third parties to take down their OS, shipped tools to audit drivers for bugs, and forced OEMs to clean up their act. (Which they didn't do voluntarily.)

Three words:

Creative Fucking Labs.

Someone told me back then that the sound blaster drivers were responsible for more crashes than the next several causes combined, so I started watching and I’ll be damned if I didn’t see the same thing.

If I remember well, there was a sound card which talked on the PCI bus after it should have stopped talking, these kind of bugs can break any OS, microkernel or not..
It's better to have buggy, incomplete drivers than no drivers at all.
If you control the desktops and take strong measures to stop horribly-buggy drivers from working, 95% of manufacturers will fix the drivers because they want to sell the product.

In that tradeoff, I'll easily pick the marginally smaller market with vastly better drivers.

This is your opinion. I prefer using hardware with stable drivers, working reliably.
That's why I use a Mac. Seems like a good solution is to have the OS and HW manufacturer to be one and the same.
On the flip side, there are vastly fewer drivers. I can plug a random USB device into a Linux system and the chances are it just works. Same with Windows, though it might require the driver installing first. MacOS might not have any driver at all.
That's not what I said. Would you rather have no hardware or hardware that BSODs once a month?
That's a false dilemma.

The actual choice is whether to have limited hardware choices or hardware that crashes regularly. Put that way, it is obvious to me that limited hardware is the right answer.

Why? Because what I care about is having a system that works well for me. Limited choices are fine as long as I can determine in advance whether the system that I'm considering will work. (I usually can.) So now my choice boils down to, "Do I want to be able to buy a reliable system, or be forced to put up with a buggy one?"

Put that way, who wants to be forced to put up with bugs?

> Linux on the desktop would have succeeded with a stable driver API.

I doubt it. Linux desktop's problems run far, far deeper than that one questionable choice.

So we should have two numbers, actual kernel, whole tree.

I am quite convinced that if they kept it that way it was because some unplanned property caused worse driver status with an API; too many delays, improper usage I don't know.

If there's no solid reason, then I'd be happy to have split codebases.