[...] > Perhaps some sort of side project can be started to > look at a generic > way of making device driver sources from Linux and > the BSDs work with > the OpenSolaris kernel (as separate Solaris modules > so there are no > clashes between the CDDL and GPL/BSD licenses.) Most > of the devices are > block or character mode, so perhaps some sort of > compatibility framework > could be built? Linux certainly has a lot more > supported drivers for > hardware than opensolaris, if there was a way to port > a majority of > those drivers, we wouldn't have to rely on Oracle for > them, nor would we > have to rewrite them all from scratch if there was > some compatibility > layer. Granted not everything would work immediately > out of the box, > but for stuff like USB and PCI devices, as long as it > doesn't depend on > too many things inside the Linux or BSD kernel, it > might work. (And > those callbacks could be implemented in another > layer.) I recall about > 5-10 years ago the idea of a captive driver on Linux > where you could use > windows NT drivers under Linux, for example.
Solaris x86 AFAIK could use _some_ Windows drivers with a similar approach, in particular network drivers. This has been done, and might be ok for desktops, but might not be reliable enough for anything else. See http://en.wikipedia.org/wiki/Network_Driver_Interface_Specification and then http://hub.opensolaris.org/bin/view/Community+Group+laptop/ndis I think that people had decent luck with it for 32-bit OS and drivers for laptop WiFi support, but there was some problem with register usage convention differences or something like that making it unlikely to get 64-bit OS+drivers to work. Beyond that, there was a broader framework, the Uniform Driver Interface, intended to work cross-platform on a variety of Unix-like OSs. It never really caught on, perhaps in part because the Linux/GPL fanboys thought it would lead to either others using their work or to a proliferation of portable but closed drivers. See http://wiki.osdev.org/Uniform_Driver_Interface I _think_ that at one time there was some experimental code to implement UDI for Solaris, but I'm having a tough time finding the latest version of the reference implementation, let alone whether the UDI code for Solaris was ever released. Anyway, I doubt there are enough drivers available for UDI to be worth it, and likely no new ones. Even aside from getting people to realize that _everyone_ benefits from portable drivers (except maybe the ideological purity fanatics), there's also the chicken-or-egg problem, like with alternative fuels: who is going to build the cars (drivers) unless the fuel stations (OSs) are there, but who is going to provide high quality performant OS support unless the drivers are there? And of course no portable interface will be a perfect match for any system, so that there will be _some_ performance hit, or inability to take advantage of advanced OS or hardware features, or something like that. If it were easy (technically, but even more getting the cooperation), we'd probably be using something like that already. -- This message posted from opensolaris.org _______________________________________________ opensolaris-discuss mailing list opensolaris-discuss@opensolaris.org