Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

Recently I install a graphic device driver in Linux, I found that is only dozens of KB. But that is dozens of MB in windows. I wonder why?

share|improve this question
5  
What driver? What files did you compare exactly? –  scai Jun 21 '13 at 6:31
5  
Some Windows drivers come packaged with large userspace utilities while their Linux counterparts do not. Are you counting those utilities in your size measurements? –  paraxor Jun 21 '13 at 12:29
    
For example, graphic device it looks really small, but in windows it's much bigger –  Matthewgao Jun 25 '13 at 7:24

2 Answers 2

The kernel drivers for Linux (the .ko files) will only handle hardware access as well as some basic functionality.

For graphics drivers, that would be

  • text mode
  • framebuffer graphics mode (including simple 2D acceleration like "copy this area")
  • an interface to the render command queue

all of these can be implemented in a few kilobytes, especially when other components are reused.

Complex operations like OpenGL rendering, Shader compilation and submission, etc. are not handled in the kernel, as that would jeopardize system stability. Rather, these are handled in a separate process, usually either the X server or a program using 3D graphics, and then a list of commands is sent to the driver, which simply passes it on to the card. Again, this driver heavily reuses components.

Under Windows, the philosophy is to squeeze all of this into the kernel module (.sys) as there is no benefit from componentizing (the various vendors do not generally work together).

share|improve this answer

well that would be because most of the driver files required will actually be there in Linux so that's why not many files required for that graphic device. where as for Windows, those device drivers might not be included in the core so that's why more driver files are required. Hence, Bigger size.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.