This clear-cut distinction between the kernel and user-space programs has been very
difficult to maintain when implementing X servers.
The problem is that video cards vary enormously in terms of their GPU capabilities
and general architecture. It??™s hard to create a simple, well-defined interface between
a video driver in the kernel and an X server in user-space that will work well for all
video cards, though several attempts have been made. And of course the X server is
too large and complex to safely place it directly into the kernel.
As it stands now, most kernel/X server combinations??”including Linux with the
X.org server??”pretty much give the X server free reign when it comes to video card
access, though some of the card drivers (such as the NVIDIA closed-source driver)
use a small kernel module to assist them.
This will likely change in the future. The X server may eventually operate as one (of
perhaps many) OpenGL clients, removing direct hardware access from the X server
entirely. The Xgl server provides a preliminary implementation of this approach.
25
Chapter 2 2
Starting a Local X Server
2.1 One Size Doesn??™t Fit All
An X server can be started in different ways to suit different types of use.
Pages:
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65