Event details
Kernel Mode Setting - a Change in Paradigms for the Graphics Driver Stack.
von Egbert Eich (X.Org)
Saturday, 12.06.2010, London, 11:00-11:30 Uhr
For many years the X Window system has been the only major player in providing a base for GUI applications on Linux and other U*IX like operating systems. The fact that hardware drivers for graphics were part of the X Window System server and thus operated from user has space ensured that it's implementation as provided by X.Org (and before by the XFree86 Project) was portable to many OSes. The fact that the graphics drivers didn't run in kernel space led to a number of drawbacks especially with 3D acceleration. At the same time there was a graphics driver stack in the Linux kernel called 'fbdev' which only gained limited relevance and didn't really meet the challenges of state-of-the-art graphics hardware. Furthermore it was completely separated from the 3D driver stack (DRM) in the Linux kernel. To overcome many of those shortcomings a project called 'kernel mode setting' (KMS) was started to integrate a mode setting driver stack and a graphics memory manager with the DRM stack that had already been part of the Linux kernel for quite some years and take advantage of the lessons learned from recent mode setting and on-the-fly configuration projects in X.Org - namely XRandR. This talk is to give an overview over KMS, it's benefits and it's implementation both from the kernel and from the user space point of view. In the first part we will look at the benefits that KMS will bring over earlier technologies. In the second part we will take a look at the KMS API that is visible from user space and look at how this is integrated into a driver for X.Org. In the third part we will take a brief look on how a KMS driver is implemented in the kernel.
Über den Autor Egbert Eich:
Born in 1966 Egbert Eich studied physics at the Technical University Darmstadt where he graduated from in 1993. While working at the university he got involved with various flavors of UNIX. He discovered Linux in 1992.
In 1996 he started driver development for the X Window System from there he expanded the scope of his work to other pieces of the X Window System by implementing some corner pieces of the DDX (device dependent part) which allowed the support of multiple graphics cards. Among them are the resource management, the BIOS initialization, and DDC. He was also involved in the design and development of X Extensions and worked on the client libraries.
In 2000 he joined SuSE GmbH where he has been working since to improve X. 2004 he helped bootstrap the X.Org Foundation. In the same year he was elected to the X.Org Bord of Directors.
