Installation
Lancez atlaswm imbriqué dans une fenêtre pour le développement, ou installez le flake et choisissez-le à votre greeter comme vraie session GPU.
Sur cette page
Il y a deux façons de lancer atlaswm, et vous utiliserez les deux : imbriqué dans une fenêtre sous votre compositeur actuel (la voie de développement quotidienne), et comme session DRM/KMS autonome directement sur le GPU (ce que vous utilisez au quotidien). Même binaire, même config — le backend est choisi au lancement.
Imbriqué (voie de développement)
La façon la plus rapide de l'essayer. atlaswm s'ouvre comme une fenêtre sous votre
compositeur Wayland existant (Hyprland, sway, GNOME, …) et y exécute le tout :
tuilage, plans, zoom, l'ensemble. Mod vaut Alt par défaut en imbriqué (l'hôte
possède Super), donc il n'entre jamais en conflit avec les raccourcis de votre
hôte.
Avec les flakes Nix :
nix develop -c cargo run -p atlaswm # ouvre la fenêtre du compositeur imbriqué
nix develop -c cargo test --workspace # le contrôle des tests
nix develop vous place dans le shell de développement avec la chaîne d'outils
Rust et les bibliothèques système dont Smithay a besoin (libinput, libxkbcommon,
udev, EGL/GBM, …).
La disposition du clavier suit les variables d'environnement XKB standard tant que vous n'en définissez pas une dans la config :
XKB_DEFAULT_LAYOUT=fr nix develop -c cargo run -p atlaswm # azerty
Le terminal lancé par Alt+Return est $ATLASWM_TERM, avec repli sur
foot / alacritty / kitty / weston-terminal.
Testez d'abord en imbriqué, toujours. Le rendu, les vrais clients et la sensation d'entrée ne peuvent pas être testés unitairement — le lancer sous votre compositeur actuel est la façon de le voir fonctionner, sans aucun risque pour votre session.
Test rapide de session TTY
Avant de l'installer comme session de greeter, prouvez que le backend DRM
fonctionne sur votre matériel. scripts/test-drm.sh arrête votre gestionnaire
d'affichage, lance atlaswm sur le GPU, et restaure le gestionnaire d'affichage à
sa sortie :
scripts/test-drm.sh # 120 s ; passez un nombre pour plus long, ex. 300
Lancez-le depuis un VT séparé (Ctrl+Alt+F3), pas depuis votre bureau.
Sortez avec Mod+Shift+e (quitter), Ctrl+C, ou un changement de VT ; il sort
aussi automatiquement après le délai, donc vous ne pouvez pas rester coincé.
Installer comme session de greeter (flake NixOS)
Le flake expose un paquet qui installe le binaire atlaswm plus une entrée
share/wayland-sessions/atlaswm.desktop (son Exec est atlaswm --session),
avec les bibliothèques d'exécution que Smithay charge dynamiquement (dlopen)
incluses. Ajoutez-le comme entrée de flake et placez-le sur sessionPackages :
# entrées du flake :
inputs.atlaswm.url = "github:elfangor/atlaswm";
# dans votre configuration NixOS :
services.displayManager.sessionPackages = [
inputs.atlaswm.packages.${pkgs.system}.default
];
Reconstruisez, puis choisissez atlaswm à votre greeter. Pour juste construire le binaire sans installer une session :
nix build .#atlaswm # → ./result/bin/atlaswm
Sur une vraie session, mod "auto" résout Mod en Super — donc
Super+Return ouvre un terminal, Super+h/j/k/l déplace le focus,
Super+Shift+e quitte.
Le wrapper de session
Le atlaswm installé est un wrapper qui définit l'identité de session XDG
(XDG_CURRENT_DESKTOP=atlaswm et compagnie) et pointe LD_LIBRARY_PATH vers les
bibliothèques d'exécution avant d'exécuter le vrai compositeur avec --session.
Cette identité de session importe pour les portails (c'est ce qui route le partage
d'écran vers le bon backend — voir Dépannage). Le
wrapper redirige aussi la sortie d'erreur de la session vers
$XDG_STATE_HOME/atlaswm/session.log (plus .old) pour que vous ayez un journal
à lire quand quelque chose se comporte mal.
Notes NVIDIA
atlaswm est développé et utilisé au quotidien sur une NVIDIA RTX 3080 (Ampere)
avec les modules noyau nvidia-open — le backend DRM fonctionne sur cette carte
précise. L'EGL de NVIDIA est fourni par le pilote système via
/run/opengl-driver ; aucun wrapping nixGL n'est nécessaire dans la session.
nvidia-drm.modeset=1 devrait déjà être défini si vous exécutez un compositeur
Wayland aujourd'hui. Si les clients GL ne démarrent pas avec des erreurs
d'allocation EGL, voyez la section NVIDIA du
Dépannage.
Astuce thème de curseur
Le backend DRM dessine son propre curseur (le backend imbriqué laisse l'hôte le
dessiner), chargeant le thème XCursor depuis XCURSOR_THEME / XCURSOR_SIZE. Si
le curseur ressemble à une flèche X par défaut, définissez ces variables
d'environnement sur votre thème (par ex. un curseur catppuccin) dans
l'environnement de votre session pour que le compositeur le trouve.
Ce que vous obtenez dans les deux cas
Le tuilage sur un réservoir de plans infinis (colonnes, rangées, onglets, divisions récursives), le flottant, le plein écran, le déplacement en X/Y, le redimensionnement clavier et souris, une échelle de zoom se terminant par un aperçu fit-plane, wlr-layer-shell pour les barres/panneaux (waybar, eww, fuzzel), XWayland, le partage d'écran — tout configurable, tout rechargé à chaud.
À suivre : le premier lancement, puis la configuration.