rss logo

Comment configurer un affichage multi-écran avec Sway sous Wayland

Configuration multi-écran avec Sway sous Wayland en mode étendu avec deux écrans

Sway est un compositeur de fenêtres en mosaïque léger et performant pour Wayland. Conçu dans un esprit minimaliste, il met l’accent sur la performance, la simplicité et un développement actif.

Je l’utilise personnellement sur une machine plus ancienne fonctionnant sous Debian. Ma configuration comprend deux écrans avec des résolutions différentes : 1680x1050 et 1920x1080. Dans ce guide, je vous explique comment configurer un affichage multi-écran avec Sway et activer le mode étendu.

Identifier vos écrans sous Sway

La première étape consiste à identifier vos écrans. Pour configurer un affichage double écran avec Sway sous Wayland, vous devez déterminer la résolution et le type de connexion (VGA, DisplayPort, HDMI, etc.) de chaque moniteur.

  • Examinons l’exemple de configuration suivant :
    • Un écran situé à gauche, connecté en DisplayPort, avec une résolution de 1680x1050.
    • Un écran situé à droite, connecté en VGA, avec une résolution de 1920x1080.

L’objectif est d’étendre l’affichage sur les deux écrans en mode étendu.

Exemple de configuration multi-écran avec Sway : DP-1 en 1680x1050 à gauche et VGA-1 en 1920x1080 à droite en mode étendu
Exemple de disposition double écran avec Sway : DP-1 (1680×1050) positionné à gauche et VGA-1 (1920×1080) à droite en mode étendu.
  • Utilisez la commande swaymsg pour afficher les informations nécessaires. Les éléments les plus importants sont la résolution maximale et le nom de la sortie (output), affiché à côté du libellé Output :
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

Configurer le mode étendu avec Sway

Maintenant que nous avons récupéré les informations nécessaires sur les écrans, nous pouvons configurer Sway afin d’étendre l’affichage sur les deux moniteurs.

  • Vous pouvez utiliser la commande swaymsg pour appliquer la configuration de manière temporaire. Commencez par définir l’écran 1680x1050 (DP-1) comme écran de gauche à la position 0 0 :
john@debian:~$ swaymsg output DP-1 resolution 1680x1050 position 0 0
  • Configurez ensuite le second écran (VGA-1) en résolution 1920x1080 et positionnez-le à droite du premier :
john@debian:~$ swaymsg output VGA-1 resolution 1920x1080 position 1680 0

La valeur de position horizontale (1680) correspond à la largeur du premier écran. Étant donné que DP-1 possède une largeur de 1680 pixels, placer le second écran à la position 1680 0 garantit qu’il commence exactement là où le premier se termine.

De manière générale, lorsque vous disposez des écrans côte à côte en affichage multi-écran sous Wayland, la position X du second écran doit correspondre à la largeur de l’écran placé à sa gauche. La valeur Y reste à 0 lorsque les deux écrans sont alignés en haut.

  • Une fois la configuration validée, rendez-la permanente en modifiant le fichier ~/.config/sway/config et en ajoutant les directives output correspondantes :
### 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