PHOC(1)
π PHOC(1) β aka the manual page bestie π
okay so welcome to phoc(1), the manual page for phoc β a Wayland compositor for mobile devices π«Ά this is the whole thing, every flag, every env var, no skips, no cap.
β¨ NAME β¨
phoc β a Wayland compositor for mobile devices π±π
πΈ SYNOPSIS πΈ
phoc [OPTIONS...]
π¦ DESCRIPTION π¦
So phoc is a Wayland compositor for mobile devices, and it's built on the wlroots library. That's the whole vibe. It's super often paired up with the phosh mobile shell β they're like the iconic duo π β but here's the thing, phoc works perfectly fine on its own too. It does not need phosh to function. Main character energy fr fr. π
π OPTIONS π
-h,--helpβ prints the help and then dips out (exits).-C,--configFILE β the path to the configuration file. default isphoc.ini.-E,--execEXECUTABLE β the executable (session) that gets run at startup, like your little launch-day bestie.--socketβ the Wayland socket to listen on for client connections π-S,--shellβ whether to expect a shell to attach.-X,--xwaylandβ whether to start XWayland.--no-xwaylandβ whether to disable XWayland.--versionβ shows version information π
π CONFIGURATION π
Configuration gets read from phoc.ini, hwdb, gsettings and $XDG_STATE_HOME/outputs.gvdb. That's four sources, she's reading all of them, periodt.
- For the deets on output configuration β see
phoc.ini(5) - For the deets on wakeup key configuration via hwdb β see
gmobile.udev(5) - For the deets on the gsettings that phoc handles β see
phoc.gsettings(5) - For the deets on output states β see
phoc-outputs-states
π ENVIRONMENT VARIABLES π
phoc honors the following environment variables, bestie:
WLR_BACKENDSβ the backends thewlrootslibrary should use when phoc launches. See <https://gitlab.freedesktop.org/wlroots/wlroots/-/blob/master/docs/env_vars.md>WLR_RENDERERβ the renderer thewlrootslibrary should use when phoc launches. See <https://gitlab.freedesktop.org/wlroots/wlroots/-/blob/master/docs/env_vars.md>G_MESSAGES_DEBUG,G_DEBUGand other environment variables supported by glib. <https://docs.gtk.org/glib/running.html>PHOC_DEBUGβ a comma separated list of debugging flags. Some of them can also be toggled at runtime, see DBUS INTERFACE below. πhelpβ show a list of available debug flagsauto-maximizeβ maximize toplevelsdamage-trackingβ debug damage tracking (can be toggled at runtime)damage-wholeβ damage the whole output on each frame (can be toggled at runtime)fake-builtinβ handle virtual outputs like builtin displaysno-quitβ don't quit when the session endstouch-pointsβ debug touch points (can be toggled at runtime)layer-shellβ debug layer shellcutoutsβ debug display cutouts and notches (can be toggled at runtime)disable-animationsβ disable animationsforce-shell-revealβ always reveal the shell over fullscreen appsignore-stateβ ignore any saved output state
π§ UDEV PROPERTIES π§
besides the udev properties for wakeup keys that are documented over in gmobile.udev(5), phoc also uses ID_INPUT_KEYBOARD to identify hardware keyboards β¨οΈ. and yeah β you can use hwdb to override these. slay.
π DBUS INTERFACE π
phoc lets you enable and disable certain debug flags at runtime via DBus. so iconic of her.
to see a list of the available flags, use:
busctl --user introspect mobi.phosh.Phoc.DebugControl /mobi/phosh/Phoc/DebugControl mobi.phosh.Phoc.DebugControl
to toggle individual values:
busctl --user set-property mobi.phosh.Phoc.DebugControl /mobi/phosh/Phoc/DebugControl mobi.phosh.Phoc.DebugControl TouchPoints b true
busctl --user set-property mobi.phosh.Phoc.DebugControl /mobi/phosh/Phoc/DebugControl mobi.phosh.Phoc.DebugControl DamageTracking b true
busctl --user set-property mobi.phosh.Phoc.DebugControl /mobi/phosh/Phoc/DebugControl mobi.phosh.Phoc.DebugControl LogDomains as 1 all
busctl --user set-property mobi.phosh.Phoc.DebugControl /mobi/phosh/Phoc/DebugControl mobi.phosh.Phoc.DebugControl LogDomains as 2 phoc-seat phoc-layer-surface
β οΈ important bestie: the flags are not considered stable API, so they can change between releases. don't build your whole life on them, iykyk π
β See also β
phoc.ini(5) phoc.gsettings(5) phoc-outputs-states(1) gmobile.udev(5) phosh(1) busctl
and that's the whole page!! π the footer on this one is just phoc() β like, no version number, no date, that's it, she's mysterious π but you got every option, every env var, every flag, all of it. ur so welcome, go be a compositor girlboss ππ
π¦ where this page comes from
- arch rolling: phoc 0.57.0-2 Β· GPL-3.0-or-later
- ubuntu stonking: phoc 0.58.0-1 Β· GPL-3.0-or-later
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms