Benutzerumgebung Sway 1.10 veröffentlicht, basierend auf Wayland

Nach 8 Monaten Entwicklung wurde die Version 1.10 des Composite Managers Sway veröffentlicht, die unter Verwendung des Wayland-Protokolls entwickelt wurde und mit dem Kachel-Fenster-Manager i3 sowie der i3bar kompatibel ist. Der Code des Projekts ist in C geschrieben und steht unter der MIT-Lizenz. Das Projekt zielt auf die Nutzung in Linux und FreeBSD ab.

Sway ermöglicht das Anordnen von Fenstern auf dem Bildschirm nicht rÀumlich, sondern logisch. Die Fenster werden zu einem Raster angeordnet, das den Bildschirmraum optimal nutzt und es ermöglicht, Fenster nur mit der Tastatur schnell zu manipulieren. Die KompatibilitÀt mit i3 wird auf Befehls-, Konfigurationsdatei- und IPC-Ebene gewÀhrleistet, was es ermöglicht, Sway als transparente Alternative zu i3 zu verwenden, die Wayland anstelle von X11 nutzt.

Um eine vollwertige Benutzerumgebung einzurichten, werden begleitende Komponenten angeboten: swayidle (Hintergrundprozess mit Implementierung des Energiesparmodus), swaylock (Bildschirmschutz), mako (Benachrichtigungsmanager), grim (Screenshot-Erstellung), slurp (Bereichsmarkierung auf dem Bildschirm), wf-recorder (Videoaufnahme), waybar (Anwendungsleiste), virtboard (Bildschirmtastatur), wl-clipboard (Zwischenablage-Management), wallutils (Desktop-Hintergrundverwaltung).

Sway entwickelt sich als modulares Projekt, das auf der Bibliothek wlroots aufbaut, in die alle grundlegenden Primitiven zur Organisation des Kompositionsmanagers ausgegliedert wurden. Wlroots umfasst Backends zur Abstraktion des Zugriffs auf den Bildschirm, EingabegerĂ€te, Rendering ohne direkten Zugriff auf OpenGL, Interaktion mit KMS/DRM, libinput, Wayland und X11 (eine Schicht wird bereitgestellt, um X11-Anwendungen ĂŒber Xwayland auszufĂŒhren). Neben Sway wird die Bibliothek wlroots aktiv auch in anderen Projekten eingesetzt. Neben der UnterstĂŒtzung fĂŒr C/C++ werden auch Bindings fĂŒr die Sprachen Scheme, Common Lisp, Go, Haskell, OCaml, Zig, Python und Rust bereitgestellt.

In der neuen Version:

  • Neue Funktionen der Bibliothek wlroots 0.18 wurden implementiert, wie die UnterstĂŒtzung von Wayland-Protokollen wie linux-drm-syncobj-v1, alpha-modifier-v1, ext-foreign-toplevel-list-v1 und ext-transient-seat-v1 sowie die Möglichkeit, ICC-Farbprofile fĂŒr die Grafik-API Vulkan zu verwenden, UnterstĂŒtzung fĂŒr GPU-Reset-Operationen und eine neue Status-less Rendering API, die es ermöglicht, Informationen zu Pixel-Puffern von der GPU abzurufen.
  • Der Rendering-Code wurde mit der in wlroots hinzugefĂŒgten API auf Basis eines Szenengraphen neu geschrieben. Es wird festgestellt, dass die Überarbeitung eine Leistungssteigerung ermöglichte.
  • Die Wiederherstellung des Zustands nach einem GPU-Reset wurde sichergestellt.
  • Ein Befehl zur Nutzung von ICC-Profilen fĂŒr AusgabegerĂ€te wurde hinzugefĂŒgt.
  • Der Algorithmus zur Konfiguration von AusgabegerĂ€ten wurde verbessert.
  • Die Möglichkeit wurde geschaffen, die Erweiterung des Protokolls „tearing-control-v1“ zu verwenden, um die vertikale Synchronisation (VSync) mit Frame-Buffer-Gelegenheitsimpulsen in Vollbildanwendungen zu deaktivieren, der zum Schutz vor Tearing verwendet wird. In Multimedia-Anwendungen sind Artefakte aufgrund von Tearing unerwĂŒnscht, wĂ€hrend in Spielen Artefakte toleriert werden können, solange ihre BekĂ€mpfung nicht zu zusĂ€tzlichen Verzögerungen fĂŒhrt.
  • Die UnterstĂŒtzung der Protokollerweiterung „ext-transient-seat-v1“ wurde hinzugefĂŒgt, um temporĂ€re unabhĂ€ngige Sitzungen (Seat) zu erstellen, die fĂŒr die Verwendung mit virtuellen EingabegerĂ€ten ausgelegt sind. Zum Beispiel kann in Anwendungen zur Verbindung mit einem entfernten Desktop, wie dem VNC-Client wayvn, fĂŒr jeden Benutzer eine separate Sitzung mit einer virtuellen Tastatur und Maus erstellt werden.
  • Die UnterstĂŒtzung der Protokollerweiterung „ext-foreign-toplevel-list-v1“ wurde hinzugefĂŒgt, um Informationen ĂŒber OberflĂ€chen zu erhalten, die auf der obersten Ebene (toplevel) platziert sind. Das Protokoll ermöglicht es, Fenster ĂŒber anderem Inhalt zu verankern, beispielsweise zur Implementierung von Panels und Fenster-Schaltern.
  • Die UnterstĂŒtzung fĂŒr die fĂŒnfte Version des Protokolls „xdg-shell“ wurde hinzugefĂŒgt, das Möglichkeiten zur Änderung der Position von Popup-Fenstern sowie zur Implementierung von Minimierungs- und ErweiterungsschaltflĂ€chen bei der Dekoration von Fenstern auf der Client-Seite (CSD) bietet.
  • Das Paket dmenu_run, das es ermöglicht, dmenu als Anwendungsstart-Interface zu verwenden, wurde aus den StandardabhĂ€ngigkeiten entfernt.
  • In die Standardkonfigurationsdatei wurde die Nutzung von pactl zur Anpassung von Tastenkombinationen fĂŒr die LautstĂ€rke und Helligkeit sowie zur Aufrufung des Tools grim zur Erstellung von Screenshots aufgenommen.
  • Die UnterstĂŒtzung des veralteten Wayland-Protokolls wl_drm wurde standardmĂ€ĂŸig deaktiviert, an dessen Stelle tritt das Protokoll linux-dmabuf-v1.
  • Die Build-Option zur Aktivierung der UnterstĂŒtzung fĂŒr Xwayland wurde entfernt (die Aktivierung von Xwayland hĂ€ngt jetzt von den Build-Einstellungen von wlroots ab).

Benutzerumgebung Sway 1.10 veröffentlicht, basierend auf Wayland


Quelle: opennet.ru
60GB SSD 8Gb DDR4