i remember reading before that libusb really makes more sense as an architecture standpoint for usb drivers. its like the bluetooth stack. you just make a kernel driver for the usb host and connections, but as far as the specific bits for controlling the usb device. thats how bluetooth is done right now. apparently wifi driver would be better to be done that way too. even graphics drivers are kinda similar except proboboly a level higher up. kernel drm talks to the low level end of the graphics card, but the gallium/mesa stack does the translation work.
it would be nice if a lot more of the linux kernel moved to userspace as long as its reasonable. for instance fuse, i like the idea of fuse, i know old kernel hackers hate it and say its too slow, but it doesn't really have to be. it makes sense, the hard drive driver is all hardware, and it belongs in the kernel, but the file system is all how you prep the data to be sent to the drive, thats like gallium/mesa, and probobly should be done in userspace. the major advantage of userspace is how easy it is to upgrade it and much harder to crash the system. the downside is your further away from the kernel and less ability to verify or check the driver. microsoft went with basicaly a fully userspace driver model up through xp, and that is a testiment to how bad userspace driver CAN be, if you let it. also, a large part of linux's fully open source driver portfolio is directly attributed to how almost everything is kernel based drivers. by making it harder to make userspace drivers, you keep everyhting in the kernel, and things that are in the kernel are gpl and controlled by the kernel devs. if we had a windows xp like driver architecture, you would be getting your driver just like how you do with windows, get it straight from the vendors and they would all be closed source.
it would be nice if a lot more of the linux kernel moved to userspace as long as its reasonable. for instance fuse, i like the idea of fuse, i know old kernel hackers hate it and say its too slow, but it doesn't really have to be. it makes sense, the hard drive driver is all hardware, and it belongs in the kernel, but the file system is all how you prep the data to be sent to the drive, thats like gallium/mesa, and probobly should be done in userspace. the major advantage of userspace is how easy it is to upgrade it and much harder to crash the system. the downside is your further away from the kernel and less ability to verify or check the driver. microsoft went with basicaly a fully userspace driver model up through xp, and that is a testiment to how bad userspace driver CAN be, if you let it. also, a large part of linux's fully open source driver portfolio is directly attributed to how almost everything is kernel based drivers. by making it harder to make userspace drivers, you keep everyhting in the kernel, and things that are in the kernel are gpl and controlled by the kernel devs. if we had a windows xp like driver architecture, you would be getting your driver just like how you do with windows, get it straight from the vendors and they would all be closed source.
Comment