[Xorg] The big multiconsole nasty

Egbert Eich eich at pdx.freedesktop.org
Wed Jul 7 05:45:19 PDT 2004


Jon Smirl writes:
 > Mode setting code is large. If you add up everything for the radeon it
 > is about 100K. Parts of this need to be in the kernel. For example the
 > Linux kernel has a well defined framework for I2C (used to retrieve
 > DDC). The IOCTL that actually sets the mode bits into the registers
 > should be in the kernel to remove the need for X to be root. But those
 > two things add up to about 5K of code. The rest of this code is open to
 > debate where it goes. There are definitely two groups on whether the
 > rest of this code goes into the kernel or into a library. 

The Linux kernel does. What about the other OSes? 

Today many drivers run the BIOS to retreive DDC data.
All that takes place in userland.

 > 
 > Mode setting on dual head cards means you also have to deal with memory
 > management. Changing the mode can cause the buffers to resize. Setting
 > a mode is useless without a buffer to display from so you have to deal
 > with this problem. fbdev has avoided this issue by only supporting a
 > single head.
 > 
 > But now introduce OpenGL. OpenGL supports double buffering with page
 > flipping on each display. It needs depth buffers, aux buffers, texture
 > memory etc. If you go full screen on a video you may want to switch to
 > a different framebuffer. OpenGl can discard and move these buffers too.
 > 
 > These are just some of the things that need to be considered when
 > designing the mode setting code. I haven't even touched on the boot
 > display and kernel printk. From what I know, mode setting is going to
 > be the hardest API to design.
 > 

Basic mode setting code does not have to deal with these issues.
They need to be implemented on top of it.

Egbert.




More information about the xorg mailing list