sway-output(5) | File Formats Manual | sway-output(5) |
NAME
sway-output - output configuration commands for sway
DESCRIPTION
You may combine output commands into one, like so:
You can get a list of output names with swaymsg -t get_outputs. You may also match any output by using the output name "*". Additionally, "-" can be used to match the focused output by name and "--" can be used to match the focused output by its identifier.
Some outputs may have different names when disconnecting and reconnecting. To identify these, the name can be substituted for a string consisting of the make, model and serial which you can get from swaymsg -t get_outputs. Each value must be separated by one space. For example:
COMMANDS
output <name> mode|resolution|res [--custom] <width>x<height>[@<rate>Hz]
To set a custom mode not listed in the list of available modes, use --custom. You should probably only use this if you know what you're doing.
Examples:
output HDMI-A-1 mode 1920x1080@60Hz
output <name> modeline <clock> <hdisplay> <hsync_start> <hsync_end> <htotal> <vdisplay> <vsync_start> <vsync_end> <vtotal> <hsync> <vsync>
Example:
output <name> position|pos <X> <Y>
Example:
output HDMI1 pos 0 1020 res 3200x1800
output eDP1 pos 1600 0 res 1920x1080
Note that the left x-pos of eDP1 is 1600 = 3200/2 and the bottom y-pos is 1020 + (1800 / 2) = 1920 = 0 + 1920
output <name> scale <factor>
output <name> scale_filter linear|nearest|smart
output <name> subpixel rgb|bgr|vrgb|vbgr|none
output <name> background|bg <file> <mode> [<fallback_color>]
output <name> background|bg <color> solid_color
output <name> transform <transform> [clockwise|anticlockwise]
output <name> disable|enable
As opposed to the power command, the output will lose its current workspace and windows.
output <name> toggle
output <name> power on|off|toggle
As opposed to the enable and disable commands, the output keeps its current workspaces and windows.
output <name> dpms on|off|toggle
output <name> max_render_time off|<msec>
When set to off, sway composites immediately after display refresh, maximizing time available for compositing.
To adjust when applications are instructed to render, see max_render_time in sway(5).
To set this up for optimal latency:
- 1.
- Launch some full-screen application that renders continuously, like glxgears.
- 2.
- Start with max_render_time 1. Increment by 1 if you see frame drops.
This setting only has an effect on Wayland and DRM backends, as support for presentation timestamps and predicted output refresh rate is required.
output <name> adaptive_sync on|off|toggle
Adaptive sync allows clients to submit frames a little too late without having to wait a whole refresh period to display it on screen. Enabling adaptive sync can improve latency, but can cause flickering on some hardware.
output <name> render_bit_depth 6|8|10
Setting higher values will not have an effect if hardware and software lack support for such bit depths. Successfully increasing the render bit depth will not necessarily increase the bit depth of the frames sent to a display. An increased render bit depth may provide smoother rendering of gradients, and screenshots which can more precisely store the colors of programs which display high bit depth colors.
Warnings: this can break screenshot/screencast programs which have not been updated to work with different bit depths. This command is experimental, and may be removed or changed in the future.
output <name> color_profile srgb|[icc <file>]
Not all renderers support this feature; currently it only works with the the Vulkan renderer. Even where supported, the application of the color profile may be inaccurate.
This command is experimental, and may be removed or changed in the future. It may have no effect or produce unexpected output when used together with future HDR support features.
output <name> allow_tearing yes|no
With immediate page flips, frames from the client are presented as soon as possible instead of synchronizing with the monitor's vblank interval (VSync).
It is recommended to set max_render_time to off. In that case a page flip happens as soon as a client updates. Otherwise, tearing will only happen if rendering takes longer than the configured milliseconds before the next display refresh.
To adjust whether tearing is allowed for specific applications, see allow_tearing in sway(5). Note that tearing will only be enabled when it's allowed for both the output and the application.
This setting only has effect when a window is fullscreen on the output.
SEE ALSO
2024-10-28 |