Frequently Asked Questions

  1. Is Crust another try to replace X?
  2. Why not just contribute to Berlin instead?
  3. How is Crust different from [Berlin, X11]
  4. Will crust be network transparent?
  5. Will I be able to run X applications?
  6. Is this a CoreGraphics clone?
  7. GNU/Hurd + Crust + GNUstep = Aqua?

Is Crust another try to replace X?

I guess so.

Why not just contribute to Berlin instead?

The main reason is becouse I want to learn every aspect of creating a windowing system.

How is Crust different from [Berlin, X11]

I really don't know that much about Berlin, except that they take a very different approach than Crust. In berlin almost everything is handled in the server. This to increase the network transparency. Crust does the total opposite - it tries to put as much as possible in the client (i.e., in the client library).

When it comes to X: it has too many levels between the user and the hardware, which creates a lot of overhead. For example, look at the Gnome program-to-hardware interface:

  1. Device Drivers -- Handle keyboard and mouse input.
  2. X server -- Handles graphical screen output and obfuscates keyboard and mouse,
  3. Xlib -- A horrendously complex library for basic windowed graphics,
  4. Gimp Drawing Kit -- Quarantines the atrocious Xlib within a wrapper library.
  5. Gimp ToolKit -- Provides a set of widgets, or user interface elements, like text boxes, buttons, scrollbars, etc.
  6. Gnome -- Provides internationalization, audio support, the Gnome panel, standard keybindings, standard icons, etc.

I will try to decrease this the number of levels to three. (levels one and two are so tightly connected that they can be counted as one).

  1. Device drivers -- Handles graphic acceleration and framebuffer
  2. Surface server -- Handles onscreen surfaces
  3. Surface client library -- Provides drawing primitives, working on surfaces.
  4. Client library (for example GNUstep).

Will crust be network transparent?

No, not for native Crust applications. (See next question as well).

Will I be able to run X applications?

No, not really. But I have some ideas on implementing a rootless X-server that will make this possible. This will also add some form of network transparency.

Is this a CoreGraphics clone?

No!

GNU/Hurd + Crust + GNUstep = Aqua?

No!


Verbatim copying and distribution of this entire article is permitted in any medium, provided this notice is preserved.

Updated: 06 Sep 2001 jrydberg