---
name: "mir_demo_server"
section: "1"
platform: "linux"
package: "mir-test-tools"
version: "2.20.2-2"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/mir_demo_server"
---

# mir\_demo\_server(1)

Mir Display Server Demo

## NAME

mir\_demo\_server - Mir Display Server Demo

## SYNOPSIS

**mir\_demo\_server** *\[options\]*

## DESCRIPTION

Launch a Mir server demo session.

The Mir demo server startup can be tweaked by:

- **Command-line options:**

  e.g. "--host-socket=/tmp/mir\_socket".

- **Environment variables:**

  Capitalise the long form of the command line option, prefix it with "MIR\_SERVER\_" and put "\_" in place of "-". E.g. "MIR\_SERVER\_HOST\_SOCKET=/tmp/mir\_socket".

- **Config file entries:**

  Use the long form command line options in the configuration file. E.g. "--host-socket=/tmp/mir\_socket".

The config file (mir/mir\_demo\_server.config) is located via the XDG Base Directory Specification. ($XDG\_CONFIG\_HOME or $HOME/.config followed by $XDG\_CONFIG\_DIRS).

## OPTIONS

- **--host-socket** *\<socket-filename\>*

  Host socket filename.

- **-f** \[ **--file** \] *\<filename\>*

  Socket filename (default: $XDG\_RUNTIME\_DIR/mir\_socket or /tmp/\<UID\_NUMBER\>-runtime-dir/mir\_socket).

- **--no-file**

  Do not provide a socket filename for client connections.

- **--arw-file**

  Set socket file permissions to globally read-writeable (equivalent to chmod a=rw).

- **-p** \[ **--prompt-file** \]

  Provide a "...\_trusted" filename for prompt helper connections.

- **--platform-graphics-lib** *\<platform\_library\>*

  Library to use for platform graphics support (default: autodetect).

- **--platform-input-lib** *\<input\_library\>*

  Library to use for platform input support (default: input-stub.so).

- **--platform-path** arg (=/usr/lib/x86\_64-linux-gnu/mir/server-platform)

  Directory to look for platform libraries (default: /usr/lib/\<multi-arch\>/mir/server-platform).

- **-i** \[ **--enable-input** \] *{0,1}*

  Enable input (default: 1, meaning: enabled).

- **--compositor-report** *{log,lttng,off}* (=off)

  Compositor reporting, either of *log*, *lttng* or *off* (default: off).

- **--connector-report** *{log,lttng,off}*

  How to handle the Connector report, either of *log*, *lttng* or *off* (default: off).

- **--display-report** *{log,lttng,off}*

  How to handle the Display report, either of *log*, *lttng* or *off* (default: off).

- **--input-report** *{log,lttng,off}*

  How to handle to Input report, either of *log*, *lttng* or *off* (default: off).

- **--legacy-input-report** *{log,off}*

  How to handle the Legacy Input report, either of *log* or *off* (default: off).

- **--seat-report** *{log,off}*

  How to handle to Seat report, either of *log* or *off* (default: off).

- **--session-mediator-report** *{log,lttng,off}*

  How to handle the SessionMediator report, either of *log*, *lttng* or *off* (default: off).

- **--msg-processor-report** *{log,lttng,off}*

  How to handle the MessageProcessor report, either of *log*, *lttng* or *off* (default: off).

- **--scene-report** *{log,lttng,off}*

  How to handle the scene report, either of *log*, *lttng* or *off* (default: off).

- **--shared-library-prober-report** *{log,lttng,off}*

  How to handle the SharedLibraryProber report, either of *log*, *lttng* or *off* (default: log).

- **--shell-report** *{log,off}*

  How to handle the Shell report, either of *log* or *off* (default: off).

- **--composite-delay** *\<msecs\>*

  Compositor frame delay in milliseconds (how long to wait for new frames from clients before compositing). Higher values result in lower latency but risk causing frame skipping. A negative value means decide automatically (default: 0).

- **--name** *\<name\>*

  When nested, the name Mir uses when registering with the host.

- **--nested-passthrough** {0,1}

  When nested, attempt to pass a client's graphics content directly to the host to avoid a composition pass (default: 1).

- **--offscreen**

  Render to offscreen buffers instead of the real outputs.

- **--enable-touchspots**

  Display visualization of touchspots (e.g. for screencasting).

- **--cursor** *{auto,null,software}*

  Cursor (mouse pointer) to use (default: auto).

- **--enable-key-repeat** {0,1}

  Enable server generated key repeat (default: 1).

- **--on-fatal-error-except**

  On "fatal error" conditions (e.g. drivers behaving in unexpected ways) throw an exception (instead of a core dump).

- **--debug**

  Enable extra development debugging. This is only interesting for people doing Mir server or client development.

- **--enable-mirclient**

  Enable deprecated mirclient socket (for running old clients)

- **--console-provider** arg (=auto)

  Console device handling how Mir handles console-related tasks (device handling, VT switching, etc.) Possible values given:

-

  *logind* - use logind vt: use the Linux VT subsystem. Requires root privileges.

-

  *none* - support no console-related tasks. Useful for nested platforms which do not need raw device access and which don't have a VT concept

-

  *auto* - detect the appropriate provider.

- **--vt** {0,1}

  VT to run on or 0 to use current (default: 0).

-

  Usage of this option requires **--console-provider**=*vt*

- **--bypass** {0,1}

  \[platform-specific\] utilize the bypass optimization for fullscreen surfaces (default: 1).

- **--x11-output** *\<sizes\>*

  \[mir-on-X specific\] Colon separated list of WIDTHxHEIGHT sizes for "output" windows (default: 1280x1024).

- **--wayland-host** *\<socket-name\>*

  Socket name for host compositor.

- **--startup-apps** *\<list-of-applications\>*

  Colon separated list of startup applications.

- **--env-hacks** *\<env-vars\>*

  Colon separated list of environment variable settings.

- **--display-config** *{clone,sidebyside,single,static=\<filename\>}*

  Display configuration, either of *clone*, *sidebyside*, *single*, or *static=\<filename\>* (default: sidebyside).

- **--translucent** {on,off}

  Select a display mode with alpha (default: off).

- **--log-host-lifecycle**

  Write lifecycle events from host to log.

- **--glog**

  Use google::GLog for logging.

- **--glog-stderrthreshold** *\<level\>*

  Copy log messages at or above this level to stderr in addition to logfiles (default: 2).

-

  The numbers of severity levels INFO, WARNING, ERROR, and FATAL are 0, 1, 2, and 3, respectively.

- **--glog-minloglevel** arg (=0)

  Log messages at or above this level. The numbers of severity levels INFO, WARNING, ERROR, and FATAL are 0, 1, 2, and 3, respectively (default: 0).

- **--glog-log-dir** *\<directory-path\>*

  Log files are written into this directory.

- **--x11-display-experimental** *\<x11-display-number\>*

  DISPLAY socket to use for experimental X11 support (default: none).

- **--xwayland-path** *\<fullpath-to-Xwayland\>*

  Path to Xwayland executable (default: /usr/bin/Xwayland).

- **--wayland-extensions** *\<wayland-extensions-list\>*

  Colon separated list of wayland extensions to enable (enabled by default:

-

  wl\_shellxdg\_wm\_base

-

  zwlr\_layer\_shell\_v1

-

  zxdg\_output\_manager\_v1

-

  zxdg\_shell\_v6

  ).

- **--window-management-trace**

  Log trace messages.

- **--custom-compositor** *{adorning,default}*

  Select an alternative compositor (default: default)

- **--background-color** *{purple,blue,grey,black}*

  Fill the background of the adorning compositor with a color, either of purple, blue, grey, or black (default: black.)

- **--disable-while-typing** *{0,1}*

  Disable touchpad while typing on keyboard configuration (default: 0).

- **--mouse-acceleration** *{none,adaptive}*

  Select acceleration profile for mice and trackballs (default: adaptive).

- **--mouse-cursor-acceleration-bias** *\<accel\>*

  Constant factor (+1) to velocity or bias to the acceleration curve within the range \[-1.0, 1.0\] for mice (default: 0).

- **--mouse-scroll-speed-scale** *\<speed-scale\>*

  Scales mice scroll events, use negative values for natural scrolling (default: 1).

- **--touchpad-cursor-acceleration-bias** *\<accel\>*

  Constant factor (+1) to velocity or bias to the acceleration curve within the range \[-1.0, 1.0\] for touchpads (default: 0).

- **--touchpad-scroll-speed-scale** *\<speed-scale\>*

  Scales touchpad scroll events, use negative values for natural scrolling (default: -1).

- **--touchpad-scroll-mode** *\<mode\>*

  Select scroll mode for touchpads, with *\<mode\>* being either of *two-finger* or *edge* (default: two-finger).

- **--touchpad-click-mode** *{area,finger-count}*

  Select click mode for touchpads (default: finger-count).

- **--timeout** *\<secs\>*

  Seconds to run before exiting.

- **--cursor-theme** *\<cursor-theme\>*

  Colon separated cursor theme list (e.g. "DMZ-Black", default: DMZ-White).

- **--print-input-events**

  List input events on std::cout.

- **--screen-rotation**

  Rotate screen on Ctrl-Alt-\<Arrow\>.

- **--test-client** *\<executable\>*

  Client executable.

- **--test-timeout** *\<secs\>*

  Seconds to run before sending SIGTERM to client (default: 10).

- **-h** \[ **--help** \]

  Show this help text and exit.

## SEE ALSO

[miral-shell(1)](/miral-shell/1.md)

## AUTHOR

The Mir Display Server has been written by the Mir Server Team at Canonical Ltd.

This man page has been written for the Debian project by Mike Gabriel \<mike.gabriel@das-netzwerkteam.de\> and may be re-used by others.
