4 ms·
I haven't written Windows drivers, so I cannot talk about your other points -- but you're not quite right on this one: > Windows doesn't require rebuilding the
by weland 11y ago
I haven't written Windows drivers, so I cannot talk about your other points -- but you're not quite right on this one:
> Windows doesn't require rebuilding the kernel to get device support for some vendor's hardware.
Neither does Linux. You have to compile the module (i.e. the driver itself), of course, but you can modprobe it without rebuilding the kernel. This has always been the case.
A long time ago (during the days of kernel 2.4 or so) there were people (ahem, mostly using Gentoo) who tried to shave off a few milliseconds when booting by building everything into the kernel so as not to waste time loading modules. In that case, sure, you have to rebuild the kernel, but that is not a common approach.
I... have to wonder, where did you get the idea? Back then (I was... um... I was also frequenting the Gentoo establishments...) Windows was our laughing stock because you had to reboot your computer when installing drivers.
- JoeAltmaier 11y agoWriting Infiniband drivers for Windows, Linux and Sun. So that dates me. It was trivial on Windows, difficult on Linux and impossible on Sun machines. I used to joke "Linux will never get widespread until they have a Have Disk button" meaning I can get a driver from a vendor with a push of a button during installation. Having to build anything is a distraction just to use a new device.
- weland 11y agoI don't think I ever rebuilt the entire kernel when writing Linux drivers. I dimly recall one instance when I was dabbling with/hooking through the network stack and had to do it for some reason, but I don't recall the reason. Then again, I didn't develop drivers for pre-2.6 kernels, so I may be missing something specific to your codebase. > I used to joke "Linux will never get widespread until they have a Have Disk button" meaning I can get a driver from a vendor with a push of a button during installation. The chasm between communities is remarkable :). At the time, I liked Linux for precisely the opposite thing: it came with all the drivers I needed out of the box. No fiddling with CDs and floppies after installation. Except for the odd device that required me to download a driver from the vendor's website (and even then I didn't need to reboot my computer, at least!) I was good to go. Whereas, after installing Windows on a PC, the first thing to do was spend an hour or so installing drivers for all that stuff that made it possible to have I/O more advanced than 640x480, 16 colors and PC speaker. Granted, though, my experience then was limited to desktop computers. Linux hardware support was far less diverse than it is today. There was no fiddling to do if you had stuff that was supported; but the chances of it being supported weren't always good.
- JoeAltmaier 11y agoI remember my first Linux experience. We were to use it at work, to create an embedded Linux device. So we loaded it on the dev machines. Ooops! It didn't support the advanced video cards - VGA-only. Ooops! It didn't support the RAID controller on the motherboard - so no mirrors. Ooops! It didn't support all the motherboard features - so half those connectors don't work. Well, at least we had good desktop software. Fire it up, open that doc to start reviewing specs. What is this? Every character in the doc displays in the upper-left corner of the screen as one mad spidery blob? Then hard crash the OS! We abandoned that after 2 days, went back to Windows (which supported everything) and ran a virtual machine for Linux dev.