Fact-checked by Grok 2 weeks ago

X server

The X server is the core display server component of the X Window System (commonly known as X11), a network-transparent windowing system designed for graphic displays that enables multiple client applications to share access to input and output hardware devices such as keyboards, mice, monitors, and video adapters. It operates as a controller process, multiplexing hardware resources among clients while handling rendering, event processing, and communication via the X protocol, allowing applications to run locally or remotely across networked machines. Developed initially in the mid-1980s at the (MIT) as part of , the X server provides the foundational infrastructure for graphical user interfaces in Unix-like operating systems, supporting features like overlapping windows, color displays up to 32 bits deep, and extensions for advanced functionality such as security and font management. In the client-server architecture of the , the X server acts as the intermediary between and software clients, listening for connections over transport mechanisms like TCP/IP or Unix domain sockets and enforcing access controls through protocols such as MIT-MAGIC-COOKIE-1 to ensure secure interactions. Clients, which can include window managers, desktop environments, or individual applications, request graphical operations from the server without direct access, promoting modularity and portability across diverse computing platforms from terminals to modern setups. This design originated from the need to support collaborative computing environments in academic and research settings, evolving through releases like X11R6 in 1994, which introduced and better . The open-source implementation of the X server is maintained by the , in collaboration with the community, ensuring ongoing compatibility with contemporary hardware while incorporating extensions for 3D graphics (via ) and input device handling. Although successors like have emerged for newer systems, the X server remains widely used in distributions, embedded systems, and legacy Unix environments due to its robustness and extensive ecosystem of compatible software.

Overview

Definition and Purpose

The X server is a software program that functions as the display server within the , a framework for graphical user interfaces on operating systems. It manages access to display hardware, such as graphics cards and screens, as well as input devices including keyboards and mice, while handling user interactions in a client-server architecture. The primary purpose of the X server is to enable client applications to render , process input events, and manage windows in a platform-independent manner, supporting both local execution and remote access over networks to facilitate multi-user and . This design allows applications to operate without embedding hardware-specific details, promoting portability across diverse systems. Central to its design are key characteristics such as , which permits clients running on one machine to output on a remote X server as if local; device independence, ensuring compatibility with varied and input hardware without requiring application changes; and the separation of logic from core application functionality, allowing developers to focus on while the server handles and event management. For example, when a user moves a , the X server intercepts the input, translates it into events, and relays them to connected client applications, which then request updates like redrawing a on the screen, all while abstracting the underlying hardware details.

Role in the X Window System

The X server forms the core of the 's client-server architecture, acting as the intermediary that manages access to display hardware and input devices while processing requests from one or more client applications. Clients, which are typically graphical applications, connect to the server over network sockets using a reliable duplex byte stream , sending commands to draw pixels, create , or query device states, which the server then executes on the physical display. This separation enables , allowing clients to run on remote machines while rendering output locally on the server's display. A key enabling feature of the X server is its support for multiple simultaneous clients, which it handles through of requests and demultiplexing of responses, ensuring efficient resource utilization without interference between applications. It facilitates resource sharing among clients, such as fonts and colormaps, by allocating unique identifiers to these objects and managing their lifecycle to prevent conflicts. Additionally, the server dispatches asynchronous —like key presses, mouse movements, or exposures—to the appropriate clients based on window ownership and event selection criteria, maintaining a responsive model. The design philosophy of the X server emphasizes modularity and simplicity, offloading higher-level rendering and policy decisions to clients rather than incorporating them into a monolithic structure, which contrasts with integrated systems and allows for interchangeable toolkits and extensions. This approach promotes flexibility, as the server neither dictates window appearance nor imposes behavior policies, leaving such aspects to individual clients or external window managers, though it may necessitate compositing layers for advanced effects.

History

Origins and Early Development

The originated in 1984 at the (MIT) as part of , a collaborative initiative between MIT, , and to develop a for educational purposes across Unix workstations. aimed to provide campus-wide access to computing resources, including a network-transparent to enable sharing of graphical applications among multiple bitmap displays without vendor-specific dependencies. This effort addressed the growing need for a unified interface amid emerging proprietary systems like SunView, which lacked broad portability. Key developers Robert W. Scheifler from MIT's Laboratory for Computer Science and Jim Gettys from initiated the project in early 1984, motivated by the requirements of the distributed programming system for debugging tools and Athena's demand for a scalable windowing solution on VAX/Unix hardware. Scheifler led the core implementation, adapting code from Stanford's by replacing its synchronous protocol with an asynchronous one to improve performance and network efficiency. Gettys focused on the C programming interface and overall coordination, ensuring the design prioritized device independence and extensibility. Early technical decisions emphasized a minimalist to promote portability across architectures, avoiding tight coupling to specific operating systems or while supporting basic and event handling on displays like the VS100. The initial implementation targeted Unix on VAX systems, with output capabilities integrated for devices such as Imagen printers to handle text and simple . Advanced features like color support were deferred to maintain simplicity and focus on core functionality for distributed environments. X was first released on June 19, 1984, as announced by Scheifler in an to the Athena community, marking the system's debut with a primitive , , and I/O interface, achieving roughly twice the performance of its predecessor . This early version served as an experimental foundation, rapidly adopted by MIT's Laboratory for Computer Science for application development.

Key Milestones and Versions

The transition from X10 to X11 marked a pivotal in the X server's . X10, released in 1985, introduced multi-display , enabling the system to manage graphics across multiple screens simultaneously. This version laid groundwork for networked windowing but lacked a fully defined . In September 1987, X11 was released, establishing a stable, versioned that has remained the core standard since. The formation of the X Consortium in January 1988 centralized governance and accelerated advancements. As a non-profit entity funded by industry members and led initially by Robert Scheifler, it took over stewardship from to ensure neutral, collaborative evolution of the . Under its direction, X11R6 arrived in May 1994, incorporating internationalization features for multi-language support and integration of fonts to improve text rendering across diverse hardware. The shift to open-source models in the 1990s expanded accessibility, particularly for PC hardware. The project, initiated in April 1992 by developers including David Dawes and Thomas Roell, focused on optimizing X for x86 architectures, providing free drivers and enhancements that became essential for and other systems. Licensing disputes in 2003-2004, centered on restrictive changes to the XFree86 , prompted a , leading to the creation of the in early 2004. X.Org promptly released X11R7 in December 2004, adopting a modular that separated components like the server, libraries, and drivers for easier maintenance and vendor contributions. In recent years, the has emphasized maintenance and compatibility amid the rise of alternatives like . Version 21.1, released in October 2021, introduced mature build support, Glamor acceleration in virtual framebuffers, handling, and enhancements for Xwayland to better integrate with compositors. By 2025, ongoing releases such as 21.1.20 in October addressed security vulnerabilities, including fixes for issues like improper input validation that carried forward protections from earlier CVEs such as CVE-2022-2320. Over four decades of development, the X11 protocol has remained frozen since 1987 to preserve , allowing legacy applications to function seamlessly while extensions handle modern needs.

Architecture

Client-Server Model

The employs a client-server , where the X server acts as the central process responsible for managing devices, such as keyboards, mice, and screens, while providing services to multiple client applications. Clients, which are typically user applications like emulators or graphical editors, do not directly access but instead send requests to the server for operations such as drawing windows or handling input events. This separation ensures that the server multiplexes access to shared resources among clients, maintaining control over the physical and input devices. Communication between clients and the occurs over a network-transparent , typically using TCP/IP for remote connections or Unix domain sockets for local ones, with clients initiating connections specified by the environment variable—such as :0 for the default local display or :0 for a remote . Once connected, clients issue requests to the , for example, the CreateWindow request to generate a new with defined attributes like and size, or GetMotionEvents to retrieve pointer movement data; the processes these requests asynchronously and responds with replies, , or errors as needed. The X serves as the medium for this exchange, defining the format of requests and responses to ensure compatibility across diverse systems. This client-server separation offers significant benefits, particularly in enabling remote execution where applications run on one machine but display output on another, facilitating environments without hardware-specific dependencies. It also promotes software reusability, as clients can operate with any compatible X server regardless of the underlying hardware platform, supporting portability across different operating systems and architectures. However, the model has limitations, including high latency in remote scenarios arising from the protocol's request-response mechanism, which requires multiple round trips for interactive operations and can transmit substantial data for rendering. Additionally, the core X server lacks built-in session management, relying instead on separate extensions or protocols for saving and restoring user sessions upon disconnection or restart.

X Protocol Fundamentals

The X11 protocol is a binary network-transparent protocol that enables communication between clients and the X server in the , operating on a request-reply-event model. In this model, clients send requests to the server to perform actions such as creating windows or drawing lines (e.g., the DrawLine request), the server responds with replies containing queried data (e.g., results from a GetWindowAttributes request), and the server asynchronously sends events to clients to report changes like window exposure (e.g., the Expose event). This design allows for efficient, asynchronous interaction over network connections, supporting both local and remote displays. Messages in the X11 protocol are structured for compactness and portability, consisting of a fixed header followed by variable . Each request message begins with a 1-byte major identifying the operation (ranging from 0 to 255, with 0-127 reserved for core requests), a 1-byte unused field (typically zero), a 2-byte length field specifying the total message size in units of 4 bytes (including the header), and then the variable-length payload. For example, a basic request format might encode a CreateWindow operation with 1, followed by parameters like window ID, parent window, and dimensions in the data section. All multi-byte values use big-endian (MSB-first) byte order by default to ensure cross-platform compatibility, though clients can negotiate little-endian during connection setup if needed. Replies and events follow similar structures, with replies including a 1-byte minor for type identification and events using bitmasks for details like sequence numbers. Key operations in the protocol include resource management and error handling to maintain system integrity. Resource management involves the server allocating unique identifiers (e.g., 32-bit window IDs) for objects like windows, pixmaps, and fonts, typically via requests such as CreateWindow, which assigns an ID from a client-specified base and mask (ensuring at least 18 bits for addressing). These IDs are managed per client connection to avoid conflicts, with the server tracking lifetimes through explicit destroy requests or implicit cleanup on connection close. Error handling occurs when invalid parameters are detected; for instance, a BadWindow error (error code 3) is generated and sent to the client if an operation references a non-existent or destroyed window ID, structured as a 32-byte message with the error code, request details, and resource ID. The protocol's version 11, which defines these core elements, was frozen in 1987 and has remained stable since, accommodating up to 256 major opcodes natively while deferring additional features to extensions.

Core Functionality

Display and Window Management

The X server manages display output across one or more physical screens, each associated with an independent root window that spans the full screen dimensions. During connection setup, the server provides details on available screens, including their width, height, root window ID, default depth, and supported visual types such as 24-bit for high-fidelity rendering. This configuration allows the server to handle multiple monitors as separate screens, where the pointer can roam between them depending on server implementation, without inherent support for unified virtual desktops in the core —such functionality typically relies on extensions or window managers. The root window serves as the foundational drawable for each screen, initialized with a background pattern using the server's pixels, enabling clients to draw directly onto it or create child windows within its bounds. Window management in the X server revolves around creating, organizing, and rendering rectangular regions requested by clients via requests like CreateWindow. Upon creation, a is assigned a unique ID, a (except for the ), and attributes such as position, size, depth, and visual type, forming a strict where child windows are clipped to their 's boundaries if they exceed them. The server tracks parent-child relationships and queries them through operations like QueryTree, which returns the in bottom-to-top order, while stacking order is maintained and adjusted via ConfigureWindow requests specifying modes like "Above" or "Below" relative to sibling windows. attributes include customizable borders and backgrounds: borders can be set to a color or tiled pixmap, and backgrounds to None (transparent to ), ParentRelative, or a specific pixmap/, with the server handling tiling alignment from the 's origin. Destruction occurs synchronously via DestroyWindow, removing the and propagating to children if specified. The generates to notify clients of and structural changes, such as MapNotify when a becomes viewable after a successful MapWindow request, prompting clients to redraw content if the backing store is not preserved. These integrate briefly with input by potentially triggering focus changes, but the core does not perform layout decisions—instead, it maintains the window tree while delegating positioning, resizing, and decoration to separate client applications or external window managers like . Notably, the core lacks built-in for transparent overlays or layered effects, relying on extensions like Composite for such advanced features; direct drawing operations are clipped to the window's interior, with obscured regions handled via exposure . This design emphasizes the 's role as a neutral arbiter of and , ensuring network-transparent consistency across displays.

Input Device Handling

The X server interfaces with hardware input devices through underlying drivers, such as the evdev driver on systems, which captures events from keyboards, mice, and tablets via kernel-level mechanisms like SIGIO handlers. These drivers support a range of devices, including standard keyboards and mice, as well as more specialized ones like graphics tablets, enabling the server to aggregate and process input from multiple sources. With the X Input Extension version 2.0, the multi-pointer extension (MPX) allows for independent operation of multiple pointers, each with its own cursor, facilitating scenarios like multi-user desktops or simultaneous device control without interference. In event processing, the X server captures raw input events—such as key codes from keyboards or pointer coordinates and button states from mice—through device-specific read functions, transforming them into internal events for further handling. These internal events are then translated into standardized X events, for example, converting a raw key press into a KeyPress that includes modifiers like Shift, before being posted via functions such as xf86PostKeyboardEvent. The server multicasts these events to relevant client windows based on event masks selected by the clients, ensuring delivery to the appropriate recipients, such as the focused for pointer motion or button events. The focus model in the X server distinguishes between pointer focus, which follows the mouse cursor to determine the active window for pointer events, and keyboard focus, managed through the (VCK) to direct key events to a single client. It supports grabs to temporarily redirect input, such as pointer grabs activated on button presses for drag operations or full keyboard grabs for modal dialogs, overriding normal focus rules until released. To ensure portability across diverse hardware, the X server normalizes input by mapping hardware-specific key codes to abstract KeySyms, allowing applications to interpret standard symbols regardless of physical layout, such as arrangements handled via the X Keyboard Extension (XKB). As a security measure, root window grabs enable exclusive control over input processing, preventing unauthorized access or interference by other clients during sensitive operations like screen locking.

Basic Graphics Rendering

The X server's core graphics rendering capabilities center on a set of primitive drawing operations that allow clients to specify geometric shapes and text within drawable resources, such as windows or pixmaps. These primitives include requests like PolyLine, which draws connected lines between specified points, PolyFillRectangle for filling rectangular areas, and FillPoly for rendering filled polygons defined by vertex lists. All such operations rely on a , a server-side resource that encapsulates rendering attributes including line width—measured in and supporting thin (zero) or wide lines—fill styles such as , Tiled, OpaqueStippled, or Stippled, and foreground and background colors represented as 32-bit pixel values truncated to the drawable's depth. Clients create and modify GCs via requests like CreateGC and ChangeGC to apply these attributes consistently across multiple drawing commands. For off-screen rendering and image manipulation, the protocol supports bitmaps—depth-one pixmaps—and general pixmaps of varying depths matching the screen's formats, enabling and of data independent of visible windows. The CopyArea request facilitates blitting by copying rectangular regions from a source drawable to a destination, combining pixels according to the GC's function (e.g., bitwise operations like GXcopy), though it requires matching root windows and depths between source and destination. Core protocol imaging lacks built-in , relying on simple pixel-level operations for efficiency in software rendering. Color management in the X server is handled through colormaps associated with visuals, which define how values map to colors on a given screen. In PseudoColor mode, pixels act as indices into a modifiable colormap where RGB values can be dynamically allocated and adjusted, supporting up to 256 colors on 8-bit displays. DirectColor visuals decompose pixels into separate , , and subfields that index corresponding colormap entries, allowing client control over color components, while TrueColor visuals treat pixels similarly but with predefined, read-only RGB values fixed by the hardware. The client-driven nature of core protocol rendering, where clients issue individual requests for each , can lead to high network bandwidth consumption and , particularly over remote connections, as uncompressed image data and frequent round-trips amplify transport overhead without inherent for complex operations. This design prioritizes flexibility but often results in performance bottlenecks for graphics-intensive applications unless mitigated by extensions or optimized server implementations.

Implementations

X.Org Server

The X.Org Server serves as the primary open-source reference implementation of the X11 display server, stewarded by the . Originally forked from 4.4 RC2, it was established in 2004 to provide a modular and maintainable alternative following licensing disputes with the XFree86 project. Designed initially for operating systems on x86 hardware, it has evolved to support a broad array of architectures, including AMD64, , and , across platforms such as , , and . This implementation emphasizes flexibility through its loadable module system, enabling dynamic loading of video, input, and extension modules without recompiling the core server binary. At its core, the operates as a monolithic that incorporates a modular driver architecture, allowing for plug-and-play support of diverse hardware. Video drivers, such as the proprietary driver for and GPUs or the open-source Nouveau driver for hardware, are loaded as modules to handle rendering and acceleration. Similarly, input drivers manage devices like keyboards and mice, while font rendering relies on the libXfont library for rasterization and caching of and outline fonts. Key features include the (DRI) for hardware-accelerated 3D graphics, for spanning desktops across multiple monitors, and the RandR extension for dynamic hotplugging, resizing, and rotation of displays without restarting the server. These capabilities make it suitable for both single-user workstations and multi-head configurations. Significant milestones include version 1.20, released in May 2018, which removed several legacy components such as 24bpp pixmap formats to streamline the codebase, while adding support for atomic mode-setting and other improvements. The 21.1 series, finalized in 2021, further modernized the build system with full support while retaining autotools for compatibility. As of November 2025, the latest release is version 21.1.20 (October 28, 2025), and ongoing maintenance has focused on bolstering compatibility through enhanced XWayland integration, allowing seamless execution of X11 applications on Wayland compositors, alongside critical patches addressing vulnerabilities like use-after-free errors in rendering structures and out-of-bounds in extensions. These updates ensure continued robustness against exploits, such as those disclosed in October 2025 affecting prior versions. The remains the backbone of X11-based graphical environments, powering the majority of and BSD desktop systems that rely on traditional X11 sessions. It is the default X server in major distributions, including and , where users can select X11 sessions alongside emerging options, ensuring broad compatibility for legacy applications and hardware.

Historical and Alternative Implementations

The X Window System originated at the Massachusetts Institute of Technology (MIT) in the mid-1980s, with the initial X version released in 1984 as a bitmap graphics protocol for Unix-like workstations. The MIT-developed X11 protocol, first released in September 1987 as X11R1, included an original reference X server implementation designed for high-end workstations, emphasizing network transparency and hardware abstraction for displays and input devices. Subsequent releases, such as X11R2 in 1988 and X11R3 in October 1988, refined the server for broader workstation compatibility, incorporating multi-window support and font management. In the late 1980s, developed the environment, which featured an X server integrating the X11 protocol with Sun's (Network extensible Window System) for PostScript-based rendering. Released around 1989, the X server supported both X11 and applications on Sun workstations, allowing seamless execution of graphical programs from either system while providing a unified desktop. This hybrid approach aimed to combine X's network capabilities with 's advanced vector graphics, though it was eventually superseded by pure X11 implementations in later releases. XFree86 emerged as the dominant open-source X server implementation for x86-based starting in the early , with development beginning in May 1992 and the project name adopted in September 1992. It built on earlier efforts like X386, a commercial X11R5 server, and became essential for and BSD systems by providing robust and configuration tools such as XF86Config for customizing video cards, monitors, and input devices. Throughout the and early , powered the majority of desktop environments, supporting releases up to X11R6.8 and enabling widespread adoption of graphical interfaces on commodity hardware. However, internal disputes over licensing changes in 2003, which introduced the restrictive XFree86 License 1.1, led to its forking by the in 2004, after which declined sharply. Alternative implementations addressed specific platforms and constraints beyond standard Unix workstations. , an open-source port of the , provides X11 support on macOS by leveraging the windowing backend for native integration with Apple's graphics stack; it originated as Apple's bundled X11.app for OS X 10.5 to 10.7 and continues for macOS 10.9 and later. /X ports the to Windows via the POSIX layer, running an X server that displays X applications in a native Windows window or fullscreen mode, facilitating Unix software portability since the early 2000s. For resource-constrained embedded devices, TinyX (also known as KDrive) offers a minimal X server footprint, developed by Keith Packard and included in 4.0 around 2000, targeting low-memory environments like PDAs with or VESA support while retaining core X11 compatibility. Proprietary variants included Metro-X from MetroLink, a commercial X11R5-based server providing accelerated graphics for various Unix-like systems and PC hardware in the mid-1990s, which declined with the rise of open-source alternatives like X.Org post-2010.

Extensions

Standard Extensions

Standard extensions to the X Window System protocol provide additional functionality beyond the core protocol without modifying its fundamental structure. These extensions introduce new requests, events, and errors, allowing clients to query server support using the QueryExtension request to ensure compatibility and versioning. This mechanism enables modular enhancements, such as improved rendering and input handling, while maintaining backward compatibility with core protocol clients. One prominent standard extension is XRender, which establishes a digital image composition model for rendering geometric figures, text, and images within the . Introduced in version 0.11, XRender supports anti-aliased graphics through smooth-edged polygon rasterization and enables compositing operations using Porter-Duff operators like Over and Add, facilitating layered effects such as shadows without requiring full window redraws by clients. It enhances the core protocol's basic graphics primitives by providing client-side and server-side management for efficient text rendering. The XFixes extension addresses limitations in the core by offering server-side optimizations, including tracking to monitor modified regions and minimize unnecessary bandwidth for updates. objects, introduced in of XFixes, support operations like and , along with selection tracking and cursor monitoring to deliver events on changes, reducing client-side workarounds for efficient handling. This extension integrates with the extension to track incremental changes, allowing applications to update only affected areas. XInput 2.x extends support to include capabilities (added in 2.2) and advanced peripherals like tablets, replacing earlier versions of the Input Extension. It supports a dynamic number of touch points, master-slave hierarchies, and events, with querying via XIQueryVersion to confirm support for major 2 or higher. Devices can function as both and extended inputs, enabling features like Multi-Pointer X for multiple users and touch event emulation for . The RandR extension, or Resize and Rotate, allows dynamic changes to screen resolution, , and configurations without restarting the server. RandR 1.2 introduced the separation of management of CRTCs (controllers), outputs, and modes, with version 1.4 adding support for projective transforms, per-CRTC panning, and atomic configurations for synchronized updates across displays. Clients can add or delete modes using requests like RRCreateMode, enabling flexible layouts for modern hardware such as laptops and external monitors. XVideo provides hardware-accelerated video overlay and playback by supporting video adaptors and ports for streaming content into X drawables. It handles format conversions between video encodings (e.g., ) and display formats, with features like XvImages for efficient data transfer and querying of adaptor capabilities via XvQueryAdaptors. This extension enables low-latency video display, commonly used for media applications leveraging dedicated hardware. Most standard extensions, including XRender, XFixes, XInput 2.x, RandR, and XVideo, are included by default in implementations, facilitating their widespread adoption in desktop environments. They collectively enable advanced features like smooth , efficient input processing, and dynamic display management, which are essential for contemporary graphical interfaces.

Custom and Vendor Extensions

Custom and vendor extensions to the X server extend with specialized features developed by hardware vendors or communities to address particular use cases, such as or testing, often tied to proprietary drivers or specific platforms. NVIDIA's implementation of the extension through its proprietary driver enables rendering acceleration within the X environment, including vendor-specific enhancements like NV-GLX for optimized performance on GPUs. supports the DRI extension via its open-source amdgpu driver, allowing direct access to GPU resources for rendering without routing through the X server, improving efficiency for 3D applications. Sun Microsystems developed the X Imaging Library (XIL), which provides hardware-accelerated operations for image manipulation, such as scaling and filtering, using the XIE extension and integrated into systems for media processing tasks. The XTest extension, originating from Sun Microsystems' implementation of the X Consortium's input synthesis proposal, simulates and events for automated testing and debugging of X applications. For access control, the XSecurity extension classifies clients as trusted or untrusted, restricting untrusted clients from actions like key grabs while supporting authentication methods such as MIT-MAGIC-COOKIE-1 to mitigate unauthorized access in multi-user setups. In the 2010s, the XPresent extension was introduced to synchronize frame delivery with vertical blanking intervals, reducing tearing and latency; drivers utilize it for precise event notifications in graphics-intensive workloads. These extensions, while enabling targeted optimizations, introduce drawbacks including potential incompatibility between different vendor drivers and hardware, as proprietary components like NVIDIA's module may not interoperate with open-source alternatives. For instance, features locked to specific hardware can limit portability, requiring users to match drivers precisely to their GPUs. Numerous such extensions have been defined over the X server's , though typical implementations load only a subset of around 30 for broad .

Configuration and Operation

Starting and Managing the Server

The X server is typically launched through a display manager such as or , which is initiated during system boot and handles user authentication before starting the server and loading an initial session. These managers automate the process, running the server on the default display (usually :0) and executing user-specific scripts like ~/.xsession to start client applications. For manual launches, users can employ the startx command, a front-end to xinit that simplifies initializing a single X session by setting the environment variable, starting the , and executing clients from ~/.xinitrc or default scripts. Direct command-line invocation is possible with the X binary, for example, X :1 -ac to run a local, non-authenticated on display :1, though this is recommended only for testing due to implications. The xinit program supports scripting for custom and client setups, allowing flexible management of sessions via command-line arguments or resource files. Once running, the X server can be monitored using utilities like xwininfo, which provides detailed information about specific (e.g., xwininfo -root for the root window), and xdpyinfo, which reports server capabilities and display properties (e.g., xdpyinfo -display :0). For restarting, the Ctrl+Alt+ key sequence, if enabled, immediately terminates the without confirmation, restoring access to the console; this feature can be disabled via server options but aids in recovery from hangs. The X server supports multi-session operation by assigning unique display numbers, often tied to virtual terminals in environments, such as tty7 for the primary graphical session accessed via Ctrl+Alt+F7. Remote access is facilitated through X forwarding over SSH, where clients connect to a remote by setting the variable (e.g., export DISPLAY=localhost:10.0) and using tools like xauth for , enabling graphical applications to locally. Common troubleshooting involves examining server logs for errors, such as black screens caused by graphics driver mismatches, where the log file at /var/log/Xorg.0.log (for :0) records initialization details, loading, and diagnostics to identify issues like incompatible . options, such as those specifying depth or DPI, can be applied directly at startup via command-line flags to the X binary.

Configuration Files and Options

The X.Org server primarily uses the xorg.conf file for initial , located in paths such as /etc/X11/xorg.conf or /etc/xorg.conf, though this file is optional in modern setups due to robust auto-detection mechanisms. Additionally, modular is supported through files ending in .conf placed in the /etc/X11/xorg.conf.d/ directory, allowing administrators to provide targeted snippets without a monolithic xorg.conf. These files override or supplement defaults, enabling fine-tuned control for specific hardware or behaviors. Key sections within these configuration files define and display parameters. The Device section specifies graphics details, including the Identifier and required Driver option (e.g., "nvidia" for cards) and optional BusID for multi-GPU setups. The Monitor section configures display attributes, such as HorizSync and VertRefresh for supported modes (e.g., 1920x1080@60Hz), though these are often auto-probed via (DDC). The Screen section ties together a Device and Monitor, defining the Identifier, virtual screen size, and DefaultDepth for . Command-line options provide runtime overrides for common settings when launching the server. The -dpi option sets the resolution in across all screens (e.g., -dpi 96), useful when hardware reports inaccurate physical dimensions. The -noreset flag prevents the server from terminating and resetting upon closure of the last client , aiding in or persistent sessions. For security, the -auth option specifies an authorization file containing access records, enforcing for client connections (e.g., -auth /etc/X11/xauth). In contemporary distributions, X.Org configuration has shifted toward minimal manual intervention, relying on auto-detection via for enumeration and hotplugging, which handles most standard without explicit files. configuration remains essential for complex scenarios, such as multi-GPU environments or lacking proper probing support, where xorg.conf or snippet files ensure compatibility. This approach has made explicit configurations unnecessary for the majority of users since the widespread adoption of plug-and-play features around 2010.

Modern Developments and Alternatives

Integration with Wayland

XWayland serves as a compatibility layer that enables the execution of X11 applications within Wayland compositors, functioning as an X server that operates under the Wayland protocol. Initial support was introduced in 2014 as part of the X.Org Server 1.16 release, with further improvements in the 1.18 series (2016), translating X protocol requests from legacy clients into Wayland surface operations using the libwayland library, allowing seamless integration without requiring a full X server instance. In terms of functionality, XWayland primarily handles legacy X11 clients, which continue to dominate the desktop ecosystem, with the majority of applications still relying on X11 APIs rather than native support. It supports indirect rendering through for acceleration, enabling graphical applications to render efficiently on modern hardware, though it does not provide the full inherent in traditional X servers, limiting remote X client access over networks. This setup ensures that X11 software, such as older desktop utilities and games, can run in a environment with minimal modifications. Performance-wise, XWayland offers reduced input compared to remote X11 sessions, benefiting local hybrid setups by leveraging Wayland's direct rendering model, which minimizes overhead from round-trips. Additionally, it inherits Wayland's enhancements, including per-surface that confines application rendering to individual windows, thereby mitigating risks like keylogging or screen scraping that plague pure X11 deployments. Benchmarks indicate near-parity with native X11 for local workloads, though users may experience minor degradation without recent drivers due to incomplete support. Adoption of XWayland has grown alongside Wayland's integration into major desktop environments, becoming the default fallback in since Fedora 25 in 2016 and in starting with Fedora 34 in 2021. For instance, 40 and later versions ship Wayland sessions by default, automatically invoking XWayland for incompatible applications, which has facilitated a smooth transition for users running mixed X11 and Wayland-native software. Although the X server is increasingly sidelined in favor of pure , the continues to maintain it for purposes, with ongoing bug fixes and updates projected to extend through at least the 2030s to support enterprise and legacy systems. As of 2025, the X server remains essential for supporting legacy software applications that have not yet migrated to protocols, as well as in systems where resource constraints favor its lightweight features. It continues to underpin remote desktop protocols such as VNC and RDP, enabling graphical access to environments in (HPC) clusters and virtualized setups. On Linux desktops, X11 usage persists in hybrid configurations alongside Wayland, particularly for compatibility with older hardware and applications. For instance, in KDE Plasma 6 environments, approximately 73% of users run Wayland sessions, but X11 support is retained for fallback scenarios, reflecting a transitional landscape where full Wayland adoption varies by distribution and desktop environment. The X server faces ongoing challenges, including security vulnerabilities exposed in recent years. Between 2023 and 2025, multiple CVEs have been identified, such as CVE-2024-31080 involving a heap buffer overread in input event handling (ProcXIGetSelectedEvents) and CVE-2024-0229 related to out-of-bounds access during input device reattachment, potentially leading to data leaks or crashes. In October 2025, further issues were addressed, including CVE-2025-62229 (use-after-free in Present extension notifications) and CVE-2025-62230 (use-after-free in XKB resource removal), highlighting persistent risks in core components. As of October 2025, the latest stable release is X.Org Server 21.1.20, incorporating recent security fixes. Additionally, X11 exhibits inefficiencies for high-DPI and HDR displays, often resulting in blurry scaling or inconsistent rendering due to its legacy fractional scaling limitations, and it lacks native support for multi-touch gestures common in contemporary user interfaces. Deprecation trends indicate no official end-of-life for the itself, but major distributions are phasing it out as a default. 25.10 removed X11 packages from its edition's default installation, aligning with 49's decision to disable and eventually remove X11 session support, with broader impacts anticipated for the 26.04 LTS release. Similarly, plans to exclude the (except XWayland) from RHEL 10 and subsequent releases. X.Org development emphasizes maintenance over innovation, with 2024 seeing 708 commits—primarily bug fixes, security patches, and XWayland enhancements—marking a decade-high in activity but focused on stability rather than new capabilities. Looking ahead, the emergence of forks like XLibre, initiated in June 2025 by a leading X.Org contributor, signals potential evolution for server-specific use cases such as , featuring code cleanups and enhanced functionality to address upstream stagnation. Post-2022 security audits have continued to uncover long-standing flaws, while benchmarks of X11 via XWayland show improved but still suboptimal performance in -integrated environments compared to native X11. Overall, X11's role is diminishing as Wayland matures, though it endures in niche, reliability-critical domains.

References

  1. [1]
    The X New Developer's Guide: X Window System Concepts - X.Org
    Jul 14, 2013 · X Is Client / Server. The X Window System was designed to allow multiple programs to share access to a common set of hardware. This hardware ...
  2. [2]
    XSERVER(1) manual page - X.Org
    X is the generic name for the X Window System display server. It is frequently a link or a copy of the appropriate server binary for driving the most frequently ...<|control11|><|separator|>
  3. [3]
    XConsortium - X.Org
    Sep 15, 2013 · The X Window System was created in the mid-1980s at the Massachusetts Institute of Technology. In 1988, MIT formed a member-funded consortium to ...
  4. [4]
    X(7x) manual page - X.Org
    The X Window System is a network transparent window system which runs on a wide range of computing and graphics machines.
  5. [5]
    X11R6 - X.Org
    Dec 7, 2014 · X is a network-transparent window system which runs on a wide range of computing and graphics machines. The X Consortium is an independent, not- ...
  6. [6]
    X.Org
    May 4, 2023 · The X.Org project provides an open source implementation of the X Window System. The development work is being done in conjunction with the freedesktop.org ...Download · X.Org Foundation · Documentation · Releases/7.7
  7. [7]
    X12 - X.Org
    Sep 18, 2017 · X11 was defined in the middle of the 1980's. Since then, computers have changed almost beyond recognition; the simple framebuffer model used ...
  8. [8]
    X Server Definition - The Linux Information Project
    Dec 19, 2005 · An X server is a program in the X Window System that runs on local machines (ie, the computers used directly by users) and handles all access to the graphics ...
  9. [9]
    XSERVER(1) manual page - X.Org
    X is the generic name for the X Window System display server. It is frequently a link or a copy of the appropriate server binary for driving the most frequently ...
  10. [10]
    The X window system | ACM Transactions on Graphics
    An overview of the X Window System is presented, focusing on the system substrate and the low-level facilities provided to build applications and to manage ...
  11. [11]
    [PDF] The X Window System
    An application can utilize windows on any display in a network in a device-independent, network-transparent fashion. Interposing a network connection greatly ...
  12. [12]
    Looking back at Project Athena - MIT News
    Nov 11, 2018 · Project Athena was a campus-wide effort to make the tools of computing available to every discipline at the Institute and provide students with systematic ...Missing: origins | Show results with:origins
  13. [13]
    40 years later, X Window System is far more relevant than anyone ...
    Jun 21, 2024 · Scheifler and Jim Gettys at MIT spent “the last couple weeks writing a window system for the VS100” back in 1984. As part of Project Athena ...<|control11|><|separator|>
  14. [14]
    Debut of X - Talisman
    19 June 1984. From: rws@mit-bold (Robert W. Scheifler) To: window@athena Subject: window system X Date: 19 Jun 1984 0907-EDT (Tuesday) I've spent the last ...Missing: email | Show results with:email
  15. [15]
    [PDF] The X Window System, Version 11 - Bitsavers.org
    Dec 10, 1990 · After the release of Version 10 of X (hereafter called X10) from MIT in the fall of 1985, and its release as a product under Ultrix1 the ...
  16. [16]
    The X Window System: A Brief Introduction
    Mar 29, 2006 · X was initially conceived at the Massachusetts Institute of Technology (MIT) in 1984 as part of Project Athena, a joint effort between the MIT ...
  17. [17]
    RFC 1013: X Window System Protocol, version 11
    RFC 1013 defines the X Window System Protocol, version 11, a widely reviewed and tested system, distributed for information only.
  18. [18]
    XFree86 Announces Formation of the XFree86 Project, Inc.
    Apr 1, 1994 · XFree86 was initiated in April, 1992, by David Wexelblat, David Dawes, Glenn Lai and Jim Tsillas, to enhance the performance and reliability of ...
  19. [19]
    Release Notes for X11R7.7 - X.Org
    Since the founding of the X.Org Foundation in early 2004, many further releases have been issued, from X11R6.7 to the current 7.7. The next section ...Missing: formed | Show results with:formed
  20. [20]
    xorg-server 21.1.0 released - LWN.net
    Version 21.1 is out. It includes fully mature meson build support, Glamor support in Xvfb, variable refresh rate support, touchpad gestures, and more.
  21. [21]
    [ANNOUNCE] xorg-server 21.1.20
    [ANNOUNCE] xorg-server 21.1.20. Olivier Fourdan ofourdan at redhat.com. Tue Oct 28 17:23:44 UTC 2025. Previous message (by thread): [ANNOUNCE] ...
  22. [22]
    X Window System Protocol - X.Org
    The protocol contains many management mechanisms that are not intended for normal applications. Not all mechanisms are needed to build a particular user ...
  23. [23]
    a portable, network-transparent window system The X ... - X.Org
    The X Window System is a network transparent window system which runs on a wide range of computing and graphics machines. It should be relatively straight-.
  24. [24]
    X Session Management Library - X.Org
    The purpose of the X Session Management Protocol ( XSMP ) is to provide a uniform mechanism for users to save and restore their sessions.
  25. [25]
  26. [26]
  27. [27]
    Xlib Programming Manual: Overview of the X Window System
    All the windows in an X server are arranged in strict hierarchies. At the top of each hierarchy is a root window, which covers each of the display screens.
  28. [28]
    InputEventProcessing - X.Org
    Sep 14, 2013 · Input events live through two stages: Event generation and event processing. In the event generation stage, input is gathered from the connected devices.
  29. [29]
    The X New Developer's Guide: X Window System Concepts - X.Org
    Jul 14, 2013 · Input. As mentioned earlier, the X server primarily handles two kinds of hardware: input devices and output devices. Surprisingly, the input ...
  30. [30]
    Security Extension Specification - X.Org
    (These conditions cover all the events that the ICCCM specifies with a root window destination.) ... X server to determine whether that server meets ...<|control11|><|separator|>
  31. [31]
    Performance - X.Org
    Sep 30, 2024 · The dominating factor in many aspects of X performance is transport latency - how long it takes for a response to make a round trip.Missing: driven | Show results with:driven
  32. [32]
    Xorg
    Xorg is a full featured X server that was originally designed for UNIX and UNIX-like operating systems running on Intel x86 hardware.Missing: overview | Show results with:overview
  33. [33]
    Xorg(1x) manual page
    The Xorg server architecture includes among many other things a loadable module system derived from code donated by Metro Link, Inc. The current Xorg ...Missing: monolithic | Show results with:monolithic
  34. [34]
    Release Notes for X11R7.5 - X.Org
    Since the founding of the X.Org Foundation in early 2004, many further releases have been issued, from X11R6.7 to the current 7.5. The next section ...Missing: formed | Show results with:formed
  35. [35]
    xorg/lib/libXfont - X font handling library for server & utilities ...
    libXfont-1.5-branch, master, sco_port_update. X font handling library for server & utilities (mirrored from https://gitlab.freedesktop.org/xorg/lib/libxfont) ...
  36. [36]
    nouveau · freedesktop.org
    Aug 7, 2025 · The nouveau project aims to build high-quality, free/libre software drivers for NVIDIA GPUs. “Nouveau” [nuvo] is the French word for “new”.
  37. [37]
    Debian -- Details of package xserver-xorg-video-nouveau in sid
    This driver for the X.Org X server (see xserver-xorg for a further description) provides support for NVIDIA Riva, TNT, GeForce, and Quadro cards.
  38. [38]
    [ANNOUNCE] xserver 1.20 RC1 - x.org Mailing Lists
    Feb 28, 2018 · ... release candidate for xserver 1.20. Notable changes since 1.19 include: - RANDR 1.6, which enables leasing RANDR resources to a client for ...
  39. [39]
    [ANNOUNCE] xorg-server 21.1.0 - Mailing Lists
    Oct 27, 2021 · This is the final release of X server 21.1. There has been just one fix since the second RC and at this time there are no known regressions since the 1.20 ...
  40. [40]
    multiple security issues X.Org X server and Xwayland - Mailing Lists
    Oct 28, 2025 · ... ==================== X.Org Security Advisory: October 28, 2025 Issues in X.Org X server prior to 21.1.18 and Xwayland prior to 24.1.8 ...
  41. [41]
    Security Advisories - X.Org
    After X.Org 7.7. October 28, 2025 Issues in X.Org X server prior to 21.1.18 and Xwayland prior to 24.1.8. CVE ...
  42. [42]
    Configuring Xorg as the default GNOME session - Fedora Docs
    Jan 3, 2021 · Wayland is the default GNOME display server, and has been the default in Fedora since Fedora 25. However, users may still need to use the older Xorg display ...
  43. [43]
    What is the X server? - Ask Ubuntu
    Oct 17, 2010 · X is an application that manages one or more graphics displays and one or more input devices (keyboard, mouse, etc.) connected to the computer.
  44. [44]
    X11R1 - X.Org
    Dec 7, 2014 · X11R1 was the first release of the X Window System, Version 11 from MIT. It was released in September 1987, with the following changes excerpted ...
  45. [45]
    X11R2 - X.Org
    Dec 7, 2014 · X11R2 was the second release of the X Window System, Version 11 from MIT. It was released in March 1988, with the following changes excerpted from the release ...<|control11|><|separator|>
  46. [46]
    X11R3 - X.Org
    Dec 7, 2014 · X11R3 was the third release of the X Window System, Version 11 from MIT. It was released in October 1988, with the following changes excerpted from the release ...
  47. [47]
    [PDF] Open Windows Version 3 Installation and Start-Up Guide
    • The NeWS Toolkit (TNT), a new toolkit for NeWS programmers. • Xll /NeWSTM server, a merge of the X Window System and NeWS®, Sun's network-based window system.<|separator|>
  48. [48]
    [PDF] OpenWindows Desktop Reference Manual - Oracle Help Center
    This demo runs on Open Windows X11/NeWS servers v2 and newer. Currently only 8 bit color is supported. The fish_props program allows the user to preset ...
  49. [49]
    S11 X11: ye olde window system in today's new operating system
    Nov 9, 2011 · For me, the Solaris 11 release comes a little more than 11 years after I joined the X11 engineering team at what was then Sun, and finishes off ...
  50. [50]
    XFree86® Home to the X Window System
    The effort that would become XFree86 began in May 1992, with the name XFree86 being adopted later that year in September. Watch this space for new developments!Missing: history | Show results with:history
  51. [51]
    Day 2: Tutorials: XFree86 4.0
    Dirk first gave a small history of XFree86, which has its roots in X386, a commercial server which was part of X11R5. Although it's still called XFree86, it ...
  52. [52]
    XFree86 Core Team Disbands - OSnews
    Dec 31, 2003 · The XFree86 core team has announced that it is disbanding. What does this mean for the pending XFree86 4.4.0 release which was going to be ...<|separator|>
  53. [53]
    XQuartz
    XQuartz is an open-source X Window System for macOS, forming the X11.app for OS X 10.5-10.7, and is for macOS 10.9 or later.Releases · Support · Contributing · Bug Reporting
  54. [54]
    Cygwin/X
    Cygwin/X is a port of the X Window System to the Cygwin API layer for the Microsoft Windows family of operating systems.Using Cygwin/XInstallingCygwin/X OverviewUser's GuideDevelopment - XWin Server
  55. [55]
    Tiny-X: an embeddable X Window server - LinuxDevices
    May 20, 2000 · Tiny-X, a small footprint X Window server implementation for embedded systems, is now available as part of XFree86 4.0.
  56. [56]
    X.Org alternatives? MicroXWin, Wayland, Y, DFB, Xynth, Fresco, etc..
    Dec 22, 2009 · KDrive (or TinyX): (from their site) "KDrive (Tiny X, TinyX) is an X server written by Keith Packard that was designed for low memory ...
  57. [57]
    XProjectTeam man page on IRIX - Polarhome
    To reach The X.Org public World Wide Web server, use http://www.x.org/. To ... Metro Link MITRE Shiman Associates Silicon Graphics Incorporated Starnet ...
  58. [58]
    Metro-X | Linux Journal
    Jul 1, 1995 · An X11R5-based server, Metro-X replaces your current XFree86 server while fitting in nicely with the rest of the XFree86 distribution, whether it is XFree-2.x ...Missing: IRIX | Show results with:IRIX
  59. [59]
    The X New Developer's Guide: Modern Extensions To X - X.Org
    Jul 14, 2013 · The X Window System has evolved over time via the X11 protocol's extension mechanism, which allows defining new protocol requests, events and errors that ...
  60. [60]
    The X Rendering Extension - X.Org
    The X Rendering Extension (Render) introduces digital image composition as the foundation of a new rendering model within the X Window System. Rendering ...
  61. [61]
    None
    ### Summary of XFIXES Extension (Version 5.0, 2010-11-15)
  62. [62]
    X Input Extension version 2.0 - X.Org
    - support a dynamic number of simultaneous touch points, - support devices that are both multi-touch and traditional pointer devices, - allow touchpoints to be ...
  63. [63]
    RandR — X Resize, Rotate and Reflect Extension Version 1.4.0
    The following features are added in this version: • Projective Transforms. The implementation work for general rotation support made it trivial to add full ...
  64. [64]
    Xv(3) manual page - X.Org
    The X Video Extension (Xv) extension provides support for video adaptors attached to an X display. It takes the approach that a display may have one or more ...Missing: specification | Show results with:specification
  65. [65]
    Chapter 5. Listing of Installed Components - NVIDIA
    A GLX extension module for X ( /usr/lib/xorg/modules/extensions/libglx.so.390.116 ); this module is used by the X server to provide server-side GLX support. An ...Missing: custom AMD Sun XIL XTest
  66. [66]
    [PDF] XIL Programmer's Guide - Oracle Help Center
    The OPEN LOOK and Sun™ Graphical User Interfaces were developed by Sun Microsystems, Inc. for its users and licensees. Sun acknowledges the pioneering efforts ...<|separator|>
  67. [67]
    X Consortium Extensions - Oracle Help Center
    The X Consortium X11 standards referenced in the following sections are readily available to systems on the World Wide Web. The URL is http://www.rdg.opengroup.Missing: list | Show results with:list
  68. [68]
    presentproto.txt - freedesktop.org git repository browser
    index : xorg/proto/presentproto. master. Present protocol specification and Xlib/Xserver headers (mirrored from ...<|separator|>
  69. [69]
    X Window System — Jetson Linux Developer Guide documentation
    Sep 16, 2024 · The official X Window System documentation is available on the X.Org Foundation's X.Org documentation page. The lightdm or gdm3 service ...<|separator|>
  70. [70]
    How to list extensions of X server in ubuntu 16.04?
    Jan 15, 2018 · $ xdpyinfo -display :0 -queryExtensions | awk '/^number of extensions:/,/^default screen number/' number of extensions: 29 BIG-REQUESTS ...
  71. [71]
    STARTX - X.Org
    The startx script is a front end to xinit(1) that provides a somewhat nicer user interface for running a single session of the X Window System.
  72. [72]
    Xorg(1x) manual page
    Ctrl+Alt+Backspace: Immediately kills the server -- no questions asked. This can be disabled with the DontZap xorg.conf(5x) file option. Ctrl+Alt+Keypad-Plus ...
  73. [73]
    xorg.conf
    The config file may have multiple ServerLayout sections. A “server layout” represents the binding of one or more screens (Screen sections) and one or more ...<|separator|>
  74. [74]
    XSERVER
    ### Command-Line Options for X Server
  75. [75]
    Configuring X Window System using the xorg.conf file - Fedora Docs
    Jan 3, 2021 · The xorg.conf file is used to configure an Xorg display server. In Fedora (where an Xorg display server is configured instead of the default Wayland)
  76. [76]
    [ANNOUNCE] xorg-server 1.18.1 - Mailing Lists
    Feb 8, 2016 · ... 2016 ... release in the 1.18 stable branch. Major themes are bugfixes in glamor, the modesetting driver, and the Present extension. Xwayland ...
  77. [77]
    The Wayland Highlights Of 2016 - Phoronix
    Dec 28, 2016 · Wayland much progress in 2016 and arguably the biggest milestone of it shipping by default in Fedora 25 Workstation with the GNOME 3.22 desktop.
  78. [78]
    The Wayland Protocol - Fedora Docs
    Wayland is enabled by default in the GNOME Desktop. You can choose to run GNOME in X11 by choosing the Gnome on xorg option in the session chooser on the login ...
  79. [79]
    X11 Session Removal FAQ – Rust in Peace - GNOME Blogs
    Jun 23, 2025 · No, the Xorg Server is still very much maintained, however its feature development is halted. It still receives occasional bugfixes and there ...
  80. [80]
    VNC: A Faster Alternative to X11 - HECC Knowledge Base
    Oct 4, 2023 · Overview of how and when to use VNC to transfer X11 images from the NAS systems to remote user systems.
  81. [81]
    User Guide - xorg-x11 (Xwindows) with VNC remote access
    The Xorg-X11 portion of the application provides the desktop and graphics capabilities inside the VPS. RealVNC provides the remote access capabilities to the ...
  82. [82]
    The Great X11-to-Wayland Migration - TWiT.tv
    Jun 26, 2025 · Graham's data reveals that 73% of Plasma 6 users are already running Wayland sessions, with expectations that this percentage will climb as ...
  83. [83]
    X.Org Server Development Hit A Decade High For The ... - Phoronix
    Jan 1, 2025 · On a line count basis, 2024 saw 11,998 new lines of code added and 14,680 lines of code removed from the X.Org Server. That was more than in ...Missing: maintenance innovation
  84. [84]
    After 10 years I still don't understand why I should switch away from ...
    Re-reading, I suspect the new hardware with high-DPI requires Wayland, because X11 has poor support for high-DPI (implying Wayland supports it better). gspr ...
  85. [85]
    Canonical has removed X11 files in 25.10 ... Lubuntu will continue ...
    Sep 18, 2025 · Besides, Ubuntu 25.10 has removed X11/Xorg packages from its default install. They remain in the main repositories for those who need them.
  86. [86]
    An update on the X11 GNOME Session Removal
    Jun 8, 2025 · The X11 session for GNOME 49 will be disabled by default and it's scheduled for removal, either during this development cycle or more likely during the next ...
  87. [87]
    Red Hat Enterprise Linux 10 plans for Wayland and Xorg server
    Nov 27, 2023 · We've decided to remove Xorg server and other X servers (except Xwayland) from RHEL 10 and the following releases.
  88. [88]
    New version of X.org X11, Xlibre fork gathers support - The Register
    There is a fresh fork of the X.org server called Xlibre, which seems to have stirred up lots of activity.
  89. [89]
    State of Linux Windowing Systems: Is Wayland Good in 2025?
    Mar 27, 2025 · Wayland is meant to replace the aging X11 (also known as X.Org) display technology, with better support for hardware acceleration and smoother performance ...