Xserver needs to run as "root" on Linux / was: Re: [Xorg] Server side widgets

Jon Smirl jonsmirl at yahoo.com
Mon Jul 12 19:22:53 PDT 2004

--- John Dennis <jdennis at redhat.com> wrote:
> Maintaining optimal performance while balancing the balance of labor
> between a driver and user level rendering process is tricky. How do
> you propose to migrate things to a driver without degrading
> performance in the general case?
> The problem is that the transition between system and user is
> expensive and if the operations performed by the driver are too 
> small and fine grained you're going to kill performance.

It may be the case that we are better off leaving the 2D cards handled
by XAA alone. This work is primarily aimed at DMA based 3D cards with
DRI support. 

On the other hand, a composited windowing system may completely change
the performance profiles. For 2D cards it will probably be better if
the application windows are drawn into system memory. Then only the
compositing step would touch the video memory. 

For 3D hardware it is better if the app windows are in offscreen video
memory where hardware assisted drawing can be used. These are also the
cards with DMA control.

In this model the 2D video driver only needs to very efficiently
support the Porter-Duff compositing operations. All of the commands to
build a screen will also be batched together since compositing implies
double buffering. It may be possible to issue on a single IOCTL per
screen if the IOCTL contains a list of rectangles in system memory that
need to be composited.

I've asked Keithp about how damage is going to work in a double
buffered system where the main screen you want to update is one frame
behind. He's still thinking about the answer.

No one has done any work in this direction on 2D hardware. Most of the
focus is on the 3D cards.

Jon Smirl
jonsmirl at yahoo.com

Do you Yahoo!?
Yahoo! Mail - Helps protect you from nasty viruses.

More information about the xorg mailing list