miral-s...mpositor(1)
π NAME π
miral-system-compositor β the Mir Display Server system compositor, bestie edition β¨
(also known as the Mir Display Server Demo Application manual, if u were wondering what that lil miral-s...mpositor(1) header thing was about π)
πΈ SYNOPSIS πΈ
miral-system-compositor [options]
β¨ DESCRIPTION β¨
okay so listen. miral-system-compositor is the thing u run when u wanna run miral-shell or miral-kiosk nested β and, if u need it, under a different user ID β on top of a Wayland based desktop session. it's giving "compositor inside a compositor", iconic honestly π
u can tweak how the Mir system compositor starts up in like three different ways, and here they all are:
- Command-line options: e.g.
"--host-socket=/tmp/mir_socket". - Environment variables: take the long form of the command line option, Capitalise it, prefix it with
"MIR_SERVER_"and put"_"where the-was. E.g."MIR_SERVER_HOST_SOCKET=/tmp/mir_socket". no cap, that's the whole trick π¦ - Config file entries: just use the long form command line options straight up in the config file. E.g.
"--host-socket=/tmp/mir_socket".
the config file (mir/mir-system-compositor.config) gets located via the XDG Base Directory Specification. so it's looking at $XDG_CONFIG_HOME or $HOME/.config, followed by $XDG_CONFIG_DIRS. she knows where she lives π
π OPTIONS π
here's the full menu bestie, don't skip a single one, i know it's long but we're gonna get through it together π«Ά
--host-socket <socket-filename>β the host socket filename. that's it, that's the whole vibe.-f [ --file ] <filename>β the socket filename. default is$XDG_RUNTIME_DIR/mir_socketor/tmp/<UID_NUMBER>-runtime-dir/mir_socket. pick ur home, queen π--no-fileβ do not hand out a socket filename for client connections. she's booked and busy, no new clients today π--arw-fileβ sets socket file permissions to globally read-writeable (equivalent tochmod a=rw). everybody gets a key π-p [ --prompt-file ]β provide a"..._trusted"filename for prompt helper connections.--platform-graphics-lib <platform_library>β the library to use for platform graphics support (default: autodetect). let her figure it out herself, she's smart β--platform-input-lib <input_library>β the 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). yes the multi-arch thing is a placeholder, don't @ me π-i [ --enable-input ] {0,1}β enable input (default:1, meaning: enabled). she's listening π--compositor-report {log,lttng,off} (=off)β compositor reporting, either oflog,lttngoroff(default:off).--connector-report {log,lttng,off}β how to handle the Connector report, either oflog,lttngoroff(default:off).--display-report {log,lttng,off}β how to handle the Display report, either oflog,lttngoroff(default:off).--input-report {log,lttng,off}β how to handle to Input report, either oflog,lttngoroff(default:off).--legacy-input-report {log,off}β how to handle the Legacy Input report, either oflogoroff(default:off).--seat-report {log,off}β how to handle to Seat report, either oflogoroff(default:off).--session-mediator-report {log,lttng,off}β how to handle the SessionMediator report, either oflog,lttngoroff(default:off).--msg-processor-report {log,lttng,off}β how to handle the MessageProcessor report, either oflog,lttngoroff(default:off).--scene-report {log,lttng,off}β how to handle the scene report, either oflog,lttngoroff(default:off).--shared-library-prober-report {log,lttng,off}β how to handle the SharedLibraryProber report, either oflog,lttngoroff(default:log). look at her being the only one defaulting tolog, main character energy fr fr π--shell-report {log,off}β how to handle the Shell report, either oflogoroff(default:off).--composite-delay <msecs>β compositor frame delay in milliseconds (like, how long to wait for new frames from clients before compositing). higher values = lower latency, but highkey risky, she might start frame skipping on u π. a negative value means decide automatically (default:0).--name <name>β when nested, the name Mir uses when registering with the host. her government name π--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). skipping the middleman, efficiency queen π--offscreenβ render to offscreen buffers instead of the real outputs. not everything needs to be perceived bestie π¦--enable-touchspotsβ display visualization of touchspots (e.g. for screencasting). so ur viewers can see where u tapped π--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). graceful girlie under pressure β¨--debugβ enable extra development debugging. heads up tho: this is only interesting for people doing Mir server or client development. if that's not u, this is not ur moment π--enable-mirclientβ enable the deprecated mirclient socket (for running old clients). deprecated!! she's a legacy queen, use with awareness π--console-provider arg (=auto)β console device handling, i.e. how Mir handles console-related tasks (device handling, VT switching, etc.). the possible values are:logindβ use logindvtβ use the Linux VT subsystem. Requires root privileges. ok so this one's serious, no cap π₯noneβ support no console-related tasks. useful for nested platforms which do not need raw device access and which don't have a VT conceptautoβ detect the appropriate provider.
--vt {0,1}β VT to run on, or0to use the current one (default:0).
using this option requires --console-provider=vt. no VT provider, no VT option, that's the rule π
--bypass {0,1}β[platform-specific]utilize the bypass optimization for fullscreen surfaces (default:1).--x11-output <sizes>β[mir-on-X specific]colon separated list ofWIDTHxHEIGHTsizes 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. the entourage arriving with her π--env-hacks <env-vars>β colon separated list of environment variable settings.--disable-quitβ disableCtrl-Alt-Shift-BkSpto quit. she simply will not be leaving, sorry π«Ά-h [ --help ]β show help text and exit. the classic, the icon, the moment β¨
π SEE ALSO π
miral-shell(1), miral-kiosk(1) β go say hi to the sisters, they're all in the same friend group π¦
π AUTHOR π
the Mir Display Server has been written by the Mir Server Team at Canonical Ltd. legends, honestly π
and 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. slay, Mike, we love a reusable license moment π
and that's the whole page bestie!! version 1.8.0, dated April 2020, from the Mir Display Server Demo Application manual. go forth and nest ur compositors responsibly πβ¨π
π¦ where this page comes from
- debian bookworm: mir-demos 2.12.1-1 Β· GPL-3-or-GPL-2
- debian trixie: mir-demos 2.20.2-2 Β· LGPL-3-or-LGPL-2
- ubuntu noble: mir-demos 2.14.1-4.1ubuntu3 Β· GPL-3-or-GPL-2
- ubuntu questing: mir-demos 2.20.2-2ubuntu4
- ubuntu resolute: mir-demos 2.25.2-5 Β· LGPL-3-or-LGPL-2
- ubuntu stonking: mir-demos 2.28.0-4 Β· LGPL-3-or-LGPL-2
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms