Competitors




Some people have attempted writing alternatives to and replacements for X. Historical alternatives include Sun's NeWS and NeXT's Display PostScript, both PostScript-based systems supporting user-definable display-side procedures, which X lacked. Current alternatives include:

  • macOS (and its mobile counterpart, iOS) implements its windowing system, which is known as Quartz. When Apple Inc. bought NeXT, and used NeXTSTEP to construct Mac OS X, it replaced Display PostScript with Quartz. Mike Paquette, one of the authors of Quartz, explained that if Apple had added support for all the features it wanted to include into X11, it would not bear much resemblance to X11 nor be compatible with other servers anyway.
  • Android, which runs on the Linux kernel, uses its own system for drawing the user interface known as SurfaceFlinger. 3D rendering is handled by EGL.
  • Wayland is being developed by several X.Org developers as a prospective replacement for X. It works directly with the GPU hardware, via DRI. Wayland can run an X.org server as a client, which can be rootless. A proprietary port of the Wayland backend to the Raspberry Pi was completed in 2013. The project reached version 1.0 in 2012. Like Android, Wayland is EGL-based.
  • Mir is a project from Canonical Ltd. with goals similar to Wayland. Mir is intended to work with mobile devices using ARM chipsets (a stated goal is compatibility with Android device-drivers) as well as x86 desktops. Like Android, Mir/UnityNext are EGL-based. Backwards compatibility with X client-applications is accomplished via Xmir.
  • Other alternatives attempt to avoid the overhead of X by working directly with the hardware; such projects include DirectFB. (The Direct Rendering Infrastructure (DRI), which aims to provide a reliable kernel-level interface to the framebuffer, mightcitation needed make these efforts redundant.)

Additional ways to achieve a functional form of the "network transparency" feature of X, via network transmissibility of graphical services, include:

  • Virtual Network Computing (VNC), a very low-level system which sends compressed bitmaps across the network; the Unix implementation includes an X server
  • Remote Desktop Protocol (RDP), which is similar to VNC in purpose, but originated on Microsoft Windows before being ported to Unix-like systems; cf NX, GotoMyPc, etc.
  • Citrix XenApp, an X-like protocol and application stack for Microsoft Windows
  • Tarantella, which provides a Java-based remote-gui-client for use in web browsers

Comments

Popular posts from this blog

History

Limitations and criticism

Implementations