Linux: Wie Kmscon virtuelle Textkonsolen modernisiert

Altlasten loswerden, Sicherheit verbessern und mehr Flexibilität: Das verspricht der Wechsel zu Kmscon, eine neue Technik für Virtual Terminals.

vorlesen Druckansicht
Pinguin hängt einen neuen Bilderrahmen mit Konsole auf, alter versiffter Bilderrahmen steht hochkant an der Wand

(Bild: Jessica Nachtigall / KI/ heise medien)

Lesezeit: 8 Min.
Von
  • Thorsten Leemhuis
Inhaltsverzeichnis

Startmeldungen und klassische Textkonsolen landen bei Linux wahrscheinlich bald ganz anders auf dem Schirm. Das soll einigen altbackenen und unsicheren Techniken aus der Anfangszeit des Kernels endlich den Garaus machen. Ähnlich wie Wayland ändert dieser über ein Jahrzehnt vorbereiteter Wandel oberflächlich wenig, erfordert zugleich aber Umdenken von Anwendern. Allerdings nur jenen, die damit in Berührung kommen – etwa wenn Kernel oder Desktop-Umgebungen nicht starten.

Einen der letzten und zugleich entschiedenen Schritte des Wandels plant gerade Fedora als erste große Distribution. Nicht mehr der Kernel soll auf Tastenkombinationen wie Strg+Alt+F3 die Virtual Terminals (VT) erzeugen, sondern das Programm Kmscon soll die „Textkonsolen“ bereitstellen. Ursprünglich sollte der Wechsel schon in der im April erwarteten Version 44 vollzogen werden, wurde aber Mitte Februar ohne Nennung von Gründen auf Fedora 45 verschoben, was voraussichtlich im Oktober 2026 erscheint.

Mehr zu Linux

Bei x86-Systemen war die Bezeichnung Textkonsole früher adäquat, denn da hat bei VTs tatsächlich die Grafikkarte die Zeichen gerendert und ausgegeben, die sie vom Kernel erhielt. Etwa Log-Meldungen des Kernels beim Systemstart oder bei VTs die von Getty gelieferten Zeichen sowie von darüber gestarteten Shells und Anwendungen.

Videos by heise

Bei modernen Systemen rendert hingegen meist der Kernel die VTs. Dazu nutzt er Framebuffer-Konsolen (Fbcon), die mit geeigneten Fonts auch Unicode-Zeichen darstellen können. Dazu braucht der Kernel aber zumindest einen rudimentären Grafiktreiber. Auf 64-Bit-x86-Systemen ist das schon lange fast immer einer, der auf dem Direct Rendering Manager (DRM) des Kernels aufbaut; zumeist ein nativer Treiber wie Amdgpu, i915 oder Nouveau, manchmal aber auch der generische Simpledrm, der bei EFI-Systemen das Bild via Graphics Output Protocol (GOP) ausgibt. Fbcon nutzt DRM-Treiber allerdings nur über eine Emulationsschicht für Frame-Buffer-Geräte (Fbdev). Auf diesen älteren Ansatz für Kernel-Grafiktreiber haben viele Embedded-Systeme noch lange gesetzt, doch auch dort haben sich DRM-Treiber jüngst durchgesetzt.

Die Kern-Crew hinter DRM hätte Fbdev und Fbcon am liebsten schon vor Jahren eliminiert. Beide sind Jahrzehnte alt und weisen durch strukturelle Schwächen wahrscheinlich zahlreiche Sicherheitslücken auf. Eine davon wurde vor Jahren bekannt und war nicht ohne Weiteres lösbar. Die Entwickler haben sie daher mehr umschifft denn beseitigt, indem sie unter anderem die Fbcon-Funktion zum Scrollen mit den Tastenkombinationen Umschalt+Bild-auf und -ab (Scrollback) bei Linux 5.9 deaktiviert haben – zum Ärger von so manch altem Linux-Hasen.

Dieses Schicksal ereilte aufgrund von Lücken damals auch den Fbdev-Code, der die Bildausgabe mit dem Grafikkern beschleunigen konnte. Die „Fbdev Acceleration“ kam zwar zurück, allerdings muss man sie wegen ihrer bekannten Schwächen explizit beim Übersetzen des Kernels aktivieren. In den meisten Mainstream-x86-Distributionen ist die Ausgabebeschleunigung wegen potenzieller Sicherheitsgefahren bewusst nicht eingeschaltet. Dort ist die Funktion ohnehin nicht sonderlich relevant, denn kaum einer der gängigen DRM-Treiber unterstützt sie. Bei modernen Systemen geben VTs große Textmengen in der Standardkonfiguration daher vielfach nur träge aus.