How to Configure a Multi-Monitor Setup in Sway
- Last updated: Feb 23, 2026
Sway is a lightweight and efficient tiling compositor for Wayland. Minimalist by design, it focuses on performance, simplicity, and active development.
I personally use it on an older machine running Debian. My setup includes two monitors with different resolutions: 1680x1050 and 1920x1080. In this guide, I will show you how to configure a multi-monitor setup in Sway and enable extended display mode.
Identify Your Screens
The first step is to identify your screens. To configure a dual-monitor setup in Sway, you need to determine the resolution and connection type (VGA, DisplayPort, HDMI, etc.) of each monitor.
- Let’s look at the following example configuration:
- A monitor on the left connected via DisplayPort with a resolution of 1680x1050.
- A monitor on the right connected via VGA with a resolution of 1920x1080.
We want to extend the display across both screens.
- Use the
swaymsgcommand to display the required information. The most important details are the maximum resolution and the output name, which appears next to the Output label:
john@debian:~$ swaymsg -t get_outputs
Output DP-1 'Dell Inc. DELL P2210'
Current mode: 1680x1050 @ 59.883 Hz
Power: on
Position: 0,0
Scale factor: 1.000000
Scale filter: nearest
Subpixel hinting: unknown
Transform: normal
Workspace: 1
Max render time: off
Adaptive sync: disabled
Allow tearing: no
Available modes:
1680x1050 @ 59.883 Hz
1280x1024 @ 75.025 Hz
1280x1024 @ 60.020 Hz
1152x864 @ 75.000 Hz
1024x768 @ 75.029 Hz
1024x768 @ 60.004 Hz
800x600 @ 75.000 Hz
800x600 @ 60.317 Hz
640x480 @ 75.000 Hz
640x480 @ 59.940 Hz
720x400 @ 70.082 Hz
Output VGA-1 'Iiyama North America PLX2783H' (focused)
Current mode: 1920x1080 @ 60.000 Hz
Power: on
Position: 1680,0
Scale factor: 1.000000
Scale filter: nearest
Subpixel hinting: unknown
Transform: normal
Workspace: 2
Max render time: off
Adaptive sync: disabled
Allow tearing: no
Available modes:
1920x1080 @ 60.000 Hz
1600x1200 @ 60.000 Hz
1680x1050 @ 59.954 Hz
1280x1024 @ 75.025 Hz
1280x1024 @ 60.020 Hz
1440x900 @ 59.887 Hz
1280x960 @ 60.000 Hz
1152x864 @ 75.000 Hz
1152x720 @ 59.967 Hz
1024x768 @ 75.029 Hz
1024x768 @ 60.004 Hz
832x624 @ 74.551 Hz
800x600 @ 75.000 Hz
800x600 @ 60.317 Hz
640x480 @ 75.000 Hz
640x480 @ 59.940 Hz
720x400 @ 70.082 Hz
Extend the Display
Now that we have gathered the required screen information, we can configure Sway to extend the display across both monitors.
- You can use the
swaymsgcommand to temporarily apply the configuration. First, set the1680x1050monitor (DP-1) as the left display at position0 0:
john@debian:~$ swaymsg output DP-1 resolution 1680x1050 position 0 0
- Then configure the second monitor (VGA-1) with a
1920x1080resolution and position it to the right of the first screen:
john@debian:~$ swaymsg output VGA-1 resolution 1920x1080 position 1680 0
The horizontal position value (1680) corresponds to the width of the first monitor. Since DP-1 has a width of 1680 pixels, placing the second monitor at position 1680 0 ensures that it starts exactly where the first screen ends.
In general, when arranging monitors side by side, the X position of the second screen must match the width of the screen placed to its left. The Y value remains 0 when both monitors are aligned at the top.
- Once the configuration is working as expected, make it persistent by editing the
~/.config/sway/configfile and adding the correspondingoutputdirectives:
### Output configuration
#
# Default wallpaper (more resolutions are available in /usr/share/backgrounds/sway/)
# This is commented in Debian, because the Sway wallpaper files are in a separate
# package `sway-backgrounds`. Installing this package drops a config file to
# /etc/sway/config.d/
# output * bg /usr/share/backgrounds/sway/Sway_Wallpaper_Blue_1920x1080.png fill
#
# Example configuration:
#
# output HDMI-A-1 resolution 1920x1080 position 1920,0
#
# You can get the names of your outputs by running: swaymsg -t get_outputs
workspace 1 output DP-1 resolution 1680x1050 position 0,0
workspace 2 output VGA-1 resolution 1920x1080 position 1680,0