Skip to content

X server and Wayland Options

mviereck edited this page Feb 17, 2022 · 42 revisions

Choice of X server or Wayland compositor

If no X server option is specified, x11docker will automatically choose the best matching one depending on given or missing options --desktop, --gpu and --wayland. As default it assumes you want to run a single seamless application. The automatically chosen option will be shown in terminal output.

Dependencies

For a base of recommended dependencies and their package names see Dependencies - Recommended base.

Image x11docker/xserver

Instead of installing dependencies on host you can provide image x11docker/xserver that contains all recommended packages except Xorg.

  • Please install recommended tools xauth xclip xrandr xdpyinfo on host nonetheless.
  • Running from console is not possible using image x11docker/xserver but only nested in an already running X or Wayland session. To run directly from console you need Xorg or weston+Xwayland on host.

Recommended base

Dependencies on host Available options
Minimal base Xorg (probably already installed) --hostdisplay
--xorg
Recommended base xpra Xephyr or nxagent --xpra
--xephyr
--nxagent
Recommended base
for --gpu
(except for proprietary
NVIDIA driver <470.x)
xpra weston Xwayland xdotool --xpra-xwayland
--weston-xwayland
--weston
--xwayland
--wayland
Recommended tools
(used in background)
xauth xclip xrandr xdpyinfo
Image providing most X servers Image x11docker/xserver and
an already running X server
or Wayland compositor.
(Optionally also xpra
for --xpra2 and --xpra2-xwayland).
--xpra
--xpra2
--xpra2-xwayland
--nxagent
--xephyr
--weston-xwayland
--weston
--xwayland
--xvfb

Dependencies of all X server and Wayland options

For package names in several distributions look at Dependencies - Table of all packages.

X server or Wayland option Dependencies on host Runs on X Runs on Wayland Runs on console
--xpra xpra
(xpra>v3.0)
-
--xpra2 xpra
(xpra>v3.0)
-
--xephyr Xephyr - -
--nxagent nxagent - -
--hostdisplay - - -
--xorg Xorg (√) (√)
--xpra-xwayland xpra weston Xwayland xdotool
(xpra>v3.0)
-
--xpra2-xwayland xpra xdotool
(xpra>v3.0)
-
--weston-xwayland weston Xwayland
--kwin-xwayland kwin_wayland Xwayland
--xwayland Xwayland - -
--xvfb Xvfb
--weston weston
--kwin kwin_wayland
--hostwayland - - -
--runx runx (MS Windows only) - - -
--xwin xinit and xauth in Cygwin (MS Windows only) - - -

Description

Attributes of X server and Wayland options

Option Supports seamless mode Supports --desktop mode Supports --gpu Supported by proprietary NVIDIA driver
--xpra -
--xpra2 -
--xephyr - -
--nxagent -
--hostdisplay -
--xorg -
--xpra-xwayland >=470.x
--xpra2-xwayland >=470.x
--weston-xwayland - >=470.x
--kwin-xwayland - >=470.x
--xwayland - >=470.x
--xvfb - -
--weston - >=470.x
--kwin - >=470.x
--hostwayland - >=470.x
--runx √ (with XWin)
--xwin

Description of X server options

X server options Description
--auto (default) Automatically chooses an X server depending on installed dependencies and on given or missing options --desktop, --gpu and --wayland.
--xpra Seamless integration of application windows on host display.
Best --clipboard support, picture clips are possible.
Seamless scaling (0,5x, 1.5x, 3x ...) with option --scale.
(Supports option --desktop, too, but --xephyr is more performant in desktop mode.)
With option --gpu x11docker will use --xpra-xwayland.
--xpra2 Like --xpra, but provides a bit more performance combining image x11docker/xserver with xpra on host.
--xephyr Nested X server for --desktop mode.
Desktop appears in a window on host display.
Quite fast and stable, but not resizeable.
--nxagent Fast and resizeable alternative to --xpra and --xephyr, but some compositing applications may fail.
--hostdisplay Shares host display :0 instead of running second X server.
Attention: Low security, quite bad container isolation!
Some x11docker security restrictions to avoid keylogging and remote host control may cause some applications to fail.
Options --clipboard and --gpu remove these restrictions.
If security is not a concern, get a quite fast setup with --hostdisplay --gpu.
--xorg Core Xorg server.
Switch between displays with keys [CTRL][ALT][F1]...[F12].
To run --xorg within X look at setup for option --xorg.
--xpra-xwayland Like --xpra, additionally supporting option --gpu.
Uses Weston and Xwayland in background.
Supports option --desktop, too, but --weston-xwayland is more performant in desktop mode.
--xpra2-xwayland Like --xpra-xwayland, but provides a bit more performance combining image x11docker/xserver with xpra on host.
--weston-xwayland All-rounder: can run nested on X or Wayland in a window or on its own from console.
Supports GPU acceleration, scaling (2x, 3x, 4x ...) and display rotation (0°, 90°, 180°, 270°, flipped, flipped-90°, ...).
--kwin-xwayland Like --weston-xwayland, but uses KWin instead of Weston.
Runs in X, in Wayland and from console.
--xwayland Core Xwayland needs a Wayland environment to run in.
Fullscreen display can be moved around with [META][LMB].
--xvfb Invisible X server for custom access e.g. with SSH or HTML5.
Output of environment variables with --printenv.
--runx Runs X server XWin or VcXsrv for MS Windows.
--xwin X server XWin for MS Windows. Can be used in Cygwin/X.
--tty Run without X or Wayland.

Description of Wayland options

Wayland options Description
--wayland Automatically sets up a Wayland environment.
Sets some Wayland environment variables.
Regards option --desktop.
--weston Weston without X to run pure Wayland applications.
Scaling and rotation is possible.
Runs in X, in Wayland and from console.
--kwin kwin_wayland without X to run pure Wayland applications.
Runs in X, in Wayland and from console.
--hostwayland Shares host Wayland socket without X to run pure Wayland applications.
Needs a running Wayland compositor.
Clone this wiki locally