Das Phoenix-Projekt entwickelt einen modernen X-Server, der in der Programmiersprache Zig geschrieben ist.

Im Rahmen des Phoenix-Projekts wurde der Versuch unternommen, einen neuen X-Server von Grund auf neu zu erstellen, der keine Technologien des X.org Servers nutzt und darauf abzielt, eine moderne Alternative zu schaffen, die das X11-Protokoll erweitert und Möglichkeiten zur Kompatibilität mit Wayland bietet. In der aktuellen Entwicklungsphase ist Phoenix noch nicht für den alltäglichen Einsatz bereit, ermöglicht jedoch bereits die Arbeit mit einfachen Anwendungen, die zur Grafikausgabe GLX, EGL oder Vulkan verwenden, während Phoenix über einen bestehenden X-Server installiert ist. Der Code ist in Zig geschrieben und wird unter der GPLv3-Lizenz verbreitet.

Phoenix hat nicht die Absicht, die gesamte Funktionalität des X11-Protokolls, die im X.org Server verfügbar ist, zu implementieren und ältere Hardware zu unterstützen. Stattdessen wird geplant, nur grundlegende Operationen hinzuzufügen, die in realen Anwendungen nachgefragt werden, anstatt die vollständige Unterstützung der X11-Protokollelemente für die Arbeit mit Schriftarten zu bieten. Anstatt die klassischen X.Org-Grafiktreiber zu unterstützen, wird Linux DRM (Direct Rendering Manager) und Mesa GBM (Generic Buffer Management) zur Grafikausgabe verwendet.

Es wird erwartet, dass eine reduzierte Funktionalität die Ausführung gängiger Anwendungen, selbst derjenigen, die GTK2 nutzen, nicht beeinträchtigt. Dieser Ansatz wird die Implementierung erheblich vereinfachen, während die Kompatibilität mit Programmen, die in den letzten 20 Jahren veröffentlicht wurden, erhalten bleibt und gleichzeitig die Nutzung auf Hardware, die nicht älter als 15-20 Jahre ist, gewährleistet wird.

Im X11-Protokoll werden neue Erweiterungen geplant, die moderne Trends berücksichtigen, wie HDR-Unterstützung, korrekte Unterstützung von Mehrmonitor-Konfigurationen (getrennte Framebuffer für jeden Monitor), die Möglichkeit, DPI in Bezug auf die Monitore anzugeben, adaptive Aktualisierungsfrequenz (VRR) und Schutz vor Tearing. In Phoenix wurde auch das Verhalten bei der Verarbeitung von Zeichenfolgen geändert – standardmäßig wird UTF-8 verwendet, während ISO Latin-1 nur bei ausdrücklicher Angabe dieser Kodierung zur Anwendung kommt.

Um die Sicherheit der Anwendung in Phoenix zu erhöhen, werden die Prozesse standardmäßig voneinander isoliert und können nur nach einer ausdrücklichen Bestätigung der Berechtigungen durch einen speziellen Dialog oder bei der Ausführung eigener Rechte interagieren und auf fremde Fenster oder Eingabeveranstaltungen zugreifen. Um die Kompatibilität mit älteren X11-Clients zu gewährleisten, werden anstelle von Fehlermeldungen bei fehlenden Berechtigungen leere Daten übertragen. Globale Tastenkombinationen funktionieren nur, wenn die Modifikatortaste gedrückt gehalten wird oder spezielle Berechtigungen erteilt werden.

Für Anwendungen, die nur Wayland unterstützen, plant man, eine integrierte Unterstützung dieses Protokolls zu implementieren oder externe Schichten wie 12to11 zu verwenden.

Quelle: opennet.ru

Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen 🔥 Zuverlässiges Webhosting mit DDoS-Schutz, VPS- und VDS-Server kaufen | ProHoster