Re: Xfree86 drivers versus kernel drivers

Tim Roberts <[email protected]>
Newsgroups gmane.comp.xfree86.devel
Organization Providenza & Boekelheide, Inc.
Message-ID <[email protected]>
Enrico Weigelt wrote:

>* Tim Roberts <[email protected]> wrote:
>  
>
>>Historically, the original Windows NT 3.x had the exact same design. 
>>Display drivers were actually user-mode DLLs that ran in a separate
>>process (called CSRSS).  Users complained about the task-switch
>>overhead, and so Microsoft moved display drivers into the kernel in NT
>>4.  It's still not clear this was a net win.
>>    
>>
>
>As far as I remember, the NT model was much more low-level than X11,
>so the percentage of data to pass through processes vs. data rendered
>within the display server was much worse than on X11. But I'm not an
>NT expert ...
>  
>

We're getting a bit far afield here, but I'm always willing to orate at
length on arcane topics of little interest to anyone.

The XFree86 approach is not all that different from the old NT
approach.  The Xlib application interface is similar to the GDI
application interface.  The XAA driver interface is similar in many ways
to the GDI driver interface.  The major difference is that, whereas X
crosses that gap by feeding X protocol through a socket (thereby
enabling client and server on different machines), NT crossed that gap
by using an RPC mechanism.

>BTW: could anyone point out if there are major differences between
>traditional xf86 and current Xorg ?
>  
>

In practical terms, there are no major differences.  X.org branched from
XFree86 at version 4.3.99, so at that point, they were identical.  I
would judge that there has been more activity on the source base since
then by X.org, but I may be out of touch.

>The Linux video drivers are their own layer. They provide lots of 
>low-level things, ie. device independent framebuffers access and 
>some rendering primitives. xf86/xorg - when running on GNU/Linux - 
>sits on top of it.
>  
>

Only in a fleeting way.  As I said, most 2D XFree86 drivers use the
kernel video drivers to map the frame buffer into memory, and nothing
else.  Last time I looked, the kernel video drivers did not expose any
graphics accelerator features at all, making them useless to XFree86.

-- 
Tim Roberts, [email protected]
Providenza & Boekelheide, Inc.
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.