CopperSpice Overview
X11 vs Wayland

There are two different protocols for displaying a GUI application on Linux platforms, XCB and Wayland.

XCB

Supports the X11 display protocol. The xcb plugin is the default platform plugin on all CopperSpice Unix applications.

Wayland

Supports the Wayland display protocol. The wayland plugin will only be used when specified on the command line or by setting an environment variable. Users must opt-in to use this plugin.

Description Value
Command line argument -platform wayland
Environment Variable CS_GUI_PLATFORM_NAME=wayland

What is Wayland

Wayland is a display protocol for systems running Unix. It defines how applications communicate with the display server to provide a graphical interface to draw windows, process keyboard and mouse events, and all the elements of a GUI.

A display server is the software the acts as a bridge between a GUI application and the display hardware. A window manager is also software and it is responsible for things like arranging windows on the screen, drawing the title bar and other decorations, and which window has focus.

The X11 system originated in the mid 1980's and is considered to be antiquated, has too many legacy features, contains security issues, and is inefficient for current day GPUs. Many of these issues are a result of the display server and the window manager being separate programs.

Wayland was developed as a replacement for X11. It offers increased security and is more efficient on modern graphics hardware. Development of Wayland began in 2008 and was first used as the default display server in Fedora 25, which was in later 2016. It is gaining popularity very slowly.

The Wayland Compositor contains both the display server and a window manager.

CopperSpice Plugin

The CS Wayland plugin allows CopperSpice applications to connect to an existing Wayland Compositor. The most common compositors are GNOME Mutter, KDE Plasma, and Weston.

Compositor Discrepancy

If you experience any issues with running the Wayland display server, trying using another compositor. There may be vendor issues with the implementation of a specific Wayland compositor. Sometimes an issue will appear in one compositor and not another one.

For example, GNOME is known to have issues with various NVIDIA drivers. If this occurs, verify your kernel modeset is correct.