Linux Windowing Environment

On Linux Blender supports both X11 and Wayland for official releases.

When Wayland is detected, it is the preferred system, otherwise X11 will be used.


The current “Windowing Environment” is listed in File ‣ About.


This is the windowing environment that has been used most widely on Linux & Unix systems.

There are no near-term plans to deprecate or remove X11 support.


Support for Wayland is a more recent addition, so there may be configurations that have not been tested yet. Please report a bug if you experience problems.

Blender has been tested with Gnome-Shell (mutter), KDE (plasma) & SWAY (wlroots) based compositors.



Under Gnome-Shell the libdecor library is required. This is available as a package on most Linux distribution.

If the library isn’t found X11 will be used as a fallback.


Detailed Wayland output can help to track down problems. Launch Blender from the command-line with additional arguments:

Blender’s Wayland Logging
blender --log "ghost.wl.*" --log-level 2
Wayland Built-In Logging
Disable Wayland (forcing X11)

Known Limitations

NVidia GPU

Currently NVidia drivers don’t fully support features needed for Wayland support, graphical glitches and flickering is a common problem, this is not specific to Blender so NVidia users may want to use X11 until driver support improves.

Feature Comparison





Smooth Scroll

Smooth scrolling with track-pads.

Multi-Touch Gestures

Track-pad and tablet support for
pinch to zoom, pan and orbit.

Reliable Cursor Warping


Cursor warping is used while transforming
and orbiting the viewport for e.g.

Window Positioning


Needed for dragging between windows and
restoring window positions on file load.

Window Raise/Lower


Used to bring the render window
to the foreground.

Other features which both systems support such as Hi-DPI, 3D-mouse, tablet input, … etc. have been left out of this list.

*1 In X11 fast cursor motion may exit the window bounds while the cursor is grabbed (transforming for e.g.).
*2 Wayland doesn’t support setting the window position & depth, as this is a design decision it’s unlikely to be supported (see issues for position and depth).