| ▲ | blue_pants 9 hours ago | |
But couldn't we do something about that as well? Couldn't drivers be built on some abstraction that would simplify some work? I have zero knowledge about this area though | ||
| ▲ | marcosdumay 7 hours ago | parent | next [-] | |
If you want multiplatform drivers that you can use to plug your device into computers of any architecture, there are abstractions for that. IMO, it's easier to write 3 or 4 versions of your driver than to use them, but they exist and some people really like them. If you mean standard logical interfaces, those exist. Also, hardware interfaces are highly standardized. The problem is that the drivers are exactly the code you write to make all the abstractions fit each other. So there is very little you can do to abstract them away. | ||
| ▲ | acedTrex 9 hours ago | parent | prev | next [-] | |
I'm sure the hardware folks will be lining up to cooperate with the annoying software engineers giving them abstract constraints lol | ||
| ▲ | scottLobster 9 hours ago | parent | prev | next [-] | |
If you could get every hardware manufacturer in the world onboard with such an interface, perhaps. But even if 90% of them were onboard there would be edge cases that people and companies would demand support for and there goes your standard. Drivers exist to ultimately turn actual hardware circuits off and on, often for highly specialized and performance-critical applications, and are often written based on the requirements of a circuit diagram. So any unified driver platform would also involved unified hardware standards, likely to the detriment of performance in some applications, and good luck telling Electrical Engineers around the world to design circuits to a certain standard so the kernel developers can have it easier. | ||
| ▲ | ssrc 8 hours ago | parent | prev | next [-] | |
If you are ok with the performance you can obtain from an FPGA, you could do it now. Look at FPGA hardware-software co-design and related stuff. If you mean, in general, for the hardware that already exists, that's what the HAL (Hardware Abstraction Layer) of the operating system tries to do. | ||
| ▲ | gf000 an hour ago | parent | prev | next [-] | |
FWIW android has HAL which is just this. | ||
| ▲ | ModernMech 8 hours ago | parent | prev | next [-] | |
Somebody somewhere has to do the work of making sure everything works together. Right now that's the OS. You're proposing moving that work to a standards committee. Either way, the problem persists. You either do that or go the Apple way which is to vertically integrate the wholes stack from hardware to software, but then you have Apple's problem, which was lower hardware compatibility. | ||
| ▲ | Ygg2 9 hours ago | parent | prev [-] | |
> Couldn't drivers be built on some abstraction that would simplify some work? That's like asking the alchemist to publicly publish their manuscripts. In an ideal world, yes. However, we don't live there. Until a few years ago, GPUs and other drivers were guarded more carefully than the fucking Fort Knox. Once you publish your drivers, you reveal a part of the inner workings of your hardware, and that's a no-no for companies. Plus, what the other commenter said - getting hardware guys to design for a common driver interface is probably not gonna get traction. | ||