
This post has been prompted by the "Computer issues with Linux" thread, It appear to me that some are unsure how linux works in this area these days. This explanation is what one may call a generic approach to what the Xorg graphics developers are aiming for, although most current open source drivers do work this way. The driver for each card/family of cards is made up of three separate drivers. First is the actual kernel part of the driver this is call KMS (Kernel Mode Switching), the second part is the standard xorg video driver. The third part is the mesa dri (3D) driver. Now on most modern cards the standard xorg and the dri driver are linked to some degree. THis is because the default xorg architecture expects the card to have a separate 2D and 3D controlers, where as most current cards only use a single 3D graphics (__VERY__ complex) engine. The kernel KMS driver has all the intertface specfic to the set up of a particular card and this driver does all the setup of the card. Often this driver requires access to a binary blob that contains the basic commands for the cards engine. This driver is usually specfic to a particular card THe other two drivers are generally made for a "family of cards". Note this was a major reason for the spitting off of the KMS driver as with the setup of the card extracted to the kernel, it left the developers a __far__ easier task to actual do the graphics programming as at this level the programming interface does not usually change much as card design moves forward. On start up __if__ KMS is enabled the kernel __will__ try and setup the card and the console will switch to a graphics mode, most modern distributions including debian are set up this way. It is possible to stop the KMS being setup, unfortunately exactly where this resides in the system has slipped my mind. Hmmmm, stop press........ For the radeon open source driver this is controled (in debian) by the file /etc/modprobe.d/radeon-kms.conf If this is set up as "options radeon modeset=1" it will cause the kernel to activate the apropriate KMS driver in the kernel. Hope this explanation is clear..... Lindsay